최신 웹 개발 튜토리얼
 

XSLT XPath를하고, XQuery를 기능


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')
결과 : 100

fn: abs( num ) 인수의 절대 값을 반환

예 : abs(3.14)
결과 : 3.14

예 : abs(-3.14)
결과 : 3.14

fn: ceiling( num ) 숫자 인수보다 큰 가장 작은 정수를 반환

예 : ceiling(3.14)
결과 : 4

fn: floor( num ) 숫자 인수보다 크지 않은 가장 큰 정수를 반환

예 : floor(3.14)
결과 : 3

fn: round( num ) 가장 가까운 정수로 숫자 인수를 반올림

예 : round(3.14)
결과 : 3

fn:round-half-to- even() 예 : 둥근 반 대 even(0.5)
결과 : 0

예 : 둥근 반 대 even(1.5)
결과 : 2

예 : 둥근 반 대 even(2.5)
결과 : 2

문자열에 대한 기능

이름 기술
fn: string( arg ) 인수의 문자열 값을 반환합니다. 인수는 숫자, 부울 또는 노드 집합이 될 수

예 : string(314)
결과 : "314"

fn:codepoints-to- string(( int,int,... ) ) 유니 코드 표준 코드 포인트의 순서에서 문자열을 작성합니다

예 : 코드 포인트 - 대 - string((84, 104, 233, 114, 232, 115, 101) )
결과 : 'Thrse'

fn:string-to- codepoints( string ) 문자열에서 유니 코드 표준 코드 포인트의 순서를 반환

예 : 문자열 - 투 - codepoints("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를 반환
fn: compare( comp1,comp2 )
fn: compare( comp1,comp2,collation )
리턴 -1 COMP1 COMP2이 0보다 작은 경우는 COMP1 COMP1 COMP2가보다 큰 경우에 (사용되는 조합의 규칙에 따라) COMP2 같은지 또는 1이면

예 : compare('ghi', 'ghi')
결과 : 0

fn: concat( string,string,... ) 문자열의 연결을 반환

예 : concat('XPath ','is ','FUN!')
결과 : 'XPath는 재미있다!'

fn:string- join( (string,string,...) ,sep) 세퍼레이터로 9월 인수 문자열 인수와 연접하여 생성 한 문자열을 반환

예 : 현악기와 join(('We', 'are', 'having', 'fun!') , '')
검색 결과 : '우리는 재미있다! '

예 : 현악기와 join(('We', 'are', 'having', 'fun!') )
결과 : 'Wearehavingfun!'

예 : 현악기와 join(() '구월')
결과 : ''

fn: substring( string,start,len )
fn: substring( string,start )
지정된 길이 시작 위치에서 문자열을 돌려줍니다. 첫 번째 문자의 인덱스는 1입니다 길이는 끝까지 시작 위치에서 문자열을 리턴 생략 된 경우

예 : substring('Beatles',1,4)
결과 : '비트'

예 : substring('Beatles',2)
결과 : 'eatles'

fn:string- length( string )
fn:string- length()
지정된 문자열의 길이를 반환합니다. 어떤 문자열 인수가없는 경우는 현재 노드의 문자열 값의 길이를 반환

예 : 현악기와 length('Beatles')
결과 : 7

fn:normalize- space( string )
fn:normalize- space()
주요 지정된 문자열에서 후행 공백을 제거하고 하나의 공백의 모든 내부 시퀀스를 대체하고 결과를 반환합니다. 어떤 문자열 인수가없는 경우는 현재 노드에서 동일한 않습니다

예 : normalize- space(' The XML ')
결과 : '은 XML'

fn:normalize- unicode()
fn:upper- case( string ) 대문자로 문자열 인수로 변환

예 : 대문자 case('The XML')
결과 : '은 XML'

fn:lower- case( string ) 소문자로 문자열 인수로 변환

예 : 저급 case('The XML')
결과 : '은 XML'

fn: translate( string1,string2,string3 ) string3의 문자와 문자열 2의 문자를 대체하여 문자열 1로 변환

예 : translate('12:30','30','45')
결과 : '12 : 45 '

예 : translate('12:30','03','54')
결과 : '12 : 45 '

예 : translate('12:30','0123','abcd')
결과 : 'BC : 다'

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() )
결과 : "http://example.com/test#car"

예 : 탈출-URI ("http://example.com/~b b ", false() )
결과 : "http://example.com/~b%C3%A9b%C3%A9"

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','/')
결과 : '12'

fn:substring- after( string1,string2 ) 문자열 2가 발생 후 문자열 1의 나머지를 반환

예 : substring- after('12/10','/')
결과 : '10'

fn: matches( string,pattern ) 문자열 인수가 패턴과 일치하는 경우, 그렇지 않으면 false를 반환 true를 돌려줍니다

예 : matches("Merano", "ran")
결과 : 사실

fn: replace( string,pattern,replace ) 바꾸기 인수로 지정된 패턴을 교체하여 만든 문자열을 반환

예 : replace("Bella Italia", "l" , "*")
결과 : '** 남 * IA 수'

예 : replace("Bella Italia", "l" , "")
결과 : '베아 Itaia'

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") )
결과 : 2005

