Najnowsze tutoriale tworzenie stron internetowych
 

XSLT XPath i XQuery Funkcje


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

fn: abs( num ) Zwraca wartość bezwzględną argumentu

Przykład: abs(3.14)
Wynik: 3,14

Przykład: abs(-3.14)
Wynik: 3,14

fn: ceiling( num ) Zwraca najmniejszą liczbę całkowitą, która jest większa niż liczba argumentów

Przykład: ceiling(3.14)
Wynik: 4

fn: floor( num ) Zwraca największą liczbę całkowitą, która jest nie większa niż liczba argumentów

Przykład: floor(3.14)
Wynik: 3

fn: round( num ) Zaokrągla numeryczny argument do najbliższej liczby całkowitej

Na przykład: round(3.14)
Wynik: 3

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)
Wynik: 2

Na przykład: okrągły, pół-to- even(2.5)
Wynik: 2

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)
Wynik: "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) )
Wynik: 'Thrse'

fn:string-to- codepoints( string ) Zwraca kolejność Unicode standardowych punktów kodowych z ciągiem

Przykład STRING-to- codepoints("Th r se")
Wynik: (84, 104, 233, 114, 232, 115, 101)

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')
Wynik: 0

fn: concat( string,string,... ) Zwraca połączenie ciągów

Przykład: concat('XPath ','is ','FUN!')
Wynik: "XPath jest zabawa!

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!') , ' „)
Rezultat: "Jesteśmy zabawy! '

Przykład: String join(('We', 'are', 'having', 'fun!') )
Wynik: "Wearehavingfun!

Przykład: String join(() , ')' sep
Rezultat: „”

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)
Wynik: 'beat'

Przykład: substring('Beatles',2)
Rezultat: '' eatles

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')
Rezultat: 7

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 ')
Wynik: „XML”

fn:normalize- unicode()
fn:upper- case( string ) Konwertuje argument ciąg do górnej przypadku

Przykład: Ograniczenie górne case('The XML')
Wynik: „xml”

fn:lower- case( string ) Konwertuje argument ciąg do małymi literami

Przykład: niższy case('The XML')
Wynik: „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')
Rezultat: '12: 45'

Przykład: translate('12:30','03','54')
Rezultat: '12: 45'

Przykład: translate('12:30','0123','abcd')
Rezultat: 'bc: da'

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

Przykład: ucieczki URI ("http://example.com/~b b ", false() )
Wynik: "http://example.com/~b%C3%A9b%C3%A9"

fn: contains( string1,string2 ) Zwraca true jeśli łańcuch1 zawiera łańcuch2, w przeciwnym razie zwraca false

Przykład: contains('XML','XM')
Wynik: true

fn:starts- with( string1,string2 ) Zwraca true jeśli string1 rozpoczyna łańcuch2, w przeciwnym razie zwraca false

Przykład: starts- with('XML','X')
Wynik: true

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')
Wynik: false

fn:substring- before( string1,string2 ) Zwraca początek łańcuch1 przed wystąpieniem łańcuch2 w nim

Przykład: substring- before('12/10','/')
Rezultat: '12'

fn:substring- after( string1,string2 ) Zwraca resztę łańcuch1 po wystąpieniu w nim łańcuch2

Przykład: substring- after('12/10','/')
Rezultat: '10'

fn: matches( string,pattern ) Zwraca true, jeśli argument string pasuje do wzorca, w przeciwnym razie zwraca false

Przykład: matches("Merano", "ran")
Wynik: true

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" , "*")
Wynik: 'Bądź ** Ita * ia'

Przykład: replace("Bella Italia", "l" , "")
Wynik: 'Bea Itaia'

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() )
Wynik: false

fn: true() Zwraca wartość logiczną prawda

Przykład: true()
Wynik: true

fn: false() Zwraca wartość logiczną false

Przykład: false()
Wynik: 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") )
Rezultat: 2005

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") )
Rezultat: 01

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") )
Rezultat: 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") )
Rezultat: 12

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") )
Rezultat: 30

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") )
Wynik: 0

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

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") )
Wynik: 4

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") )
Rezultat: 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") )
Rezultat: 10

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") )
Rezultat: 22

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") )
Wynik: 0

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
<P xml: lang = "pl"> ... </ p>

Przykład: Lang("de") jest fałszywe dla
<P xml: lang = "pl"> ... </ p>

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)
Wynik: (2, 4)

Przykład: indeksu z (("a", "dog" , "and" , "a" , "duck") , "A"),
Wynik (1, 4)

Przykład: indeksu z ((15, 40, 25, 40, 10) , 18)
Rezultat: ()

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)
Rezultat: ("ab", "cd" , "ef")

Przykład: remove(("ab", "cd" , "ef") 1)
Rezultat: ("cd", "ef")

Przykład: remove(("ab", "cd" , "ef") , 4)
Rezultat: ("ab", "cd" , "ef")

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))
Wynik: false

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))
Wynik: false

fn:distinct- values( (item,item,...) ,collation) Zwraca tylko odrębne (different) wartości

Przykład: distinct- values((1, 2, 3, 1, 2) )
Wynik: (1, 2, 3)

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")
Rezultat: ("gh", "ab" , "cd")

Przykład: dodaje się: before(("ab", "cd") , 1, "GH")
Rezultat: ("gh", "ab" , "cd")

Przykład: dodaje się: before(("ab", "cd") , 2 "GH")
Rezultat: ("ab", "gh" , "cd")

Przykład: dodaje się: before(("ab", "cd") , 5 "GH")
Rezultat: ("ab", "cd" , "gh")

fn: reverse( (item,item,...) ) Zwraca odwróconą kolejność elementów określonych

Na przykład: reverse(("ab", "cd" , "ef") )
Rezultat: ("ef", "cd" , "ab")

Przykład: reverse(("ab") )
Rezultat: ("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)
Rezultat: ($item3, ...)

Przykład: subsequence(($item1, $item2, $item3, ...) , 2, 2)
Rezultat: ($item2, $item3)

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) )
Wynik: 2

fn: max( (arg,arg,...) ) Zwraca argument, który jest większy niż inni

Przykład: max((1,2,3) )
Wynik: 3

Przykład: max(('a', 'k') )
Rezultat: 'k'

fn: min( (arg,arg,...) ) Zwraca argument, który jest mniej niż inni

Przykład: min((1,2,3) )
Wynik: 1

Przykład: min(('a', 'k') )
Rezultat: 'a'

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]
Rezultat: Wybiera pierwsze trzy elementy książki

fn: last() Zwraca liczbę elementów w liście przetwarzanego węzła

Przykład: // książka [ last() ]
Rezultat: Wybiera ostatni element książki

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