tutorial pengembangan web terbaru
 

XSLT XPath, dan XQuery Fungsi


XSLT 2.0, XPath 2.0, dan XQuery 1.0, berbagi fungsi perpustakaan yang sama.


fungsi Referensi

Awalan default untuk fungsi namespace adalah fn:
URI dari fungsi namespace adalah: http://www.w3.org/2005/xpath-functions

Tip: Fungsi sering disebut dengan fn yang: awalan, seperti fn: string() . Namun, karena fn: adalah awalan default namespace, nama fungsi tidak perlu diawali saat dipanggil.

Fungsi accessor

Nama Deskripsi
fn:node- name( node ) Mengembalikan simpul-nama node argumen
fn: nilled( node ) Mengembalikan nilai Boolean yang menunjukkan apakah simpul argumen nilled
fn: data( item.item,... ) Mengambil urutan item dan mengembalikan urutan nilai atom
fn:base- uri()
fn:base- uri( node )
Mengembalikan nilai properti dasar-uri dari node saat ini atau yang ditentukan
fn:document- uri( node ) Mengembalikan nilai properti dokumen-uri untuk node tertentu

Kesalahan dan Trace Fungsi

Nama Deskripsi
fn: error()
fn: error( error )
fn: error( error,description )
fn: error( error,description,error-object )
Contoh: error(fn:QName('http://example.com/test', 'err:toohigh') , 'Error: Harga terlalu tinggi')

Hasil: Pengembalian http://example.com/test#toohigh dan string "Error: Price is too high" dengan lingkungan pengolahan eksternal

fn: trace( value,label ) Digunakan untuk query men-debug

Fungsi pada Nilai Numerik

Nama Deskripsi
fn: number( arg ) Mengembalikan nilai numerik dari argumen. Argumen bisa menjadi boolean, string, atau node-set

Contoh: number('100')
Hasil: 100

fn: abs( num ) Mengembalikan nilai absolut dari argumen

Contoh: abs(3.14)
Hasil: 3.14

Contoh: abs(-3.14)
Hasil: 3.14

fn: ceiling( num ) Mengembalikan bilangan bulat terkecil yang lebih besar dari argumen nomor

Contoh: ceiling(3.14)
Hasil: 4

fn: floor( num ) Mengembalikan bilangan bulat terbesar yang tidak lebih besar dari argumen nomor

Contoh: floor(3.14)
Hasil: 3

fn: round( num ) Rounds jumlah argumen ke bilangan bulat terdekat

Contoh: round(3.14)
Hasil: 3

fn:round-half-to- even() Contoh: round-setengah-to- even(0.5)
Hasil: 0

Contoh: round-setengah-to- even(1.5)
Hasil: 2

Contoh: round-setengah-to- even(2.5)
Hasil: 2

Fungsi pada String

Nama Deskripsi
fn: string( arg ) Mengembalikan nilai string dari argumen. Argumen bisa menjadi nomor, boolean, atau node-set

Contoh: string(314)
Hasil: "314"

fn:codepoints-to- string(( int,int,... ) ) Menciptakan string dari urutan kode Unicode Standard poin

Contoh: codepoints-to- string((84, 104, 233, 114, 232, 115, 101) )
Hasil: 'Thrse'

fn:string-to- codepoints( string ) Mengembalikan urutan Unicode poin kode standar dari sebuah string

Contoh: string-to- codepoints("Th r se")
Hasil: (84, 104, 233, 114, 232, 115, 101)

fn:codepoint- equal( comp1,comp2 ) Mengembalikan nilai true jika nilai comp1 sama dengan nilai comp2, menurut Unicode kode titik pemeriksaan (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) , jika tidak maka kembali palsu
fn: compare( comp1,comp2 )
fn: compare( comp1,comp2,collation )
Mengembalikan -1 jika comp1 kurang dari comp2, 0 jika comp1 sama dengan comp2, atau 1 jika comp1 lebih besar dari comp2 (sesuai dengan aturan pemeriksaan yang digunakan)

Contoh: compare('ghi', 'ghi')
Hasil: 0

fn: concat( string,string,... ) Mengembalikan gabungan dari string

Contoh: concat('XPath ','is ','FUN!')
Hasil: 'XPath adalah FUN!'

fn:string- join( (string,string,...) ,sep) Mengembalikan sebuah string dibuat dengan menggabungkan argumen tali dan menggunakan argumen September sebagai pemisah

