En son web geliştirme öğreticiler
 

XSLT XPath ve XQuery işlevler


XSLT 2.0, XPath 2.0 ve XQuery 1.0, aynı fonksiyonlar kütüphanesi paylaşır.


Fonksiyonlar Referans

fonksiyon ad alanı için varsayılan önek fn geçerli:
fonksiyon ad alanının URI: http://www.w3.org/2005/xpath-functions

Tip: Fonksiyonlar genellikle fn ile adlandırılır: öneki gibi fn olarak: string() . Ancak, fn tarihi: ad varsayılan öneki aradığında, fonksiyon isimleri önek gerekmez.

erişimci İşlevleri

isim Açıklama
fn:node- name( node ) argüman düğümün düğüm-adını döndürür
fn: nilled( node ) belirtilen düğüm nilled olup olmadığını gösteren bir Boolean değeri döndürür
fn: data( item.item,... ) öğelerin bir diziyi alır ve atomik değerler dizisi döndürür
fn:base- uri()
fn:base- uri( node )
Mevcut veya belirtilen düğümün baz uri özelliği değerini döndürür
fn:document- uri( node ) Belirtilen düğüm için belge uri özelliğinin değerini döndürür

Hata ve İz İşlevleri

isim Açıklama
fn: error()
fn: error( error )
fn: error( error,description )
fn: error( error,description,error-object )
Örnek: error(fn: QName('http://example.com/test', 'err:toohigh') , 'Hata: Fiyat çok yüksek')

Sonuç: İade http://example.com/test#toohigh ve dize "Error: Price is too high" dış işleme ortamına

fn: trace( value,label ) ayıklama sorguları için kullanılır

Sayısal Değerler Fonksiyonlar

isim Açıklama
fn: number( arg ) Tartışmanın sayısal değeri döndürür. argüman bir boolean, string veya düğüm kümesi olabilir

Örnek: number('100')
Sonuç: 100

fn: abs( num ) Tartışmanın mutlak değerini döndürür

Örnek: abs(3.14)
Sonuç: 3.14

Örnek: abs(-3.14)
Sonuç: 3.14

fn: ceiling( num ) sayı argümanı daha büyüktür küçük tamsayı döndürür

Örnek: ceiling(3.14)
Sonuç: 4

fn: floor( num ) sayı argümanı daha büyük değildir büyük tamsayı döndürür

Örnek: floor(3.14)
Sonuç: 3

fn: round( num ) en yakın tam sayı argümanını yuvarlar

Örnek: round(3.14)
Sonuç: 3

fn:round-half-to- even() Örnek: yuvarlak yarı to even(0.5)
Sonuç: 0

Örnek: yuvarlak yarı to even(1.5)
Sonuç: 2

Örnek: yuvarlak yarı to even(2.5)
Sonuç: 2

Strings üzerinde İşlevleri

isim Açıklama
fn: string( arg ) Tartışmanın dize değerini döndürür. değişkeni bir sayı, mantıksal ya da düğüm kümesi olabilir

Örnek: string(314)
Sonuç: "314"

fn:codepoints-to- string(( int,int,... ) ) Unicode standardı kod noktalarına bir diziden bir dizi oluşturur

Örnek: codepoints-to- string((84, 104, 233, 114, 232, 115, 101) )
Sonuç: 'Thrse'

fn:string-to- codepoints( string ) Bir dizeden Unicode standart kod noktalarının sırasını döndürür

Örnek: string-to- codepoints("Th r se")
Sonuç: (84, 104, 233, 114, 232, 115, 101)

fn:codepoint- equal( comp1,comp2 ) COMP1 değeri Unicode kod noktası harmanlama göre Comp2 değerine eşit ise doğru döndürür (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) , aksi takdirde yanlış döndürür,
fn: compare( comp1,comp2 )
fn: compare( comp1,comp2,collation )
İade -1 COMP1 Comp2, 0 daha düşük ise, COMP1 COMP1 Comp2 daha büyük olduğu takdirde (kullanılan harmanlama kurallarına göre) Comp2 eşittir ya da 1 ise

