XSLT 2.0, XPath 2.0 i XQuery 1.0 podziela tą bibliotekę funkcji.
funkcje referencyjny
Domyślny prefiks obszaru nazw dla funkcji jest fn:
URI przestrzeni nazw funkcji jest następująca: http://www.w3.org/2005/xpath-functions
Tip: Funkcje są często nazywane z fn: prefiks, takich jak fn: string() . Jednakże, ponieważ fn: Jest to domyślny przedrostek przestrzeni nazw, nazwy funkcji nie muszą być poprzedzone kiedy dzwonił.
Funkcje dostępowe
Nazwa | Opis |
---|---|
fn:node- name( node ) | Zwraca węzeł nazwa-węzła argumentu |
fn: nilled( node ) | Zwraca wartość logiczną wskazującą, czy węzeł argument nilled |
fn: data( item.item,... ) | Wykonuje sekwencję przedmioty i zwraca sekwencję wartości atomowych |
fn:base- uri() fn:base- uri( node ) | Zwraca wartość właściwości bazowego-uri bieżącego lub określonego węzła |
fn:document- uri( node ) | Zwraca wartość właściwości dokumentu-uri dla określonego węzła |
Funkcje i śledzenia błędów
Nazwa | Opis |
---|---|
fn: error() fn: error( error ) fn: error( error,description ) fn: error( error,description,error-object ) | Przykład: error(fn:QName('http://example.com/test', 'err:toohigh') , 'Błąd: Cena jest zbyt wysoka') Wynik: Zwraca http://example.com/test#toohigh i napis "Error: Price is too high" dla środowiska przetwarzania zewnętrznego |
fn: trace( value,label ) | Służy do debugowania zapytań |
Funkcje na wartości numeryczne
Nazwa | Opis |
---|---|
fn: number( arg ) | Zwraca wartość liczbową argumentu. Argumentem może być logiczna, łańcuch, lub node-set Przykład: number('100') |
fn: abs( num ) | Zwraca wartość bezwzględną argumentu Przykład: abs(3.14) Przykład: abs(-3.14) |
fn: ceiling( num ) | Zwraca najmniejszą liczbę całkowitą, która jest większa niż liczba argumentów Przykład: ceiling(3.14) |
fn: floor( num ) | Zwraca największą liczbę całkowitą, która jest nie większa niż liczba argumentów Przykład: floor(3.14) |
fn: round( num ) | Zaokrągla numeryczny argument do najbliższej liczby całkowitej Na przykład: round(3.14) |
fn:round-half-to- even() | Na przykład: okrągły, pół-to- even(0.5) Wynik: 0 Na przykład: okrągły, pół-to- even(1.5) Na przykład: okrągły, pół-to- even(2.5) |
Funkcje na sznurkach
Nazwa | Opis |
---|---|
fn: string( arg ) | Zwraca ciąg wartości argumentu. Argumentem może być wiele, Boolean lub węzeł-set Przykład: string(314) |
fn:codepoints-to- string(( int,int,... ) ) | Tworzy ciąg z sekwencji punktów Standard Code Unicode Przykład: codepoints-to- string((84, 104, 233, 114, 232, 115, 101) ) |
fn:string-to- codepoints( string ) | Zwraca kolejność Unicode standardowych punktów kodowych z ciągiem Przykład STRING-to- codepoints("Th r se") |
fn:codepoint- equal( comp1,comp2 ) | Zwraca true, jeśli wartość Comp1 jest równa wartości Comp2, zgodnie z kodem punktu sortowania Unicode (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) , w przeciwnym razie zwraca false |
fn: compare( comp1,comp2 ) fn: compare( comp1,comp2,collation ) | Zwraca -1, jeśli jest mniejsza niż COMP1 COMP2, 0 gdy COMP1 COMP2 jest równa lub 1, jeśli jest większa niż COMP1 COMP2 (zgodnie z zasadami zestawiania, który jest używany) Przykład: compare('ghi', 'ghi') |
fn: concat( string,string,... ) | Zwraca połączenie ciągów Przykład: concat('XPath ','is ','FUN!') |
fn:string- join( (string,string,...) ,sep) | Zwraca ciąg utworzony przez złączenie argumenty ciągów i korzystania SEP argumentu jako separatora Przykład: String join(('We', 'are', 'having', 'fun!') , ' „) Przykład: String join(('We', 'are', 'having', 'fun!') ) Przykład: String join(() , ')' sep |
fn: substring( string,start,len ) fn: substring( string,start ) | Zwraca podciąg z pozycji początkowej do określonej długości. Indeks pierwszego znaku jest 1. Jeżeli długość jest pominięta zwraca podciąg z położenia początkowego do końca Przykład: substring('Beatles',1,4) Przykład: substring('Beatles',2) |
fn:string- length( string ) fn:string- length() | Zwraca długość podanego łańcucha. Jeśli nie ma argumentu ciąg zwraca długość wartości ciągu bieżącego węzła Przykład: String length('Beatles') |
fn:normalize- space( string ) fn:normalize- space() | Usuwa początkowe i końcowe spacje z określonego ciągu znaków i zastępuje wszystkie wewnętrzne sekwencje białej przestrzeni z jednej i zwraca wynik. Jeśli nie ma argumentu ciąg robi to samo na węźle bieżącym Przykład: normalize- space(' The XML ') |
fn:normalize- unicode() | |
fn:upper- case( string ) | Konwertuje argument ciąg do górnej przypadku Przykład: Ograniczenie górne case('The XML') |
fn:lower- case( string ) | Konwertuje argument ciąg do małymi literami Przykład: niższy case('The XML') |
fn: translate( string1,string2,string3 ) | Konwertuje łańcuch1 zastępując znaki w łańcuch2 z bohaterów String3 Przykład: translate('12:30','30','45') Przykład: translate('12:30','03','54') Przykład: translate('12:30','0123','abcd') |
fn:escape- uri( stringURI,esc-res ) | Przykład: escape- uri("http://example.com/test#car", true() ) Wynik: "http%3A%2F%2Fexample.com%2Ftest#car" Przykład: escape- uri("http://example.com/test#car", false() ) Przykład: ucieczki URI ("http://example.com/~b b ", false() ) |
fn: contains( string1,string2 ) | Zwraca true jeśli łańcuch1 zawiera łańcuch2, w przeciwnym razie zwraca false Przykład: contains('XML','XM') |
fn:starts- with( string1,string2 ) | Zwraca true jeśli string1 rozpoczyna łańcuch2, w przeciwnym razie zwraca false Przykład: starts- with('XML','X') |
fn:ends- with( string1,string2 ) | Zwraca true jeśli string1 kończy łańcuch2, w przeciwnym razie zwraca false Przykład: ends- with('XML','X') |
fn:substring- before( string1,string2 ) | Zwraca początek łańcuch1 przed wystąpieniem łańcuch2 w nim Przykład: substring- before('12/10','/') |
fn:substring- after( string1,string2 ) | Zwraca resztę łańcuch1 po wystąpieniu w nim łańcuch2 Przykład: substring- after('12/10','/') |
fn: matches( string,pattern ) | Zwraca true, jeśli argument string pasuje do wzorca, w przeciwnym razie zwraca false Przykład: matches("Merano", "ran") |
fn: replace( string,pattern,replace ) | Zwraca ciąg znaków, który jest tworzony przez zastąpienie danego wzorca z argumentem zastąpić Przykład: replace("Bella Italia", "l" , "*") Przykład: replace("Bella Italia", "l" , "") |
fn: tokenize( string,pattern ) | Przykład: tokenize("XPath is fun", "\s+") Rezultat: ("XPath", "is" , "fun") |
Funkcje anyURI
Nazwa | Opis |
---|---|
fn:resolve- uri( relative,base ) |
Funkcje na wartości logiczne
Nazwa | Opis |
---|---|
fn: boolean( arg ) | Zwraca wartość logiczną dla wielu, łańcuch, lub zestaw węzłów |
fn: not( arg ) | Argument ten jest redukowany do wartości logicznej stosując boolean() funkcji. Zwraca true, jeśli wartość logiczna jest fałszywa, a fałszywy jeśli wartość logiczna prawda Przykład: not(true() ) |
fn: true() | Zwraca wartość logiczną prawda Przykład: true() |
fn: false() | Zwraca wartość logiczną false Przykład: false() |
Funkcje na czas trwania, daty i godziny
Funkcje składowe wydobywczy na czas trwania, daty i godziny
Nazwa | Opis |
---|---|
fn: dateTime( date,time ) | Konwertuje argumenty do daty i czasu |
fn:years-from- duration( datetimedur ) | Zwraca liczbę całkowitą reprezentującą składową lat w kanonicznym leksykalnej reprezentacji wartości argumentu |
fn:months-from- duration( datetimedur ) | Zwraca liczbę całkowitą reprezentującą składową miesięcy w kanonicznym leksykalnej reprezentacji wartości argumentu |
fn:days-from- duration( datetimedur ) | Zwraca liczbę całkowitą reprezentującą składową dni w kanonicznych słownikowego reprezentacji wartości argumentu |
fn:hours-from- duration( datetimedur ) | Zwraca liczbę całkowitą reprezentującą składową godzin w kanonicznych słownikowego reprezentacji wartości argumentu |
fn:minutes-from- duration( datetimedur ) | Zwraca liczbę całkowitą reprezentującą składową minut w kanonicznych słownikowego reprezentacji wartości argumentu |
fn:seconds-from- duration( datetimedur ) | Zwraca dziesiętnych stanowi składnik sekund w kanonicznych słownikowego reprezentacji wartości argumentu |
fn:year-from- dateTime( datetime ) | Zwraca liczbę całkowitą reprezentującą składową rok w zlokalizowanej wartości argumentu Przykład: rok-z- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:month-from- dateTime( datetime ) | Zwraca liczbę całkowitą reprezentującą składową miesiącu w zlokalizowanej wartości argumentu Przykład: miesiąc od- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:day-from- dateTime( datetime ) | Zwraca liczbę całkowitą reprezentującą składową dzień w miejscowego wartość argumentu Przykład day-z- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:hours-from- dateTime( datetime ) | Zwraca liczbę całkowitą reprezentującą składową godzin w zlokalizowanym wartość argumentu Przykład: godzina-z- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:minutes-from- dateTime( datetime ) | Zwraca liczbę całkowitą reprezentującą składową minut w zlokalizowanym wartość argumentu Przykład: minuta-z- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:seconds-from- dateTime( datetime ) | Zwraca dziesiętnych stanowi składnik sekund w zlokalizowanym wartość argumentu Przykład: s-z- dateTime(xs:dateTime("2005-01-10T12:30:00-04:10") ) |
fn:timezone-from- dateTime( datetime ) | Zwraca element strefy czasowej argument, jeśli dowolny |
fn:year-from- date( date ) | Zwraca liczbę całkowitą reprezentującą roku w miejscowej wartości argumentu Przykład: rok-od- date(xs:date("2005-04-23") ) |
fn:month-from- date( date ) | Zwraca liczbę całkowitą reprezentującą miesiąc w zlokalizowanej wartości argumentu Przykład: miesiąc od- date(xs:date("2005-04-23") ) |
fn:day-from- date( date ) | Zwraca liczbę całkowitą reprezentującą dzień w miejscowej wartości argumentu Przykład day-z- date(xs:date("2005-04-23") ) |
fn:timezone-from- date( date ) | Zwraca element strefy czasowej argument, jeśli dowolny |
fn:hours-from- time( time ) | Zwraca liczbę całkowitą reprezentującą składową godzin w zlokalizowanym wartość argumentu Przykład: godzina-z- time(xs:time("10:22:00") ) |
fn:minutes-from- time( time ) | Zwraca liczbę całkowitą reprezentującą składową minut w zlokalizowanym wartość argumentu Przykład: minuta-z- time(xs:time("10:22:00") ) |
fn:seconds-from- time( time ) | Zwraca liczbę całkowitą reprezentującą składową sekund w zlokalizowanym wartość argumentu Przykład: s-z- time(xs:time("10:22:00") ) |
fn:timezone-from- time( time ) | Zwraca element strefy czasowej argument, jeśli dowolny |
fn:adjust-dateTime-to- timezone( datetime,timezone ) | Jeśli argument jest pusta strefa czasowa, zwraca DateTime bez strefy czasowej. W przeciwnym razie, zwraca datetime ze strefy czasowej |
fn:adjust-date-to- timezone( date ,timezone ) | Jeśli argument stref czasowych jest pusta, to zwraca datę bez strefy czasowej. W przeciwnym razie, zwraca datę ze strefy czasowej |
fn:adjust-time-to- timezone( time ,timezone ) | Jeśli argument jest pusta strefa czasowa, zwraca czas bez strefy czasowej. W przeciwnym razie, zwraca czas ze strefy czasowej |
Funkcje związane z QNames
Nazwa | Opis |
---|---|
fn: QName() | |
fn:local-name-from- QName() | |
fn:namespace-uri-from- QName() | |
fn:namespace-uri-for- prefix() | |
fn:in-scope- prefixes() | |
fn:resolve- QName() |
Funkcje na węzłach
Nazwa | Opis |
---|---|
fn: name() fn: name( nodeset ) | Zwraca nazwę bieżącego węzła lub pierwszego węzła w określonym zbiorze węzłów |
fn:local- name() fn:local- name( nodeset ) | Zwraca nazwę bieżącego węzła lub pierwszego węzła w określonym zbiorze węzłów - bez przedrostka przestrzeni nazw |
fn:namespace- uri() fn:namespace- uri( nodeset ) | Zwraca URI przestrzeni nazw bieżącego węzła lub pierwszy węzeł w określonym zbiorze węzłów |
fn: lang( lang ) | Zwraca true, jeśli język bieżącego węzła pasuje języka określonym języku Przykład: Lang("en") odnosi się do Przykład: Lang("de") jest fałszywe dla |
fn: root() fn: root( node ) | Zwraca korzeń drzewa, do której należy bieżący węzeł lub określony. Będzie to zwykle węzeł dokument |
Funkcje na sekwencjach
Ogólne funkcje na sekwencjach
Nazwa | Opis |
---|---|
fn:index- of( (item,item,...) ,searchitem) | Zwraca pozycje w obrębie sekwencji elementów, które są równe argumentu searchitem Przykład: indeksu z ((15, 40, 25, 40, 10) , 40) Przykład: indeksu z (("a", "dog" , "and" , "a" , "duck") , "A"), Przykład: indeksu z ((15, 40, 25, 40, 10) , 18) |
fn: remove( (item,item,...) ,position) | Zwraca nową sekwencję skonstruowanego od wartości argumentów pozycji - z pozycji określonej przez argument pozycja usunięta Przykład: remove(("ab", "cd" , "ef") , 0) Przykład: remove(("ab", "cd" , "ef") 1) Przykład: remove(("ab", "cd" , "ef") , 4) |
fn: empty( item,item,... ) | Zwraca true, jeśli wartość argumentów jest pusty ciąg, w przeciwnym razie zwraca false Przykład: empty(remove(("ab", "cd") , 1)) |
fn: exists( item,item,... ) | Zwraca true, jeśli wartość argumentów nie jest pusty ciąg, w przeciwnym razie zwraca false Przykład: exists(remove(("ab") , 1)) |
fn:distinct- values( (item,item,...) ,collation) | Zwraca tylko odrębne (different) wartości Przykład: distinct- values((1, 2, 3, 1, 2) ) |
fn:insert- before( (item,item,...) ,pos,inserts) | Zwraca nową sekwencję skonstruowanego od wartości argumentów pozycji - z wartością argumentu wkładki umieszczonej w pozycji określonej przez argument pos Przykład: dodaje się: before(("ab", "cd") , 0, "GH") Przykład: dodaje się: before(("ab", "cd") , 1, "GH") Przykład: dodaje się: before(("ab", "cd") , 2 "GH") Przykład: dodaje się: before(("ab", "cd") , 5 "GH") |
fn: reverse( (item,item,...) ) | Zwraca odwróconą kolejność elementów określonych Na przykład: reverse(("ab", "cd" , "ef") ) Przykład: reverse(("ab") ) |
fn: subsequence( (item,item,...) ,start,len) | Zwraca ciąg przedmiotów z pozycji określonej przez argument rozpoczęcia i kontynuowania dla liczby elementów określonych przez argument len. Pierwszy element znajduje się w pozycji 1 Przykład: subsequence(($item1, $item2, $item3,...) , 3) Przykład: subsequence(($item1, $item2, $item3, ...) , 2, 2) |
fn: unordered( (item,item,...) ) | Zwraca elementy w kolejności zależnej od implementacji |
Funkcje tego testu liczność sekwencji
Nazwa | Opis |
---|---|
fn:zero-or- one( item,item,... ) | Zwraca argument, jeśli zawiera zero lub jeden rzeczy, w przeciwnym razie powoduje błąd |
fn:one-or- more( item,item,... ) | Zwraca argument, jeśli zawiera ona jedną lub więcej pozycji, w przeciwnym razie powoduje błąd |
fn:exactly- one( item,item,... ) | Zwraca argument, jeśli zawiera dokładnie jeden element, w przeciwnym razie powoduje błąd |
Równa, Union, z wyjątkiem skrzyżowania
Nazwa | Opis |
---|---|
fn:deep- equal( param1,param2,collation ) | Zwraca true jeśli param1 i param2 są głęboko sobie równe, w przeciwnym razie zwraca false |
Funkcje agregujące
Nazwa | Opis |
---|---|
fn: count( (item,item,...) ) | Zwraca liczbę węzłów |
fn: avg( (arg,arg,...) ) | Zwraca średnią z wartości argumentów Przykład: avg((1,2,3) ) |
fn: max( (arg,arg,...) ) | Zwraca argument, który jest większy niż inni Przykład: max((1,2,3) ) Przykład: max(('a', 'k') ) |
fn: min( (arg,arg,...) ) | Zwraca argument, który jest mniej niż inni Przykład: min((1,2,3) ) Przykład: min(('a', 'k') ) |
fn: sum( arg,arg,... ) | Zwraca sumę wartości liczbowej każdego węzła w określonym zestaw węzłów |
Funkcje, które generują sekwencje
Nazwa | Opis |
---|---|
fn: id( (string,string,...) ,node) | Zwraca ciąg węzłów elementów, które mają wartość identyfikatora równą wartości jednego lub więcej wartości podanej w argumencie |
fn: idref( (string,string,...) ,node) | Zwraca ciąg element lub atrybut węzłów, które mają wartość IDREF równą wartości jednego lub więcej wartości podanej w argumencie |
fn: doc( URI ) | |
fn:doc- available( URI ) | Zwraca true jeśli doc() zwraca węzeł dokumentu, w przeciwnym razie zwraca false |
fn: collection() fn: collection( string ) |
Funkcje kontekstowe
Nazwa | Opis |
---|---|
fn: position() | Zwraca indeks węzła, który jest aktualnie przetwarzany Przykład: // książka [ position() <3] |
fn: last() | Zwraca liczbę elementów w liście przetwarzanego węzła Przykład: // książka [ last() ] |
fn:current- dateTime() | Zwraca bieżącą dateTime (with timezone) |
fn:current- date() | Zwraca bieżącą datę (with timezone) |
fn:current- time() | Zwraca aktualny czas (with timezone) |
fn:implicit- timezone() | Zwraca wartość niejawnego strefy czasowej |
fn:default- collation() | Zwraca wartość domyślnego sortowania |
fn:static-base- uri() | Zwraca wartość podstawy-uri |
Funkcje XSLT
Ponadto, istnieją następujące wbudowane funkcje XSLT:
Nazwa | Opis |
---|---|
current() | Zwraca bieżący węzeł |
document() | Umożliwiają dostęp do węzłów w zewnętrznym dokumentu XML |
element- available() | Sprawdza, czy element określony jest obsługiwany przez procesor XSLT |
format- number() | Przekształca liczbę na łańcuch |
function- available() | Sprawdza czy funkcja określona jest obsługiwany przez procesor XSLT |
generate- id() | Zwraca ciąg znaków, który jednoznacznie identyfikuje określony węzeł |
key() | Zwraca zestaw węzłów przy użyciu wskaźnika określonego przez <xsl:key> elementu |
system- property() | Zwraca wartość właściwości systemowych |
unparsed-entity- uri() | Zwraca URI nieprzeanalizowanej podmiotu |