Contoh: STRING- join(('We', 'are', 'having', 'fun!') ,' ')
Hasil: "Kami bersenang-senang! '

Contoh: STRING- join(('We', 'are', 'having', 'fun!') )
Hasil: 'Wearehavingfun!'

Contoh: STRING- join(() , 'September')
Hasil: ''

fn: substring( string,start,len )
fn: substring( string,start )
Mengembalikan substring dari posisi awal dengan panjang tertentu. Indeks dari karakter pertama adalah 1. Jika panjang dihilangkan ia mengembalikan substring dari posisi awal sampai akhir

Contoh: substring('Beatles',1,4)
Hasil: 'Beat'

Contoh: substring('Beatles',2)
Hasil: 'eatles'

fn:string- length( string )
fn:string- length()
Mengembalikan panjang string yang ditentukan. Jika tidak ada argumen string itu mengembalikan panjang nilai string dari node saat ini

Contoh: STRING- length('Beatles')
Hasil: 7

fn:normalize- space( string )
fn:normalize- space()
Menghapus terkemuka dan trailing spasi dari string yang ditentukan, dan menggantikan semua urutan internal ruang putih dengan satu dan mengembalikan hasilnya. Jika tidak ada argumen string melakukan hal yang sama pada node saat ini

Contoh: normalize- space(' The XML ')
Hasilnya: 'The XML'

fn:normalize- unicode()
fn:upper- case( string ) Mengkonversi argumen string untuk huruf besar

Contoh: huruf besar case('The XML')
Hasil: 'THE XML'

fn:lower- case( string ) Mengkonversi argumen string untuk huruf kecil

Contoh: lebih rendah untuk case('The XML')
Hasil: 'xml'

fn: translate( string1,string2,string3 ) Mengkonversi string1 dengan mengganti karakter dalam string2 dengan karakter di string3

Contoh: translate('12:30','30','45')
Hasil: '12: 45'

Contoh: translate('12:30','03','54')
Hasil: '12: 45'

Contoh: translate('12:30','0123','abcd')
Hasil: 'bc: da'

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

Contoh: escape- uri("http://example.com/test#car", false() )
Hasil: "http://example.com/test#car"

Contoh: melarikan diri-uri ("http://example.com/~b b ", false() )
Hasil: "http://example.com/~b%C3%A9b%C3%A9"

fn: contains( string1,string2 ) Mengembalikan nilai true jika string1 berisi string2, jika tidak maka kembali palsu

Contoh: contains('XML','XM')
Hasil: true

fn:starts- with( string1,string2 ) Mengembalikan nilai true jika string1 dimulai dengan string2, jika tidak maka kembali palsu

Contoh: langkah awal yang with('XML','X')
Hasil: true

fn:ends- with( string1,string2 ) Mengembalikan nilai true jika string1 berakhir dengan string2, jika tidak maka kembali palsu

Contoh: ends- with('XML','X')
Hasil: false

fn:substring- before( string1,string2 ) Mengembalikan awal string1 sebelum string2 terjadi di dalamnya

Contoh: substring- before('12/10','/')
Hasil: '12'

fn:substring- after( string1,string2 ) Mengembalikan sisa string1 setelah string2 terjadi di dalamnya

Contoh: substring- after('12/10','/')
Hasil: '10'

fn: matches( string,pattern ) Mengembalikan nilai true jika argumen string cocok dengan pola, jika tidak, ia mengembalikan palsu

Contoh: matches("Merano", "ran")
Hasil: true

fn: replace( string,pattern,replace ) Mengembalikan sebuah string yang dibuat dengan mengganti pola yang diberikan dengan mengganti argumen

Contoh: replace("Bella Italia", "l" , "*")
Hasil: 'Jadilah ** a Ita * besarbesaran'

Contoh: replace("Bella Italia", "l" , "")
Hasil: 'Bea Itaia'

fn: tokenize( string,pattern ) Contoh: tokenize("XPath is fun", "\s+")
Hasil: ("XPath", "is" , "fun")

Fungsi untuk anyURI

Nama Deskripsi
fn:resolve- uri( relative,base )

Fungsi pada Nilai Boolean

Nama Deskripsi
fn: boolean( arg ) Mengembalikan nilai boolean untuk angka, string, atau node-set
fn: not( arg ) Argumen pertama dikurangi nilai boolean dengan menerapkan boolean() fungsi. Mengembalikan benar jika nilai boolean adalah palsu, dan false jika nilai boolean benar

Contoh: not(true() )
Hasil: false

fn: true() Mengembalikan nilai boolean true