Örnek: compare('ghi', 'ghi')
Sonuç: 0

fn: concat( string,string,... ) Dizeler döndürür

Örnek: concat('XPath ','is ','FUN!')
Sonuç: 'XPath FUN!'

fn:string- join( (string,string,...) ,sep) ayırıcı olarak Eylül argüman dize argümanlar birbirine ve kullanılarak oluşturulan bir dize döndürür

Örnek: STRING join(('We', 'are', 'having', 'fun!') ' ')
Sonuç: 'Biz eğleniyorlar! '

Örnek: STRING join(('We', 'are', 'having', 'fun!') )
Sonuç: 'Wearehavingfun!'

Örnek: STRING join(() , 'sep')
Sonuç: ''

fn: substring( string,start,len )
fn: substring( string,start )
Belirtilen uzunluğa başlangıç ​​pozisyonundan alt dizesini döndürür. ilk karakterin Endeksi 1'dir uzunluğu sonuna başlangıç ​​pozisyonundan alt dizeyi döndürür atlanırsa

Örnek: substring('Beatles',1,4)
Sonuç: 'yendi'

Örnek: substring('Beatles',2)
Sonuç: 'eatles'

fn:string- length( string )
fn:string- length()
Belirtilen dize uzunluğunu döndürür. Hiçbir dize argümanı varsa mevcut düğümün dize değeri uzunluğunu döndürür

Örnek: STRING length('Beatles')
Sonuç: 7

fn:normalize- space( string )
fn:normalize- space()
ön ve belirtilen dize sondaki boşlukları kaldırır, ve bir beyaz alan tüm iç dizisine yerleşir ve sonuç verir. Hiçbir dize argümanı varsa mevcut düğümün aynı yapar

Örnek: normalize- space(' The XML ')
Sonuç: 'XML'

fn:normalize- unicode()
fn:upper- case( string ) harf öğesine dize argümanı dönüştürür

Örnek: üst- case('The XML')
Sonuç: 'XML'

fn:lower- case( string ) alt duruma dize argümanı dönüştürür

Örnek: düşük- case('The XML')
Sonuç: 'xml'

fn: translate( string1,string2,string3 ) string3 içinde karakterlerle dize2 karakterleri değiştirerek dize1 dönüştürür

Örnek: translate('12:30','30','45')
Sonuç: '12: 45'

Örnek: translate('12:30','03','54')
Sonuç: '12: 45'

Örnek: translate('12:30','0123','abcd')
Sonuç: 'bc: da'

fn:escape- uri( stringURI,esc-res ) Örnek: escape- uri("http://example.com/test#car", true() )
Sonuç: "http%3A%2F%2Fexample.com%2Ftest#car"

Örnek: escape- uri("http://example.com/test#car", false() )
Sonuç: "http://example.com/test#car"

Örnek: kaçış uri ("http://example.com/~b b ", false() )
Sonuç: "http://example.com/~b%C3%A9b%C3%A9"

fn: contains( string1,string2 ) dize1 dize2 içeriyorsa, aksi takdirde false döndürür true döndürür

Örnek: contains('XML','XM')
Sonuç: true

fn:starts- with( string1,string2 ) dize1 dize2 ile başlıyorsa, aksi takdirde false döndürür true döndürür

Örnek: starts- with('XML','X')
Sonuç: true

fn:ends- with( string1,string2 ) dize1 dize2 ile biterse, aksi takdirde false döndürür true döndürür

Örnek: etraf- with('XML','X')
Sonuç: false

fn:substring- before( string1,string2 ) dize2 içinde oluşmadan önce dize1 başlangıcını döndürür

Örnek: substring- before('12/10','/')
Sonuç: '12'

