Latest web development tutorials

XQuery 함수

XQuery를 1.0, XPath를 2.0 및 XSLT 2.0 주 같은 라이브러리.


XQuery 함수

XQuery는 100 개 이상의 내장 함수가 포함되어 있습니다. 이러한 기능은 그래서 문자열 값, 숫자, 날짜 및 시간을 비교하여, 노드의 QName 조작 순서 조작, 부울 값에 사용될 수있다. 또한 XQuery를 당신의 자신의 함수를 정의 할 수 있습니다.


XQuery는 내장 함수

XQuery 함수 이름 공간 URI :

http://www.w3.org/2005/02/xpath-functions

기본 기능 네임 스페이스 접두사는 FN입니다.

팁 : 같은 FN로, 접두사 전화 : 자주 FN 문자열을 통해 기능 (). 그러나, FN 이후 : 네임 스페이스의 기본 접두사이고, 함수 이름은 호출 할 때 접두사를 사용할 필요가 없습니다.

당신은 완전한 "우리의 XPath 튜토리얼에서 찾을 수 있습니다 내장 XQuery 함수 참조 설명서 ."


함수 호출의 예

함수 호출은 식으로 사용될 수있다. 다음 예를 살펴 보겠습니다 :

예 1 : 요소

<name>{upper-case($booktitle)}</name>

실시 예 2 : 술어 경로 식에서

doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']

예 3 : 문을하자

let $name := (substring($booktitle,1,4))


사용자 정의 함수는 XQuery

당신이 필요한 XQuery 함수를 찾을 수없는 경우, 당신은 당신의 자신의 기능을 쓸 수 있습니다.

또는 사용자는 별도의 데이터베이스 쿼리 사용자 정의 함수를 정의 할 수 있습니다.

문법

declare function前缀:函数名($参数 AS 数据类型)
AS返回的数据类型
{
...函数代码...
}

사용자 정의 함수 참고 정보 :

  • 선언 function 키워드를 사용하십시오
  • 함수 이름은 접두어를 사용합니다
  • 데이터 유형 파라미터는 XML 스키마 형식에서 정의 된 데이터가 일반적으로 일관
  • 함수 본문은 중괄호로 묶어야합니다

쿼리 문을 사용자 정의 함수의 예에서 :

declare function local:minPrice($p as xs:decimal?,$d as xs:decimal?)
AS xs:decimal?
{
let $disc := ($p * $d) div 100
return ($p - $disc)
}

Below is an example of how to call the function above:

<minPrice>{local:minPrice($book/price,$book/discount)}</minPrice>