Contoh: true()
Hasil: true

fn: false() Mengembalikan nilai boolean palsu

Contoh: false()
Hasil: false

Fungsi pada Durasi, Tanggal dan Times

Fungsi Ekstraksi komponen pada Durasi, Tanggal dan Times

Nama Deskripsi
fn: dateTime( date,time ) Mengkonversi argumen ke tanggal dan waktu
fn:years-from- duration( datetimedur ) Mengembalikan integer yang mewakili komponen tahun dalam representasi leksikal kanonik dari nilai argumen
fn:months-from- duration( datetimedur ) Mengembalikan integer yang mewakili komponen bulan dalam representasi leksikal kanonik dari nilai argumen
fn:days-from- duration( datetimedur ) Mengembalikan integer yang mewakili komponen hari dalam representasi leksikal kanonik dari nilai argumen
fn:hours-from- duration( datetimedur ) Mengembalikan integer yang mewakili komponen jam dalam representasi leksikal kanonik dari nilai argumen
fn:minutes-from- duration( datetimedur ) Mengembalikan integer yang mewakili komponen menit dalam representasi leksikal kanonik dari nilai argumen
fn:seconds-from- duration( datetimedur ) Mengembalikan desimal yang mewakili komponen detik dalam representasi leksikal kanonik dari nilai argumen
fn:year-from- dateTime( datetime ) Mengembalikan integer yang mewakili komponen tahun di nilai lokal dari argumen

Contoh: tahun-dari- dateTime(xs:dateTime("2005-01-10T12:30-04:10") )
Hasil: 2005

fn:month-from- dateTime( datetime ) Mengembalikan integer yang mewakili komponen bulan di nilai lokal dari argumen

Contoh: bulan-dari- dateTime(xs:dateTime("2005-01-10T12:30-04:10") )
Hasil: 01

fn:day-from- dateTime( datetime ) Mengembalikan integer yang mewakili komponen hari di nilai lokal dari argumen

Contoh: hari-dari- dateTime(xs:dateTime("2005-01-10T12:30-04:10") )
Hasil: 10

fn:hours-from- dateTime( datetime ) Mengembalikan integer yang mewakili komponen jam dalam nilai lokal dari argumen

Contoh: jam-dari- dateTime(xs:dateTime("2005-01-10T12:30-04:10") )
Hasil: 12

fn:minutes-from- dateTime( datetime ) Mengembalikan integer yang mewakili komponen menit di nilai lokal dari argumen

Contoh: menit-dari- dateTime(xs:dateTime("2005-01-10T12:30-04:10") )
Hasil: 30

fn:seconds-from- dateTime( datetime ) Mengembalikan desimal yang mewakili komponen detik dalam nilai lokal dari argumen

Contoh: detik-dari- dateTime(xs:dateTime("2005-01-10T12:30:00-04:10") )
Hasil: 0

fn:timezone-from- dateTime( datetime ) Mengembalikan waktu komponen zona argumen jika ada
fn:year-from- date( date ) Mengembalikan integer yang mewakili tahun di nilai lokal dari argumen

Contoh: tahun-dari- date(xs:date("2005-04-23") )
Hasil: 2005

fn:month-from- date( date ) Mengembalikan integer yang mewakili bulan di nilai lokal dari argumen

Contoh: bulan-dari- date(xs:date("2005-04-23") )
Hasil: 4

fn:day-from- date( date ) Mengembalikan integer yang mewakili hari dalam nilai lokal dari argumen

Contoh: hari-dari- date(xs:date("2005-04-23") )
Hasil: 23

fn:timezone-from- date( date ) Mengembalikan waktu komponen zona argumen jika ada
fn:hours-from- time( time ) Mengembalikan integer yang mewakili komponen jam dalam nilai lokal dari argumen

Contoh: jam-dari- time(xs:time("10:22:00") )
Hasil: 10

fn:minutes-from- time( time ) Mengembalikan integer yang mewakili komponen menit di nilai lokal dari argumen

Contoh: menit-dari- time(xs:time("10:22:00") )
Hasil: 22

fn:seconds-from- time( time ) Mengembalikan integer yang mewakili komponen detik dalam nilai lokal dari argumen

Contoh: detik-dari- time(xs:time("10:22:00") )
Hasil: 0