fn:substring- after( string1,string2 ) dize2 içinde oluştuktan sonra dize1 kalanını döndürür

Örnek: substring- after('12/10','/')
Sonuç: '10'

fn: matches( string,pattern ) dize argümanı kalıpla eşleşen aksi takdirde, yanlış döndürür true döndürür

Örnek: matches("Merano", "ran")
Sonuç: true

fn: replace( string,pattern,replace ) yerine argümanla verilen desen değiştirilmesiyle oluşturulan bir dize döndürür

Örnek: replace("Bella Italia", "l" , "*")
Sonuç: '** Bir Ita * ia Be'

Örnek: replace("Bella Italia", "l" , "")
Sonuç: 'Bea Itaia'

fn: tokenize( string,pattern ) Örnek: tokenize("XPath is fun", "\s+")
Sonuç: ("XPath", "is" , "fun")

AnyURI için İşlevleri

isim Açıklama
fn:resolve- uri( relative,base )

Boole Değerler Fonksiyonlar

isim Açıklama
fn: boolean( arg ) Bir sayı, dize veya düğüm-kümesi için bir boole değeri döndürür
fn: not( arg ) Argüman birinci uygulama ile mantıksal değere indirgenir boolean() işlev. boole değeri doğru ise boolean değer false ve yanlış doğrudur döndürür eğer

Örnek: not( true() )
Sonuç: false

fn: true() boolean değer true döndürür

Örnek: true()
Sonuç: true

fn: false() boolean değer false döndürür

Örnek: false()
Sonuç: false

Süreler, tarih ve saatlerde İşlevleri

Süreler, tarih ve saatlerde Bileşen Ekstraksiyon İşlevleri

isim Açıklama
fn: dateTime( date,time ) Bir tarih ve zaman argümanlar dönüştürür
fn:years-from- duration( datetimedur ) bağımsız değişken değerinin standart sözcük gösterimi yıl bileşenini temsil eden bir tamsayıyı döndürür
fn:months-from- duration( datetimedur ) bağımsız değişken değerinin standart sözcük gösterimi ay bileşenini temsil eden bir tamsayıyı döndürür
fn:days-from- duration( datetimedur ) bağımsız değişken değerinin standart sözcük gösterimi gün bileşenini temsil eden bir tamsayıyı döndürür
fn:hours-from- duration( datetimedur ) bağımsız değişken değerinin standart sözcük gösterimi saat bileşenini temsil eden bir tamsayıyı döndürür
fn:minutes-from- duration( datetimedur ) bağımsız değişken değerinin standart sözcük gösterimi dakikada bileşenini temsil eden bir tamsayıyı döndürür
fn:seconds-from- duration( datetimedur ) bağımsız değişken değerinin standart sözcük gösterimi saniye bileşenini temsil eden bir ondalık döndürür
fn:year-from- dateTime( datetime ) Tartışmanın lokalize değerindeki yıl bileşenini temsil eden bir tamsayı döndürür

Örnek: yıl-dan- dateTime(xs: dateTime("2005-01-10T12:30-04:10") )
Sonuç: 2005

fn:month-from- dateTime( datetime ) bağımsız değişken lokalize değerinde ay bileşen temsil eden bir tamsayıyı döndürür

Örnek: aylık dan- dateTime(xs: dateTime("2005-01-10T12:30-04:10") )
Sonuç: 01

fn:day-from- dateTime( datetime ) bağımsız değişken lokalize değerinde günlük bileşenini temsil eden bir tamsayıyı döndürür

Örnek: gün-dan- dateTime(xs: dateTime("2005-01-10T12:30-04:10") )
Sonuç: 10

fn:hours-from- dateTime( datetime ) bağımsız değişken lokalize değerinde saat bileşenini temsil eden bir tamsayıyı döndürür

Örnek: saat-dan- dateTime(xs: dateTime("2005-01-10T12:30-04:10") )
Sonuç: 12