fn:month-from- dateTime( datetime ) 인수의 지역화 된 값의 월 구성 요소를 나타내는 정수를 반환

예 : 월 - 단으로 dateTime(xs:dateTime("2005-01-10T12:30-04:10") )
결과 : 01

fn:day-from- dateTime( datetime ) 인수의 지역화 된 값의 일 구성 요소를 나타내는 정수를 반환

예 : 하루 단으로 dateTime(xs:dateTime("2005-01-10T12:30-04:10") )
결과 : 10

fn:hours-from- dateTime( datetime ) 인수의 지역화 된 값의 시간 구성 요소를 나타내는 정수를 반환

예 : 시간 - 단으로 dateTime(xs:dateTime("2005-01-10T12:30-04:10") )
결과 : 12

fn:minutes-from- dateTime( datetime ) 인수의 지역화 된 값의 분 구성 요소를 나타내는 정수를 반환

예 : 분 - 단으로 dateTime(xs:dateTime("2005-01-10T12:30-04:10") )
결과 : 30

fn:seconds-from- dateTime( datetime ) 인수의 지역화 된 값의 초 구성 요소를 나타냅니다 진수를 돌려줍니다

예 : 몇 초 단으로 dateTime(xs:dateTime("2005-01-10T12:30:00-04:10") )
결과 : 0

fn:timezone-from- dateTime( datetime ) 어떤 경우 인수의 시간대 컴퍼넌트를 돌려줍니다
fn:year-from- date( date ) 인수의 지역화 된 값에서 연도를 나타내는 정수를 반환

예 : 년 단으로 date(xs:date("2005-04-23") )
결과 : 2005

fn:month-from- date( date ) 인수의 지역화 된 값에서 월을 나타내는 정수를 반환

예 : 월 - 단으로 date(xs:date("2005-04-23") )
결과 : 4

fn:day-from- date( date ) 인수의 지역화 된 값에 하루를 나타내는 정수를 반환

예 : 하루 단으로 date(xs:date("2005-04-23") )
결과 : 23

fn:timezone-from- date( date ) 어떤 경우 인수의 시간대 컴퍼넌트를 돌려줍니다
fn:hours-from- time( time ) 인수의 지역화 된 값의 시간 구성 요소를 나타내는 정수를 반환

예 : 시간-단으로 time(xs:time("10:22:00") )
결과 : 10

fn:minutes-from- time( time ) 인수의 지역화 된 값의 분 구성 요소를 나타내는 정수를 반환

예 : 분 - 단으로 time(xs:time("10:22:00") )
결과 : 22

fn:seconds-from- time( time ) 인수의 지역화 된 값의 초 구성 요소를 나타내는 정수를 반환

예 : 초-단으로 time(xs:time("10:22:00") )
결과 : 0

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") 마찬가지입니다
<p의 XML : LANG = "EN"> ... </ P>

예 : Lang("de") 에 대한 거짓
<p의 XML : LANG = "EN"> ... </ P>

fn: root()
fn: root( node )
현재 노드 또는 지정된이 속한 트리의 루트를 돌려줍니다. 이것은 일반적으로 문서의 노드가 될

시퀀스에 기능

시퀀스에 일반 기능

이름 기술
fn:index- of( (item,item,...) ,searchitem) searchitem 인수에 동일한 항목의 순서 내에서 위치를 돌려줍니다

예 : 지수의 ((15, 40, 25, 40, 10) , 40)
결과 : (2, 4)

예 : 인덱스의 (("a", "dog" , "and" , "a" , "duck") , "A")
결과 (1, 4)

예 : 지수의 ((15, 40, 25, 40, 10) , 18)
결과 : ()

fn: remove( (item,item,...) ,position) 제거 된 위치 인수로 지정된 항목 - 항목 인수의 값으로 구성 새로운 시퀀스를 돌려줍니다

예 : remove(("ab", "cd" , "ef") , 0)
결과 : ("ab", "cd" , "ef")

예 : remove(("ab", "cd" , "ef") , 1)
결과 : ("cd", "ef")

예 : remove(("ab", "cd" , "ef") , 4)
결과 : ("ab", "cd" , "ef")

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) )
결과 : (1, 2, 3)

fn:insert- before( (item,item,...) ,pos,inserts) 는 POS 인수로 지정된 위치에 삽입 된 삽입 인수의 값 - 항목 인수의 값으로 구성 새로운 시퀀스를 돌려줍니다

예 : 삽입 - before(("ab", "cd") , 0, "GH")
결과 : ("gh", "ab" , "cd")

예 : 삽입 - before(("ab", "cd") , 1, "GH")
결과 : ("gh", "ab" , "cd")

예 : 삽입 - before(("ab", "cd") , 2, "GH")
결과 : ("ab", "gh" , "cd")

예 : 삽입 - 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) 시작 인수와 렌 인수로 지정된 항목의 수를 계속하여 지정된 위치에서 항목의 순서를 돌려줍니다. 제 1 항목의 위치에 자리 잡고

예 : subsequence(($item1, $item2, $item3,...) , 3)
결과 : ($item3, ...)

예 : subsequence(($item1, $item2, $item3, ...) , 2, 2)
결과 : ($item2, $item3)

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) )
결과 : 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: 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를 돌려줍니다