XPath, XQuery 및 XSLT 함수
XPath, .
함수 참조 매뉴얼
액세스 |
|
|
이름 | 설명 |
---|---|
fn:node-name(node) | 매개변수 노드의 노드 이름을 반환합니다. |
fn:nilled(node) | 매개변수 노드를 거부할지 여부에 대한 부울 값을 반환합니다. |
fn:data(item.item,...) | 항목 시퀀스를 승인하고 원자 값 시퀀스를 반환합니다. |
| 현재 노드 또는 지정된 노드의 base-uri 속성 값을 반환합니다. |
fn:document-uri(node) | 지정된 노드의 document-uri 속성 값을 반환합니다. |
이름 | 설명 |
---|---|
| < 🎜>예: error(fn:QName('http://example.com/test', 'err:toohigh'), '오류: 가격이 너무 높습니다.')<🎜><🎜>결과: 외부에서 환경을 처리합니다. http://example.com/test#toohigh 및 "오류: 가격이 너무 높습니다"라는 문자열을 반환합니다. <🎜> |
fn:trace(value,label) | 는 쿼리를 디버깅하는 데 사용됩니다. |
수치 관련 기능
名称 | 说明 |
---|---|
fn:number(arg) | 返回参数的数值。参数可以是布尔值、字符串或节点集。 例子:number('100') 结果:100 |
fn:abs(num) | 返回参数的绝对值。 例子:abs(3.14) 结果:3.14 例子:abs(-3.14) 结果:3.14 |
fn:ceiling(num) | 返回大于 num 参数的最小整数。 例子:ceiling(3.14) 结果:4 |
fn:floor(num) | 返回不大于 num 参数的最大整数。 例子:floor(3.14) 结果:3 |
fn:round(num) | 把 num 参数舍入为最接近的整数。 例子:round(3.14) 结果:3 |
fn:round-half-to-even() | 例子:round-half-to-even(0.5) 结果:0 例子:round-half-to-even(1.5) 结果:2 例子:round-half-to-even(2.5) 结果:2 |
문자열 관련 기능
이름 | 설명 |
---|---|
fn : string(arg) | 인수의 문자열 값을 반환합니다. 매개변수는 숫자, 논리값 또는 노드 세트일 수 있습니다. 예: 문자열(314) 결과: "314" |
fn:codepoints-to-string(int,int, ...) | 코드 포인트 시퀀스를 기반으로 문자열을 반환합니다. 예: 코드포인트-문자열(84, 104, 233, 114, 232, 115, 101) 결과: 'Thérèse' |
fn:string-to-codepoints(string) | 문자열을 기반으로 일련의 코드 포인트를 반환합니다. 예: 문자열-코드 포인트("Thérèse") 결과: 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1,comp2) | 유니코드 코드 포인트 비교에 따르면 comp1의 값이 comp2의 값과 같으면 true를 반환합니다. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), 그렇지 않으면 false가 반환됩니다. |
| comp1이 comp2보다 작으면 -1을 반환합니다. comp1이 comp2와 같으면 0이 반환됩니다. comp1이 comp2보다 크면 1을 반환합니다. (사용된 비교 규칙에 따라 다름) 예: 비교('ghi', 'ghi') 결과: 0 |
fn:concat(string,string, ...) | 문자열의 연결을 반환합니다. 예: concat('XPath ','is ','FUN!') 결과: 'XPath is FUN!' |
fn:string-join((string,string,...),sep) | sep 매개 변수를 구분 기호로 사용하여 문자열 매개 변수가 연결된 후 문자열을 반환합니다. 예: string-join(('We', 'are', 'having', 'fun!'), ' ') 결과: '우리는 즐거운 시간을 보내고 있습니다!' 예: string-join(('We', 'are', 'having', 'fun!')) 결과: 'Wearehavingfun!' 예: string-join((), 'sep') 결과: '' |
| 다음부터 시작하여 지정된 값을 반환합니다. 시작 위치 하위 문자열의 길이입니다. 첫 번째 문자의 인덱스는 1입니다. len 인수가 생략되면 문자열의 시작 위치부터 끝까지 부분 문자열이 반환됩니다. 예: substring('Beatles',1,4) 결과: 'Beat' 예: substring('Beatles',2) 결과: 'eatles' |
| 지정된 문자열의 길이를 반환합니다. 문자열 인수가 없으면 현재 노드의 문자열 값 길이를 반환합니다. 예: string-length('Beatles') 결과: 7 |
| 지정된 문자열의 시작과 끝의 공백을 제거하고 내부 공백 시퀀스를 모두 하나로 바꾼 후 결과를 반환합니다. 문자열 매개변수가 없으면 현재 노드가 처리됩니다. 예: Normalize-space(' The XML ') 결과: 'The XML' |
fn:normalize-unicode( ) | 유니코드 정규화를 수행합니다. |
fn:upper-case(string) | 문자열 매개변수를 대문자로 변환합니다. 예: 대문자('The XML') 결과: 'THE XML' |
fn:lower-case( string) | 문자열 매개변수를 소문자로 변환합니다. 예: 소문자('The XML') 결과: 'the xml' |
fn:translate(string1, string2,string3) | string1의 string2를 string3으로 바꿉니다. 예: 번역('12:30','30','45') 결과: '12:45' 예: 번역('12: 30','03','54') 결과: '12:45' 예: 번역('12:30','0123','abcd') 결과: 'bc:da' |
fn:escape-uri(stringURI,esc-res) | 예: escape -uri("http://example.com/test#car", true()) 결과: "http%3A%2F%2Fexample.com%2Ftest#car" 예: escape-uri("http://example.com/test#car", false()) 결과: "http://example.com/test#car" 예: escape-uri ("http://example.com/~bébé", false()) 결과: "http://example.com/~b%C3%A9b%C3% A9" |
fn:contains(string1,string2) | string1에 string2가 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 예: 포함('XML','XM') 결과: true |
fn:starts-with(string1, string2) | string1이 string2로 시작하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 예: start-with('XML','X') 결과: true |
fn:ends-with( string1,string2) | string1이 string2로 끝나면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 예: end-with('XML','X') 결과: false |
fn:substring-before( string1,string2) | string1에 나타나기 전 string2의 하위 문자열을 반환합니다. 예: 하위 문자열 이전('12/10','/') 결과: '12' |
fn: substring-after(string1,string2) | string2가 string1에 나타난 이후의 하위 문자열을 반환합니다. 예: 하위 문자열 이후('12/10','/') 결과: '10' |
fn: match(string,pattern) | 문자열 매개변수가 지정된 패턴과 일치하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 예: match("Merano", "ran") 결과: true |
fn:replace(string,pattern,replace) | 지정된 패턴을 교체 매개변수로 바꾸고 결과를 반환합니다. 예: 바꾸기("Bella Italia", "l", "*") 결과: 'Be**a Ita*ia' 예: 바꾸기( "Bella Italia", "l", "") 결과: 'Bea Itaia' |
fn:tokenize(string,pattern) | 예: tokenize("XPath is fun", "s+") 결과: ("XPath", "is", "fun") |
anyURI에 대한 함수
이름 | 설명 |
---|
名称 | 说明 |
---|---|
fn:resolve-uri(relative,base) |
fn:resolve-uri(relative,base)
名称 | 说明 |
---|---|
fn:boolean(arg) | 返回数字、字符串或节点集的布尔值。 |
fn:not(arg) | 首先通过 boolean() 函数把参数还原为一个布尔值。如果该布尔值为 false,则返回 true,否则返回 true。 例子:not(true()) 结果:false |
fn:true() | 返回布尔值 true。 例子:true() 结果:true |
fn:false() | 返回布尔值 false。 例子:false() 结果:false |
이름 | 설명 | <🎜><🎜><🎜>fn:boolean(arg)<🎜><🎜>숫자 반환 , 문자열 또는 노드 세트의 부울 값입니다. <🎜><🎜><🎜><🎜>fn:not(arg)<🎜><🎜><🎜>먼저 boolean() 함수를 사용하여 매개변수를 부울 값으로 복원합니다. 부울 값이 false이면 true를 반환하고, 그렇지 않으면 true를 반환합니다. <🎜><🎜>예: not(true())<🎜><🎜>결과: false<🎜><🎜><🎜><🎜><🎜>fn:true()<🎜><🎜>< 🎜>부울 true를 반환합니다. <🎜><🎜>예: true()<🎜><🎜>결과: true<🎜><🎜><🎜><🎜><🎜>fn:false()<🎜><🎜><🎜> 반환 부울 거짓. <🎜><🎜>예: false()<🎜><🎜>결과: false<🎜><🎜><🎜><🎜><🎜>
---|
이름 | 설명 |
---|---|
fn:dateTime(date,time) | 매개변수를 날짜 및 시간으로 변환합니다. |
fn:years-from-duration(datetimedur) | 표준 어휘 표기법으로 표현된 인수 값의 연도 부분의 정수를 반환합니다. |
fn:months-from-duration(datetimedur) | 표준 어휘 표기법으로 표현된 매개변수 값의 월 부분의 정수를 반환합니다. |
fn:days-from-duration(datetimedur) | 표준 어휘 표기법으로 표현된 인수 값의 일 부분의 정수를 반환합니다. |
fn:hours-from-duration(datetimedur) | 표준 어휘 표기법으로 표현된 매개변수 값의 시간 부분을 정수로 반환합니다. |
fn: Minutes-from-duration(datetimedur) | 매개변수 값의 분 부분을 표준 어휘 표기법으로 표현된 정수로 반환합니다. |
fn:seconds-from-duration(datetimedur) | 표준 어휘 표기법으로 표현된 매개변수 값의 분 부분 중 소수 부분을 반환합니다. |
fn:year-from-dateTime(datetime) | 매개변수 로컬 값의 연도 부분의 정수를 반환합니다. 예: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 결과: 2005 |
fn:month-from-dateTime(datetime) | 매개변수 로컬 값의 월 부분의 정수를 반환합니다. 예: Month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 결과: 01 |
fn:day-from-dateTime(datetime) | 매개변수 로컬 값의 날짜 부분의 정수를 반환합니다. 예: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 결과: 10 |
fn:hours-from-dateTime(datetime) | 매개변수 로컬 값의 시간 부분을 정수로 반환합니다. 예: hour-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 결과: 12 |
fn: Minutes-from-dateTime(datetime) | 매개변수의 로컬 값 중 분 부분의 정수를 반환합니다. 예: 분-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 결과: 30 |
fn:seconds-from-dateTime(datetime) | 매개변수 로컬 값의 초 부분을 10진수로 반환합니다. 예: 초-날짜 시간(xs:dateTime("2005-01-10T12:30:00-04:10")) 결과: 0 |
fn:timezone-from-dateTime(datetime) | 매개변수의 시간대 부분(있는 경우)을 반환합니다. |
fn:year-from-date(date) | 매개변수의 로컬 값에서 연도를 나타내는 정수를 반환합니다. 예: 연도-날짜(xs:date("2005-04-23")) 결과: 2005 |
fn:month-from-date(date) | 매개변수의 로컬 값에서 월을 나타내는 정수를 반환합니다. 예: 월-날짜(xs:date("2005-04-23")) 결과: 4 |
fn: day-from-date(date) | 매개변수의 로컬 값으로 날짜를 나타내는 정수를 반환합니다. 예: day-from-date(xs:date("2005-04-23")) 결과: 23 |
fn:timezone-from-date(date) | 매개변수의 시간대 부분(있는 경우)을 반환합니다. |
fn:hours-from-time(time) | 매개변수 로컬 값의 시간 부분을 나타내는 정수를 반환합니다. 예: 시간부터 시간(xs:time("10:22:00")) 결과: 10 |
fn: Minutes-from-time(time) | 매개변수 로컬 값의 분 부분을 나타내는 정수를 반환합니다. 예: 분-시간(xs:time("10:22:00")) 결과: 22 |
fn:seconds-from-time(time) | 매개변수의 로컬 값에서 초 부분을 나타내는 정수를 반환합니다. 예: 초부터 시간(xs:time("10:22:00")) 결과: 0 |
fn:timezone-from-time(time) | 매개변수의 시간대 부분(있는 경우)을 반환합니다. |
fn:adjust-dateTime-to-timezone(datetime,timezone) | timezone 매개변수가 비어 있으면 시간대 없이 dateTime을 반환합니다. 그렇지 않으면 시간대가 포함된 dateTime이 반환됩니다. |
fn:adjust-date-to-timezone(date,timezone) | timezone 매개변수가 비어 있으면 시간대 없이 날짜를 반환합니다. 그렇지 않으면 시간대가 포함된 날짜가 반환됩니다. |
fn:adjust-time-to-timezone(time,timezone) | timezone 매개변수가 비어 있으면 시간대가 없는 시간이 반환됩니다. 그렇지 않으면 시간대를 사용하여 시간을 반환합니다. |
QName 관련 기능
이름 | 설명 |
---|
名称 | 说明 |
---|---|
fn:QName() | |
fn:local-name-from-QName() | |
fn:namespace-uri-from-QName() | |
fn:namespace-uri-for-prefix() | |
fn:in-scope-prefixes() | |
fn:resolve-QName() |
노드 관련 기능
名称 | 说明 |
---|---|
| 返回当前节点的名称或指定节点集中的第一个节点。 |
| 返回当前节点的名称或指定节点集中的第一个节点 - 不带有命名空间前缀。 |
| 返回当前节点或指定节点集中第一个节点的命名空间 URI。 |
fn:lang(lang) | 如果当前节点的语言匹配指定的语言,则返回 true。 例子:Lang("en") is true for <p xml:lang="en">...</p> 例子:Lang("de") is false for <p xml:lang="en">...</p> |
| 返回当前节点或指定的节点所属的节点树的根节点。通常是文档节点。 |
시퀀스 관련 기능
일반 기능
이름 | 설명 |
---|---|
fn:index-of((item,item,...),searchitem) | searchitem 매개변수와 동일한 항목 순서를 반환합니다. 위치. 예: index-of ((15, 40, 25, 40, 10), 40) 결과: (2, 4) 예: index-of (("a", "dog", "and", "a", "duck"), "a") 결과 (1, 4) 예: index-of ((15, 40, 25, 40, 10), 18) 결과: () |
fn:remove((item,item,. ..),position) | item 매개변수로 구성된 새 시퀀스를 반환하는 동시에 position 매개변수로 지정된 항목을 삭제합니다. 예: 제거(("ab", "cd", "ef"), 0) 결과: ("ab", "cd", "ef") 예: 제거(("ab", "cd", "ef"), 1) 결과: ("cd", "ef") 예: 제거( ("ab", "cd", "ef"), 4) 결과: ("ab", "cd", "ef") |
fn:empty(item,item,...) | 매개변수 값이 빈 시퀀스이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 예: 비어 있음(remove(("ab", "cd"), 1)) 결과: false |
fn :exists(item,item,...) | 매개변수 값이 빈 시퀀스가 아닌 경우 true를 반환하고, 그렇지 않으면 false를 반환합니다. 예: 존재함(remove(("ab"), 1)) 결과: false |
fn:distinct-values ((item,item,...),collation) | 유일한 고유 값을 반환합니다. 예: 고유 값((1, 2, 3, 1, 2)) 결과: (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) | 지정된 위치에 삽입을 삽입하는 동안 항목 매개변수로 구성된 새 시퀀스를 반환합니다. pos 매개변수에 의한 매개변수의 값. 예: insert-before(("ab", "cd"), 0, "gh") 결과: ("gh", "ab", "cd") 예: insert-before(("ab", "cd"), 1, "gh") 결과: ("gh", "ab", "cd") 예: insert-before(("ab", "cd"), 2, "gh") 결과: ("ab", "gh", "cd") 예: insert-before(("ab", "cd"), 5, "gh") 결과: ("ab", "cd", "gh") |
fn:reverse((item,item,...)) | 지정된 항목의 역순을 반환합니다. 예: reverse(("ab", "cd", "ef")) 결과: ("ef", "cd", "ab") 예: reverse(("ab")) 결과: ("ab") |
fn:subsequence((item,item,...),start,len) | start 매개변수로 지정된 위치를 반환하고 항목 순서, 순서 길이는 len 매개변수에 의해 지정됩니다. 첫 번째 항목의 위치는 1입니다. 예: 하위 시퀀스(($item1, $item2, $item3,...), 3) 결과: ($item3,...) 예 :subsequence(($item1, $item2, $item3, ...), 2, 2) 결과: ($item2, $item3) |
fn:unordered((item,item,...)) | 구현에 따라 결정된 순서로 항목을 반환합니다. |
시퀀스 용량 테스트 기능
이름 | 설명 |
---|
名称 | 说明 |
---|---|
fn:zero-or-one(item,item,...) | 如果参数包含零个或一个项目,则返回参数,否则生成错误。 |
fn:one-or-more(item,item,...) | 如果参数包含一个或多个项目,则返回参数,否则生成错误。 |
fn:exactly-one(item,item,...) | 如果参数包含一个项目,则返回参数,否则生成错误。 |
fn:zero-or-one(item,item ,...)
매개변수에 항목이 0개 또는 1개 포함되어 있으면 매개변수를 반환하고, 그렇지 않으면 오류를 생성합니다.名称 | 说明 |
---|---|
fn:deep-equal(param1,param2,collation) | 如果 param1 和 param2 与彼此相等(deep-equal),则返回 true,否则返回 false。 |
fn:one-or-more(item,item,...)
名称 | 说明 |
---|---|
fn:count((item,item,...)) | 返回节点的数量。 |
fn:avg((arg,arg,...)) | 返回参数值的平均数。 例子:avg((1,2,3)) 结果:2 |
fn:max((arg,arg,...)) | 返回大于其它参数的参数。 例子:max((1,2,3)) 结果:3 例子:max(('a', 'k')) 结果:'k' |
fn:min((arg,arg,...)) | 返回小于其它参数的参数。 例子:min((1,2,3)) 结果:1 例子:min(('a', 'k')) 结果:'a' |
fn:sum(arg,arg,...) | 返回指定节点集中每个节点的数值的总和。 |
이름 | 설명 | <🎜><🎜><🎜>fn:deep-equal(param1,param2 ,collation)<🎜><🎜>param1과 param2가 서로 같으면(심층 동일) true를 반환하고, 그렇지 않으면 false를 반환합니다. <🎜><🎜><🎜><🎜><🎜><🎜>전체 기능<🎜><🎜>
---|
이름 | 설명 | <🎜><🎜><🎜>fn:count((item,item,...)) <🎜><🎜>노드 수를 반환합니다. <🎜><🎜><🎜><🎜>fn:avg((arg,arg,...))<🎜><🎜>매개변수 값의 평균을 반환합니다. 예: 평균((1,2,3)) 결과: 2<🎜><🎜><🎜><🎜>fn:max((arg,arg,...))<🎜><🎜>다른 매개변수보다 큰 매개변수를 반환합니다. 예: 최대((1,2,3)) 결과: 3 예: max(('a', 'k')) 결과: 'k'<🎜><🎜><🎜><🎜>fn:min((arg,arg,...))<🎜><🎜>다른 매개변수보다 작은 매개변수를 반환합니다. 예: 최소((1,2,3)) 결과: 1 예: min(('a', 'k')) 결과: 'a'<🎜><🎜><🎜><🎜>fn:sum(arg,arg,...)<🎜><🎜>지정된 노드에 있는 각 노드의 값의 합을 반환합니다. 세트. <🎜><🎜><🎜><🎜>
---|
名称 | 说明 |
---|---|
fn:id((string,string,...),node) | Returns a sequence of element nodes that have an ID value equal to the value of one or more of the values specified in the string argument |
fn:idref((string,string,...),node) | Returns a sequence of element or attribute nodes that have an IDREF value equal to the value of one or more of the values specified in the string argument |
fn:doc(URI) | |
fn:doc-available(URI) | 如果 doc() 函数返回文档节点,则返回 true,否则返回 false。 |
|
컨텍스트 함수
名称 | 说明 |
---|---|
fn:position() | 返回当前正在被处理的节点的 index 位置。 例子://book[position()<=3] 结果:选择前三个 book 元素 |
fn:last() | 返回在被处理的节点列表中的项目数目。 例子://book[last()] 结果:选择最后一个 book 元素 |
fn:current-dateTime() | 返回当前的 dateTime(带有时区)。 |
fn:current-date() | 返回当前的日期(带有时区)。 |
fn:current-time() | 返回当前的时间(带有时区)。 |
fn:implicit-timezone() | 返回隐式时区的值。 |
fn:default-collation() | 返回默认对照的值。 |
fn:static-base-uri() | 返回 base-uri 的值。 |