fn:minutes-from- dateTime( datetime ) bağımsız değişken lokalize değerinde dakika bileşenini temsil eden bir tamsayıyı döndürür

Örnek: dakika-dan- dateTime(xs: dateTime("2005-01-10T12:30-04:10") )
Sonuç: 30

fn:seconds-from- dateTime( datetime ) Tartışmanın lokalize değer saniye bileşenini temsil eden bir ondalık döndürür

Örnek: saniye-dan- dateTime(xs: dateTime("2005-01-10T12:30:00-04:10") )
Sonuç: 0

fn:timezone-from- dateTime( datetime ) Varsa Tartışmanın saat dilimi bileşenini döndürür
fn:year-from- date( date ) Tartışmanın lokalize değerindeki yılı temsil eden bir tamsayı döndürür

Örnek: Yıl dan- date(xs: date("2005-04-23") )
Sonuç: 2005

fn:month-from- date( date ) Tartışmanın lokalize değerindeki ay temsil eden bir tamsayı döndürür

Örnek: ay-dan- date(xs: date("2005-04-23") )
Sonuç: 4

fn:day-from- date( date ) Tartışmanın lokalize değerindeki güne temsil eden bir tamsayı döndürür

Örnek: gün-dan- date(xs: date("2005-04-23") )
Sonuç: 23

fn:timezone-from- date( date ) Varsa Tartışmanın saat dilimi bileşenini döndürür
fn:hours-from- time( time ) bağımsız değişken lokalize değerinde saat bileşenini temsil eden bir tamsayıyı döndürür

Örnek: saat-dan- time(xs: time("10:22:00") )
Sonuç: 10

fn:minutes-from- time( time ) bağımsız değişken lokalize değerinde dakika bileşenini temsil eden bir tamsayıyı döndürür

Örnek: dakika-dan- time(xs: time("10:22:00") )
Sonuç: 22

fn:seconds-from- time( time ) bağımsız değişken lokalize değerinde saniye bileşenini temsil eden bir tamsayıyı döndürür

Örnek: saniye-dan- time(xs: time("10:22:00") )
Sonuç: 0

fn:timezone-from- time( time ) Varsa Tartışmanın saat dilimi bileşenini döndürür
fn:adjust-dateTime-to- timezone( datetime,timezone ) zaman dilimi argümanı boşsa, bir saat dilimi olmadan bir datetime döndürür. Aksi takdirde, bir saat dilimiyle bir datetime döndüren
fn:adjust-date-to- timezone( date ,timezone ) zaman dilimi argümanı boşsa, bir saat dilimi olmadan bir tarih döndürür. Aksi takdirde, bir saat dilimiyle bir tarih döndürür
fn:adjust-time-to- timezone( time ,timezone ) zaman dilimi argümanı boşsa, bir saat dilimi olmadan bir zaman döndürür. Aksi takdirde, bir saat dilimiyle bir zaman döndürür

NitelAd lardan İlişkin Fonksiyonlar

isim Açıklama
fn: QName()
fn:local-name-from- QName()
fn:namespace-uri-from- QName()
fn:namespace-uri-for- prefix()
fn:in-scope- prefixes()
fn:resolve- QName()

Düğümlerinde İşlevleri

isim Açıklama
fn: name()
fn: name( nodeset )
Belirtilen düğüm kümesinde geçerli düğümün veya ilk düğümün adını döndürür
fn:local- name()
fn:local- name( nodeset )
Geçerli düğümün veya belirtilen düğüm kümedeki ilk düğümün adı döndürür - ad alanı öneki olmadan
fn:namespace- uri()
fn:namespace- uri( nodeset )
Geçerli düğümün alanı tanım veya birinci düğüm belirtilen düğüm kümesi döndürür
fn: lang( lang ) Geçerli düğümün dili, belirtilen dilin diliyle eşleşen true döndürür

