XSLT 2.0, XPath는 2.0 및 XQuery를 1.0, 동일한 기능 라이브러리를 공유 할 수 있습니다.
기능 참조
기능 네임 스페이스의 기본 접두사는 FN입니다 :
기능 네임 스페이스의 URI는 다음과 같습니다 http://www.w3.org/2005/xpath-functions
Tip: 기능은 종종 FN으로 호출됩니다 접두사, 같은 FN과 같이 string() . 그러나, FN 이후 : 네임 스페이스의 기본 접두사가 전화했을 때, 함수 이름을 붙여야 할 필요가 없습니다.
접근 자 함수
이름 | 기술 |
---|---|
fn:node- name( node ) | 인수 노드의 노드 이름을 반환 |
fn: nilled( node ) | 인수 노드가 nilled되는지 여부를 나타내는 부울 값을 반환 |
fn: data( item.item,... ) | 항목의 시퀀스를 취하여 원자 값들의 시퀀스를 반환 |
fn:base- uri() fn:base- uri( node ) | 현재 또는 지정된 노드의베이스 URI 프로퍼티의 값을 돌려줍니다 |
fn:document- uri( node ) | 지정된 노드의 문서 URI 프로퍼티의 값을 돌려줍니다 |
오류 및 추적 기능
이름 | 기술 |
---|---|
fn: error() fn: error( error ) fn: error( error,description ) fn: error( error,description,error-object ) | 예 : error(fn:QName('http://example.com/test', 'err:toohigh') , '오류 : 가격이 너무 높은') 결과 : 반환 http://example.com/test#toohigh 및 문자열 "Error: Price is too high" 외부 처리 환경에 |
fn: trace( value,label ) | 디버그 쿼리에 사용 |
숫자 값에 기능
이름 | 기술 |
---|---|
fn: number( arg ) | 인수의 숫자 값을 돌려줍니다. 인수는 부울, 문자열 또는 노드 집합이 될 수 예 : number('100') |
fn: abs( num ) | 인수의 절대 값을 반환 예 : abs(3.14) 예 : abs(-3.14) |
fn: ceiling( num ) | 숫자 인수보다 큰 가장 작은 정수를 반환 예 : ceiling(3.14) |
fn: floor( num ) | 숫자 인수보다 크지 않은 가장 큰 정수를 반환 예 : floor(3.14) |
fn: round( num ) | 가장 가까운 정수로 숫자 인수를 반올림 예 : round(3.14) |
fn:round-half-to- even() | 예 : 둥근 반 대 even(0.5) 결과 : 0 예 : 둥근 반 대 even(1.5) 예 : 둥근 반 대 even(2.5) |
문자열에 대한 기능
이름 | 기술 |
---|---|
fn: string( arg ) | 인수의 문자열 값을 반환합니다. 인수는 숫자, 부울 또는 노드 집합이 될 수 예 : string(314) |
fn:codepoints-to- string(( int,int,... ) ) | 유니 코드 표준 코드 포인트의 순서에서 문자열을 작성합니다 예 : 코드 포인트 - 대 - string((84, 104, 233, 114, 232, 115, 101) ) |
fn:string-to- codepoints( string ) | 문자열에서 유니 코드 표준 코드 포인트의 순서를 반환 예 : 문자열 - 투 - codepoints("Th r se") |
fn:codepoint- equal( comp1,comp2 ) | COMP1의 값이 유니 코드 코드 포인트 데이터 정렬에 따라, COMP2의 값과 동일한 경우에 true를 돌려줍니다 (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) , 그렇지 않으면 false를 반환 |
fn: compare( comp1,comp2 ) fn: compare( comp1,comp2,collation ) | 리턴 -1 COMP1 COMP2이 0보다 작은 경우는 COMP1 COMP1 COMP2가보다 큰 경우에 (사용되는 조합의 규칙에 따라) COMP2 같은지 또는 1이면 예 : compare('ghi', 'ghi') |
fn: concat( string,string,... ) | 문자열의 연결을 반환 예 : concat('XPath ','is ','FUN!') |
fn:string- join( (string,string,...) ,sep) | 세퍼레이터로 9월 인수 문자열 인수와 연접하여 생성 한 문자열을 반환 예 : 현악기와 join(('We', 'are', 'having', 'fun!') , '') 예 : 현악기와 join(('We', 'are', 'having', 'fun!') ) 예 : 현악기와 join(() '구월') |
fn: substring( string,start,len ) fn: substring( string,start ) | 지정된 길이 시작 위치에서 문자열을 돌려줍니다. 첫 번째 문자의 인덱스는 1입니다 길이는 끝까지 시작 위치에서 문자열을 리턴 생략 된 경우 예 : substring('Beatles',1,4) 예 : substring('Beatles',2) |
fn:string- length( string ) fn:string- length() | 지정된 문자열의 길이를 반환합니다. 어떤 문자열 인수가없는 경우는 현재 노드의 문자열 값의 길이를 반환 예 : 현악기와 length('Beatles') |
fn:normalize- space( string ) fn:normalize- space() | 주요 지정된 문자열에서 후행 공백을 제거하고 하나의 공백의 모든 내부 시퀀스를 대체하고 결과를 반환합니다. 어떤 문자열 인수가없는 경우는 현재 노드에서 동일한 않습니다 예 : normalize- space(' The XML ') |
fn:normalize- unicode() | |
fn:upper- case( string ) | 대문자로 문자열 인수로 변환 예 : 대문자 case('The XML') |
fn:lower- case( string ) | 소문자로 문자열 인수로 변환 예 : 저급 case('The XML') |
fn: translate( string1,string2,string3 ) | string3의 문자와 문자열 2의 문자를 대체하여 문자열 1로 변환 예 : translate('12:30','30','45') 예 : translate('12:30','03','54') 예 : translate('12:30','0123','abcd') |
fn:escape- uri( stringURI,esc-res ) | 예 : 도주 uri("http://example.com/test#car", true() ) 결과 : "http%3A%2F%2Fexample.com%2Ftest#car" 예 : 도주 uri("http://example.com/test#car", false() ) 예 : 탈출-URI ("http://example.com/~b b ", false() ) |
fn: contains( string1,string2 ) | 문자열 1이 문자열 2가 포함되어있는 경우, 그렇지 않으면 false를 반환, true를 돌려줍니다 예 : contains('XML','XM') |
fn:starts- with( string1,string2 ) | 문자열 1을 문자열 2로 시작하면, 그렇지 않으면 false를 반환 true를 돌려줍니다 예 : starts- with('XML','X') |
fn:ends- with( string1,string2 ) | 문자열 1을 문자열 2로 끝나는 경우, 그렇지 않으면 false를 반환 true를 돌려줍니다 예 : ends- with('XML','X') |
fn:substring- before( string1,string2 ) | 문자열 2가 발생하기 전에 문자열 1의 시작을 반환 예 : substring- before('12/10','/') |
fn:substring- after( string1,string2 ) | 문자열 2가 발생 후 문자열 1의 나머지를 반환 예 : substring- after('12/10','/') |
fn: matches( string,pattern ) | 문자열 인수가 패턴과 일치하는 경우, 그렇지 않으면 false를 반환 true를 돌려줍니다 예 : matches("Merano", "ran") |
fn: replace( string,pattern,replace ) | 바꾸기 인수로 지정된 패턴을 교체하여 만든 문자열을 반환 예 : replace("Bella Italia", "l" , "*") 예 : replace("Bella Italia", "l" , "") |
fn: tokenize( string,pattern ) | 예 : tokenize("XPath is fun", "\s+") 결과 : ("XPath", "is" , "fun") |
된 anyURI에 대한 기능
이름 | 기술 |
---|---|
fn:resolve- uri( relative,base ) |
부울 값에 기능
이름 | 기술 |
---|---|
fn: boolean( arg ) | 숫자, 문자열 또는 노드 세트에 대한 부울 값을 반환 |
fn: not( arg ) | 인수 먼저 적용하여 부울 값으로 감소 boolean() 함수. 부울 값이 true이면 부울 값은 false, 거짓 사실 반환하는 경우 예 : not(true() ) |
fn: 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 ) | 인수의 지역화 된 값의 연도 구성 요소를 나타내는 정수를 반환 예 : 세 단으로 dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:month-from- dateTime( datetime ) | 인수의 지역화 된 값의 월 구성 요소를 나타내는 정수를 반환 예 : 월 - 단으로 dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:day-from- dateTime( datetime ) | 인수의 지역화 된 값의 일 구성 요소를 나타내는 정수를 반환 예 : 하루 단으로 dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:hours-from- dateTime( datetime ) | 인수의 지역화 된 값의 시간 구성 요소를 나타내는 정수를 반환 예 : 시간 - 단으로 dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:minutes-from- dateTime( datetime ) | 인수의 지역화 된 값의 분 구성 요소를 나타내는 정수를 반환 예 : 분 - 단으로 dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:seconds-from- dateTime( datetime ) | 인수의 지역화 된 값의 초 구성 요소를 나타냅니다 진수를 돌려줍니다 예 : 몇 초 단으로 dateTime(xs:dateTime("2005-01-10T12:30:00-04:10") ) |
fn:timezone-from- dateTime( datetime ) | 어떤 경우 인수의 시간대 컴퍼넌트를 돌려줍니다 |
fn:year-from- date( date ) | 인수의 지역화 된 값에서 연도를 나타내는 정수를 반환 예 : 년 단으로 date(xs:date("2005-04-23") ) |
fn:month-from- date( date ) | 인수의 지역화 된 값에서 월을 나타내는 정수를 반환 예 : 월 - 단으로 date(xs:date("2005-04-23") ) |
fn:day-from- date( date ) | 인수의 지역화 된 값에 하루를 나타내는 정수를 반환 예 : 하루 단으로 date(xs:date("2005-04-23") ) |
fn:timezone-from- date( date ) | 어떤 경우 인수의 시간대 컴퍼넌트를 돌려줍니다 |
fn:hours-from- time( time ) | 인수의 지역화 된 값의 시간 구성 요소를 나타내는 정수를 반환 예 : 시간-단으로 time(xs:time("10:22:00") ) |
fn:minutes-from- time( time ) | 인수의 지역화 된 값의 분 구성 요소를 나타내는 정수를 반환 예 : 분 - 단으로 time(xs:time("10:22:00") ) |
fn:seconds-from- time( time ) | 인수의 지역화 된 값의 초 구성 요소를 나타내는 정수를 반환 예 : 초-단으로 time(xs:time("10:22:00") ) |
fn:timezone-from- time( time ) | 어떤 경우 인수의 시간대 컴퍼넌트를 돌려줍니다 |
fn:adjust-dateTime-to- timezone( datetime,timezone ) | 시간대 인수가 비어있는 경우, 그것은 시간대없이 날짜 시간을 반환합니다. 그렇지 않으면, 시간대와 날짜 시간을 반환 |
fn:adjust-date-to- timezone( date ,timezone ) | 시간대 인수가 비어있는 경우, 그것은 시간대없는 날짜를 반환합니다. 그렇지 않으면, 그것은 시간대와 날짜를 반환 |
fn:adjust-time-to- timezone( time ,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() |
노드에서 기능
이름 | 기술 |
---|---|
fn: name() fn: name( nodeset ) | 지정된 노드 집합에서 현재 노드 또는 첫 번째 노드의 이름을 돌려줍니다 |
fn:local- name() fn:local- name( nodeset ) | 현재 노드 또는 지정된 노드 세트의 첫 번째 노드의 이름을 반환 - 네임 스페이스 접두사없이 |
fn:namespace- uri() fn:namespace- uri( nodeset ) | 현재 노드의 네임 스페이스 URI 또는 첫 번째 노드가 지정된 노드 세트에 반환 |
fn: lang( lang ) | 현재 노드의 언어가 지정한 언어의 언어와 일치하는 경우는 true를 돌려줍니다 예 : Lang("en") 마찬가지입니다 예 : Lang("de") 에 대한 거짓 |
fn: root() fn: root( node ) | 현재 노드 또는 지정된이 속한 트리의 루트를 돌려줍니다. 이것은 일반적으로 문서의 노드가 될 |
시퀀스에 기능
시퀀스에 일반 기능
이름 | 기술 |
---|---|
fn:index- of( (item,item,...) ,searchitem) | searchitem 인수에 동일한 항목의 순서 내에서 위치를 돌려줍니다 예 : 지수의 ((15, 40, 25, 40, 10) , 40) 예 : 인덱스의 (("a", "dog" , "and" , "a" , "duck") , "A") 예 : 지수의 ((15, 40, 25, 40, 10) , 18) |
fn: remove( (item,item,...) ,position) | 제거 된 위치 인수로 지정된 항목 - 항목 인수의 값으로 구성 새로운 시퀀스를 돌려줍니다 예 : remove(("ab", "cd" , "ef") , 0) 예 : remove(("ab", "cd" , "ef") , 1) 예 : remove(("ab", "cd" , "ef") , 4) |
fn: empty( item,item,... ) | 인수의 값이 빈 시퀀스 그렇지 않으면 false를 반환, true를 돌려줍니다 예 : empty(remove(("ab", "cd") , 1)) |
fn: exists( item,item,... ) | 인수의 값이 빈 순서가 아닌 경우, 그렇지 않으면 false를 반환 true를 돌려줍니다 예 : exists(remove(("ab") , 1)) |
fn:distinct- values( (item,item,...) ,collation) | 별개의 반환 (different) 값을 예 : distinct- values((1, 2, 3, 1, 2) ) |
fn:insert- before( (item,item,...) ,pos,inserts) | 는 POS 인수로 지정된 위치에 삽입 된 삽입 인수의 값 - 항목 인수의 값으로 구성 새로운 시퀀스를 돌려줍니다 예 : 삽입 - before(("ab", "cd") , 0, "GH") 예 : 삽입 - before(("ab", "cd") , 1, "GH") 예 : 삽입 - before(("ab", "cd") , 2, "GH") 예 : 삽입 - before(("ab", "cd") , (5), "GH") |
fn: reverse( (item,item,...) ) | 지정된 항목의 역순을 반환 예 : reverse(("ab", "cd" , "ef") ) 예 : reverse(("ab") ) |
fn: subsequence( (item,item,...) ,start,len) | 시작 인수와 렌 인수로 지정된 항목의 수를 계속하여 지정된 위치에서 항목의 순서를 돌려줍니다. 제 1 항목의 위치에 자리 잡고 예 : subsequence(($item1, $item2, $item3,...) , 3) 예 : subsequence(($item1, $item2, $item3, ...) , 2, 2) |
fn: unordered( (item,item,...) ) | 구현 의존 순서로 항목을 반환 |
시퀀스의 카디널리티를 테스트 기능
이름 | 기술 |
---|---|
fn:zero-or- one( item,item,... ) | 이 0 또는 1 항목이 포함되어있는 경우 그렇지 않으면 오류가 발생합니다, 인수를 돌려줍니다 |
fn:one-or- more( item,item,... ) | 그것은 하나 개 이상의 항목을 포함하는 경우, 그렇지 않으면 오류가 발생합니다, 인수를 돌려줍니다 |
fn:exactly- one( item,item,... ) | 정확히 하나의 항목이 포함 된 경우 그렇지 않으면 오류가 발생합니다, 인수를 돌려줍니다 |
, 연합, 교차로 및 제외 같음
이름 | 기술 |
---|---|
fn:deep- equal( param1,param2,collation ) | 그렇지 않으면 false를 반환 PARAM1 및 PARAM2 서로 깊은 동일한 경우는 true를 돌려줍니다 |
집계 함수
이름 | 기술 |
---|---|
fn: count( (item,item,...) ) | 노드의 수를 반환 |
fn: avg( (arg,arg,...) ) | 인수 값의 평균을 반환 예 : avg((1,2,3) ) |
fn: max( (arg,arg,...) ) | 다른 사람보다 큰 인수를 돌려줍니다 예 : max((1,2,3) ) 예 : max(('a', 'k') ) |
fn: min( (arg,arg,...) ) | 다른 사람보다 적은 인수를 돌려줍니다 예 : min((1,2,3) ) 예 : min(('a', 'k') ) |
fn: sum( arg,arg,... ) | 지정된 노드 세트의 각 노드의 수치의 합계를 반환 |
시퀀스를 생성 기능
이름 | 기술 |
---|---|
fn: id( (string,string,...) ,node) | 스트링 인수로 지정된 하나 이상의 값의 값과 동일한 ID 값을 갖는 요소 노드들의 시퀀스를 리턴 |
fn: idref( (string,string,...) ,node) | 스트링 인수로 지정된 하나 이상의 값의 값에 상당하는 IDREF 값이 요소 또는 속성 노드들의 시퀀스를 리턴 |
fn: doc( URI ) | |
fn:doc- available( URI ) | 경우에 true를 돌려줍니다 doc() 함수는 문서 노드를 반환 그렇지 않으면 false를 반환 |
fn: collection() fn: collection( string ) |
상황에 맞는 기능
이름 | 기술 |
---|---|
fn: position() | 현재 처리되고있는 노드의 인덱스 위치를 반환 예 : // 책 [의 position() <= 3] |
fn: last() | 처리 된 노드 목록에있는 항목의 수를 돌려줍니다 예 : // 책 [ last() ] |
fn:current- dateTime() | 현재 날짜 _ 시간을 돌려줍니다 (with timezone) |
fn:current- date() | 현재 날짜를 반환 (with timezone) |
fn:current- time() | 현재 시간을 반환 (with timezone) |
fn:implicit- timezone() | 암시 적 시간대의 값을 돌려줍니다 |
fn:default- collation() | 기본 데이터 정렬의 값을 돌려줍니다 |
fn:static-base- uri() | 의 값 반환 기지를-URI |
XSLT 기능
또한, 거기에 다음과 같은 내장 된 XSLT 기능 :
이름 | 기술 |
---|---|
current() | 현재 노드를 돌려줍니다 |
document() | 외부 XML 문서의 노드에 액세스하는 데 사용 |
element- available() | 시험 지정된 요소는 XSLT 프로세서에 의해 지원되는지 |
format- number() | 문자열로 숫자를 변환합니다 |
function- available() | 시험 지정된 함수는 XSLT 프로세서에 의해 지원되는지 |
generate- id() | 고유 지정된 노드를 식별하는 문자열 값을 반환 |
key() | 의해 지정된 인덱스를 사용하여 노드 집합 리턴 <xsl:key> 요소 |
system- property() | 시스템 등록 정보의 값을 돌려줍니다 |
unparsed-entity- uri() | 해석 안된 엔티티의 URI를 돌려줍니다 |