fn:timezone-from- time( time ) Mengembalikan waktu komponen zona argumen jika ada
fn:adjust-dateTime-to- timezone( datetime,timezone ) Jika argumen zona waktu kosong, ia mengembalikan datetime tanpa zona waktu. Jika tidak, ia mengembalikan datetime dengan zona waktu
fn:adjust-date-to- timezone( date ,timezone ) Jika argumen zona waktu kosong, ia mengembalikan date tanpa zona waktu. Jika tidak, ia mengembalikan kencan dengan zona waktu
fn:adjust-time-to- timezone( time ,timezone ) Jika argumen zona waktu kosong, ia mengembalikan waktu tanpa zona waktu. Jika tidak, ia mengembalikan waktu dengan zona waktu

Fungsi Terkait QNames

Nama Deskripsi
fn: QName()
fn:local-name-from- QName()
fn:namespace-uri-from- QName()
fn:namespace-uri-for- prefix()
fn:in-scope- prefixes()
fn:resolve- QName()

Fungsi pada Nodes

Nama Deskripsi
fn: name()
fn: name( nodeset )
Mengembalikan nama node saat ini atau node pertama di node set tertentu
fn:local- name()
fn:local- name( nodeset )
Mengembalikan nama node saat ini atau node pertama dalam node set tertentu - tanpa awalan namespace
fn:namespace- uri()
fn:namespace- uri( nodeset )
Mengembalikan namespace URI dari node saat ini atau node pertama di node set tertentu
fn: lang( lang ) Mengembalikan nilai true jika bahasa node saat ini sesuai dengan bahasa dari bahasa tertentu

Contoh: Lang("en") adalah benar untuk
<P xml: lang = "en"> ... </ p>

Contoh: Lang("de") adalah palsu untuk
<P xml: lang = "en"> ... </ p>

fn: root()
fn: root( node )
Mengembalikan akar pohon yang node saat ini atau yang ditentukan milik. Hal ini biasanya akan menjadi simpul dokumen

Fungsi pada Urutan

Fungsi umum tentang Urutan

Nama Deskripsi
fn:index- of( (item,item,...) ,searchitem) Mengembalikan posisi dalam urutan item yang sama dengan argumen searchitem

Contoh: Indeks-of ((15, 40, 25, 40, 10) , 40)
Hasil: (2, 4)

Contoh: Indeks-of (("a", "dog" , "and" , "a" , "duck") , "a")
Hasil (1, 4)

Contoh: Indeks-of ((15, 40, 25, 40, 10) , 18)
Hasil: ()

fn: remove( (item,item,...) ,position) Mengembalikan urutan baru dibangun dari nilai argumen barang - dengan item yang ditentukan oleh posisi argumen dihapus

Contoh: remove(("ab", "cd" , "ef") , 0)
Hasil: ("ab", "cd" , "ef")

Contoh: remove(("ab", "cd" , "ef") , 1)
Hasil: ("cd", "ef")

Contoh: remove(("ab", "cd" , "ef") , 4)
Hasil: ("ab", "cd" , "ef")

fn: empty( item,item,... ) Mengembalikan nilai true jika nilai argumen IS urutan kosong, jika tidak maka kembali palsu

Contoh: empty(remove(("ab", "cd") , 1))
Hasil: false

fn: exists( item,item,... ) Mengembalikan nilai true jika nilai argumen TIDAK urutan kosong, jika tidak maka kembali palsu

Contoh: exists(remove(("ab") , 1))
Hasil: false

fn:distinct- values( (item,item,...) ,collation) Pengembalian hanya berbeda (different) nilai-nilai

Contoh: distinct- values((1, 2, 3, 1, 2) )
Hasil: (1, 2, 3)

fn:insert- before( (item,item,...) ,pos,inserts) Mengembalikan urutan baru dibangun dari nilai argumen barang - dengan nilai argumen sisipan dimasukkan dalam posisi yang ditentukan oleh argumen pos

Contoh: Insert before(("ab", "cd") , 0, "gh")
Hasil: ("gh", "ab" , "cd")

Contoh: Insert before(("ab", "cd") , 1, "gh")
Hasil: ("gh", "ab" , "cd")

Contoh: Insert before(("ab", "cd") , 2, "gh")
Hasil: ("ab", "gh" , "cd")

Contoh: Insert before(("ab", "cd") , 5, "gh")
Hasil: ("ab", "cd" , "gh")

fn: reverse( (item,item,...) ) Mengembalikan urutan terbalik dari item tertentu

Contoh: reverse(("ab", "cd" , "ef") )
Hasil: ("ef", "cd" , "ab")

Contoh: reverse(("ab") )
Hasil: ("ab")