Örnek: Lang("en") için de geçerlidir
<P xml: lang = "tr"> ... </ p>

Örnek: Lang("de") için yanlıştır
<P xml: lang = "tr"> ... </ p>

fn: root()
fn: root( node )
Geçerli düğüm veya belirtilen ait olduğu ağacın kökü getirir. Bu genellikle bir belge düğümü olacak

Diziler üzerinde İşlevleri

Diziler Genel Fonksiyonlar

isim Açıklama
fn:index- of( (item,item,...) ,searchitem) searchitem argüman eşit olan öğelerin dizisi içinde konumlarını döndürür

Örnek: göstergesi-bölgesinin ((15, 40, 25, 40, 10) , 40)
Sonuç: (2, 4)

Örnek: endeksi-of (("a", "dog" , "and" , "a" , "duck") , "a")
Sonuç (1, 4)

Örnek: göstergesi-bölgesinin ((15, 40, 25, 40, 10) , 18)
Sonuç: ()

fn: remove( (item,item,...) ,position) uzaklaştırıldı konum bağımsız değişken ile belirtilen madde ile - et argümanlar değerinden inşa edilen yeni bir dizisini döndürür

Örnek: remove(("ab", "cd" , "ef") , 0)
Sonuç: ("ab", "cd" , "ef")

Örnek: remove(("ab", "cd" , "ef") , 1)
Sonuç: ("cd", "ef")

Örnek: remove(("ab", "cd" , "ef") , 4)
Sonuç: ("ab", "cd" , "ef")

fn: empty( item,item,... ) argümanların değer boş bir dizi IS aksi takdirde yanlış döndürür true döndürür

Örnek: empty( remove(("ab", "cd") , 1))
Sonuç: false

fn: exists( item,item,... ) argümanların değer boş bir dizi DEĞİL, aksi takdirde yanlış döndürür true döndürür

Örnek: exists( remove(("ab") , 1))
Sonuç: false

fn:distinct- values( (item,item,...) ,collation) Sadece farklı döndürür (different) değerleri

Örnek: distinct- values((1, 2, 3, 1, 2) )
Sonuç: (1, 2, 3)

fn:insert- before( (item,item,...) ,pos,inserts) Poz bağımsız değişken ile belirtilen pozisyonda yerleştirilen ekler bağımsız değişken değeriyle - et argümanlar değerinden inşa edilen yeni bir dizisini döndürür

Örnek: Ekle- before(("ab", "cd") , 0, "GH"),
Sonuç: ("gh", "ab" , "cd")

Örnek: Ekle- before(("ab", "cd") , 1, "GH"),
Sonuç: ("gh", "ab" , "cd")

Örnek: Ekle- before(("ab", "cd") , 2, "GH"),
Sonuç: ("ab", "gh" , "cd")

Örnek: Ekle- before(("ab", "cd") , 5, "gh")
Sonuç: ("ab", "cd" , "gh")

fn: reverse( (item,item,...) ) Belirtilen öğelerin tersine sırasını döndürür

Örnek: reverse(("ab", "cd" , "ef") )
Sonuç: ("ef", "cd" , "ab")

Örnek: reverse(("ab") )
Sonuç: ("ab")

fn: subsequence( (item,item,...) ,start,len) Başlangıç ​​argüman ve len argüman tarafından belirtilen öğelerin sayısı için devam ederek belirlenen pozisyondan öğelerin bir diziyi döndürür. İlk öğe konumunda 1 bulunmaktadır

Örnek: subsequence(($item1, $item2, $item3,...) , 3)
Sonuç: ($item3, ...)

Örnek: subsequence(($item1, $item2, $item3, ...) , 2, 2)
Sonuç: ($item2, $item3)

fn: unordered( (item,item,...) ) bir uygulama bağımlı sırayla öğeleri döndürür

Dizilerin kardinalitesi test İşlevleri

