XQuery를 1.0, XPath는 2.0 및 XSLT 2.0 주와 같은 기능 라이브러리.
XQuery 함수
XQuery는 XPath 식에 내장되어 있습니다. XQuery를 1.0 및 XPath를 2.0은 동일한 데이터 모델을 공유하고 동일한 기능 및 연산자를 지원합니다.
또한 XQuery를 당신의 자신의 함수를 정의 할 수 있습니다.
XQuery를 데이터 유형
XQuery는 XML 스키마 1.0과 같은 데이터 유형을 공유 (XSD) .
함수 호출의 예
식이를 게재 할 수있는 위치를 함수에 대한 호출이 나타날 수 있습니다. 아래의 예를 보면 :
실시 예 1 : 소자에서
<name>{upper-case($booktitle)}</name>
예 2 : 경로 식의 조건에서
doc("books.xml")/bookstore/book[substring(title,1,5)='Harry']
예 3 : let 절에서
let $name := (substring($booktitle,1,4))
XQuery를 사용자 정의 함수
당신이 필요로하는 XQuery 함수를 찾을 수없는 경우, 당신은 당신의 자신을 작성할 수 있습니다.
사용자 정의 함수는 쿼리 또는 별도의 라이브러리에 정의 할 수 있습니다.
통사론
declare function 사용자 정의 함수에 대한 참고 사항 : - 선언 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>