fn: subsequence( (item,item,...) ,start,len) Mengembalikan urutan item dari posisi yang ditentukan oleh awal argumen dan melanjutkan untuk jumlah item yang ditentukan oleh argumen len. Item pertama terletak pada posisi 1

Contoh: subsequence(($item1, $item2, $item3,...) , 3)
Hasil: ($item3, ...)

Contoh: subsequence(($item1, $item2, $item3, ...) , 2, 2)
Hasil: ($item2, $item3)

fn: unordered( (item,item,...) ) Mengembalikan item dalam urutan tergantung implementasi

Fungsi Itu Uji Kardinalitas dari Urutan

Nama Deskripsi
fn:zero-or- one( item,item,... ) Mengembalikan argumen jika mengandung nol atau satu item, jika tidak menimbulkan kesalahan
fn:one-or- more( item,item,... ) Mengembalikan argumen jika mengandung satu atau lebih item, jika tidak menimbulkan kesalahan
fn:exactly- one( item,item,... ) Mengembalikan argumen jika mengandung tepat satu item, jika tidak menimbulkan kesalahan

Sama, Union, Intersection dan Kecuali

Nama Deskripsi
fn:deep- equal( param1,param2,collation ) Mengembalikan nilai true jika param1 dan param2 yang mendalam-sama satu sama lain, jika tidak maka kembali palsu

Fungsi agregat

Nama Deskripsi
fn: count( (item,item,...) ) Mengembalikan jumlah node
fn: avg( (arg,arg,...) ) Mengembalikan rata-rata nilai argumen

Contoh: avg((1,2,3) )
Hasil: 2

fn: max( (arg,arg,...) ) Mengembalikan argumen yang lebih besar dari yang lain

Contoh: max((1,2,3) )
Hasil: 3

Contoh: max(('a', 'k') )
Hasil: 'k'

fn: min( (arg,arg,...) ) Mengembalikan argumen yang kurang dari yang lain

Contoh: min((1,2,3) )
Hasil: 1

Contoh: min(('a', 'k') )
Hasil: 'a'

fn: sum( arg,arg,... ) Mengembalikan jumlah dari nilai numerik dari setiap node dalam ditentukan simpul-set

Fungsi yang Menghasilkan Urutan

Nama Deskripsi
fn: id( (string,string,...) ,node) Mengembalikan urutan node elemen yang memiliki nilai ID sama dengan nilai dari satu atau lebih dari nilai yang ditentukan dalam argumen string
fn: idref( (string,string,...) ,node) Mengembalikan urutan unsur atau atribut node yang memiliki nilai IDREF sama dengan nilai dari satu atau lebih dari nilai yang ditentukan dalam argumen string
fn: doc( URI )
fn:doc- available( URI ) Mengembalikan nilai true jika doc() mengembalikan fungsi node dokumen, jika tidak maka kembali palsu
fn: collection()
fn: collection( string )

Fungsi konteks

Nama Deskripsi
fn: position() Mengembalikan posisi indeks node yang sedang diproses

Contoh: // buku [ position() <= 3]
Hasil: Memilih tiga unsur buku pertama

fn: last() Mengembalikan jumlah item dalam daftar node diproses

Contoh: // buku [ last() ]
Hasil: Memilih elemen buku terakhir

fn:current- dateTime() Mengembalikan datetime saat ini (with timezone)
fn:current- date() Mengembalikan tanggal (with timezone)
fn:current- time() Mengembalikan waktu saat ini (with timezone)
fn:implicit- timezone() Mengembalikan nilai zona implisit
fn:default- collation() Mengembalikan nilai pemeriksaan standar
fn:static-base- uri() Mengembalikan nilai dasar-uri

Fungsi XSLT

Selain itu, ada adalah sebagai berikut built-in fungsi XSLT:

Nama Deskripsi
current() Mengembalikan node saat
document() Digunakan untuk mengakses node dalam dokumen XML eksternal
element- available() Tes apakah elemen tertentu didukung oleh prosesor XSLT
format- number() Mengkonversi angka ke string
function- available() Tes apakah fungsi tertentu didukung oleh prosesor XSLT
generate- id() Mengembalikan nilai string yang secara unik mengidentifikasi sebuah node tertentu
key() Mengembalikan simpul-set menggunakan indeks ditentukan oleh <xsl:key> elemen
system- property() Mengembalikan nilai properti sistem
unparsed-entity- uri() Mengembalikan URI dari suatu entitas unparsed