isim Açıklama
fn:zero-or- one( item,item,... ) o sıfır veya bir öğe içeriyorsa, aksi takdirde bir hata tutarsa, argümanı döndürür
fn:one-or- more( item,item,... ) bir veya daha fazla öğe içeriyorsa, aksi takdirde bir hata tutarsa, argümanı döndürür
fn:exactly- one( item,item,... ) tam olarak bir öğe içeriyorsa, aksi takdirde bir hata tutarsa, argümanı döndürür

, Birleşim, kesişim ve dışında Eşittir

isim Açıklama
fn:deep- equal( param1,param2,collation ) aksi takdirde false döndürür, Param1 ve param2 birbirine derin eşitse true döndürür

Agrega İşlevleri

isim Açıklama
fn: count( (item,item,...) ) düğümlerin sayısını döndürür
fn: avg( (arg,arg,...) ) argüman değerlerinin ortalamasını döndürür

Örnek: avg((1,2,3) )
Sonuç: 2

fn: max( (arg,arg,...) ) diğerlerinden daha büyüktür argümanı döndürür

Örnek: max((1,2,3) )
Sonuç: 3

Örnek: max(('a', 'k') )
Sonuç: 'k'

fn: min( (arg,arg,...) ) diğerlerine göre daha az olduğu argümanı döndürür

Örnek: min((1,2,3) )
Sonuç: 1

Örnek: min(('a', 'k') )
Sonuç: 'a'

fn: sum( arg,arg,... ) Belirtilen düğüm kümesindeki her düğümün sayısal değerinin toplamını verir

Dizileri üret İşlevleri

isim Açıklama
fn: id( (string,string,...) ,node) dizge bileşen olarak belirtilen bir ya da daha fazlası değerleri değerine eşit bir İD değeri ihtiva eleman düğüm dizisi döndürür
fn: idref( (string,string,...) ,node) dizge bileşen olarak belirtilen bir ya da daha fazlası değerleri değerine eşit bir IDREF değerine sahip öğe veya nitelik düğüm dizisi döndürür
fn: doc( URI )
fn:doc- available( URI ) True döndürür doc() işlevi, bir belge düğümü döndürür aksi takdirde false döndürür,
fn: collection()
fn: collection( string )

Bağlam İşlevleri

isim Açıklama
fn: position() şu anda işleniyor düğümün dizin konumunu döndürür

Örnek: // kitap [ position() <3]
Sonuç: İlk üç kitabı elemanlarını seçer

fn: last() İşlenmiş düğüm listesindeki öğelerin sayısını döndürür

Örnek: // kitap [ last() ]
Sonuç: son kitap elemanı seçer

fn:current- dateTime() Mevcut tarih döndürür (with timezone)
fn:current- date() Geçerli tarihi döndürür (with timezone)
fn:current- time() Geçerli saati döndürür (with timezone)
fn:implicit- timezone() örtük diliminin değerini döndürür
fn:default- collation() varsayılan harmanlama değerini döndürür
fn:static-base- uri() değerini verir baz uri

XSLT İşlevleri

Buna ek olarak, aşağıdaki yerleşik XSLT fonksiyonları:

isim Açıklama
current() Geçerli düğümü döndürür
document() Harici bir XML belgesindeki düğümleri erişmek için kullanılır
element- available() Testler, belirtilen eleman XSLT işlemcisi tarafından desteklenip desteklenmediğini
format- number() Bir diziden bir dizi dönüştürür
function- available() Testler, belirtilen işlevi asıl dönüşümün işlemci tarafından desteklenip desteklenmediğini
generate- id() benzersiz belirli bir düğümü tanımlayan bir dize değeri döndürür
key() Bir belirttiği dizini kullanarak bir düğüm kümesi döndürür <xsl:key> elemanı
system- property() sistem özelliklerinin değerini döndürür
unparsed-entity- uri() Bir çözümlenmemiş öğe URI İade