Fungsi XPath, XQuery, dan XSLT
- Halaman Sebelumnya Ringkasan XPath
- Halaman Berikutnya Panduan XPath
fungsi akses
Nama | Pengenalan |
---|---|
fn:node-name(node) | kembalikan nama node parameter. |
fn:nilled(node) | kembalikan nilai boolean yang menentukan apakah node parameter ditolak. |
fn:data(item.item,...) | menerima urutan item dan mengembalikan urutan nilai atom. |
|
kembalikan nilai atribut base-uri untuk node semasa atau node yang ditentukan. |
fn:document-uri(node) | kembalikan nilai atribut document-uri untuk node yang ditentukan. |
fungsi kesalahan dan penerus
Nama | Pengenalan |
---|---|
|
contoh:error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Harga terlalu tinggi') hasil:kembalikan ke lingkungan pengelolaan luaran http://example.com/test#toohigh serta string "Error: Harga terlalu tinggi". |
fn:trace(value,label) | dipergunakan untuk debug kueri. |
fungsi mengenai nilai
Nama | Pengenalan |
---|---|
fn:number(arg) |
kembalikan nilai parameter. Parameter boleh berupa nilai boolean, string atau kumpulan node. contoh:number('100') hasil:100 |
fn:abs(num) |
kembalikan nilai absolut parameter. contoh:abs(3.14) hasil:3.14 contoh:abs(-3.14) hasil:3.14 |
fn:ceiling(num) |
kembalikan bilangan bulat terkecil yang lebih besar daripada parameter num. contoh:ceiling(3.14) 结果:4 |
fn:floor(num) |
Kembalikan bilangan bulat terbesar yang tidak melebihi parameter num. Contoh: bilang-bawah(3.14) Hasil: 3 |
fn:bilang(num) |
Buang parameter num ke bilangan bulat terdekat. Contoh: bilang(3.14) Hasil: 3 |
fn:bilang-sebanyak-ke-senarang() |
Contoh: bilang-sebanyak-ke-senarang(0.5) 结果:0 Contoh: bilang-sebanyak-ke-senarang(1.5) Hasil: 2 Contoh: bilang-sebanyak-ke-senarang(2.5) Hasil: 2 |
Fungsi-fungsi string
Nama | Pengenalan |
---|---|
fn:string(arg) |
Kembalikan nilai string parameter. Parameter dapat berupa angka, nilai logis, atau kumpulan node. Contoh: string(314) Hasil: "314" |
fn:konversi-ke-string(int, int, ...) |
Kembalikan string berdasarkan susunan kode poin. Contoh: konversi-ke-string(84, 104, 233, 114, 232, 115, 101) Hasil: 'Thérèse' |
fn:konversi-ke-kode-poin(string) |
Kembalikan susunan kode poin berdasarkan string. Contoh: konversi-ke-kode-poin("Thérèse") Hasil: 84, 104, 233, 114, 232, 115, 101 |
fn:kode-poin-sama(comp1, comp2) | Berdasarkan pertandingan kode poin Unicode, jika nilai comp1 sama dengan nilai comp2, kembalikan true. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), jika tidak, kembalikan false. |
|
Jika comp1 lebih kecil daripada comp2, kembalikan -1. Jika comp1 sama dengan comp2, kembalikan 0. Jika comp1 lebih besar daripada comp2, kembalikan 1. (Berdasarkan aturan pertandingan yang digunakan). Contoh: bandingkan('ghi', 'ghi') 结果:0 |
fn:gabung(string, string, ...) |
Kembalikan gabungan string. Contoh: gabung('XPath ', 'adalah ', 'FUN!') Hasil: 'XPath adalah FUN!' |
fn: gabung string ((string, string, ...), sep) |
Gunakan parameter sep sebagai pemisah untuk mengembalikan string yang disambungkan dari parameter string. Contoh: string-join(('We', 'are', 'having', 'fun!'), ' ') Hasil: ' We are having fun! ' Contoh: string-join(('We', 'are', 'having', 'fun!')) Hasil: 'Wearehavingfun!' Contoh: string-join((), 'sep') Hasil: '' |
|
Kembalikan substrang yang ditentukan dari posisi start. Indeks karakter pertama adalah 1. Jika parameter len diabaikan, kembalikan substrang dari posisi start hingga akhir string. Contoh: substring('Beatles',1,4) Hasil: 'Beat' Contoh: substring('Beatles',2) Hasil: 'eatles' |
|
Kembalikan panjang string yang ditentukan. Jika tiada parameter string, kembalikan panjang nilai string node sekarang. Contoh: string-length('Beatles') Hasil: 7 |
|
Hapus ruang yang ada di permulaan dan akhir string yang ditentukan, dan ganti semua rangkaian ruang di dalamnya dengan satu, kemudian kembalikan hasil. Jika tiada parameter string, maka diproses node sekarang. Contoh: normalize-space(' The XML ') Hasil: 'The XML' |
fn:normalize-unicode() | Melaksanakan pengesanan Unicode. |
fn:upper-case(string) |
Tukar parameter string kepada huruf besar. Contoh: upper-case('The XML') Hasil: 'THE XML' |
fn:lower-case(string) |
Tukar parameter string kepada huruf kecil. Contoh: lower-case('The XML') Hasil: 'the xml' |
fn:terjemah(string1,string2,string3) |
Ganti string2 di string1 dengan 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: escape-uri ("http://example.com/~bébé", false()) Hasil: "http://example.com/~b%C3%A9b%C3%A9" |
fn:contains(string1,string2) |
Jika string1 mengandungi string2, kembalikan true, jika tidak kembalikan false. Contoh: contains('XML','XM') Hasil: true |
fn:starts-with(string1,string2) |
Jika string1 bermula dengan string2, kembalikan true, jika tidak kembalikan false. Contoh: starts-with('XML','X') Hasil: true |
fn:ends-with(string1,string2) |
Jika string1 berakhir dengan string2, kembalikan true, jika tidak kembalikan false. Contoh: ends-with('XML','X') 结果:false |
fn:substring-before(string1,string2) |
Kembalikan substring sebelum penampilan string2 di string1. Contoh: substring-before('12/10','/') Hasil: '12' |
fn:substring-after(string1,string2) |
Kembalikan substring selepas penampilan string2 di string1. Contoh: substring-after('12/10','/') Hasil: '10' |
fn:matches(string,pattern) |
Jika parameter string cocok dengan model yang ditentukan, kembalikan true, jika tidak kembalikan false. Contoh: matches("Merano", "ran") Hasil: true |
fn:replace(string,pattern,replace) |
Ganti model yang ditentukan dengan parameter replace dan kembalikan hasil. Contoh: replace("Bella Italia", "l", "*") Hasil: 'Be**a Ita*ia' 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 | Pengenalan |
---|---|
fn:resolve-uri(relative,base) |
Fungsi tentang nilai boolean
Nama | Pengenalan |
---|---|
fn:boolean(arg) | Kembalikan nilai boolean untuk angka, string, atau kumpulan node. |
fn:not(arg) |
Pertama-tama mengembalikan parameter kembali ke nilai boolean melalui fungsi boolean(). Jika nilai boolean ini adalah false, kembalikan true, jika tidak kembalikan true. Contoh: not(true()) 结果:false |
fn:true() |
Kembalikan nilai boolean true. Contoh: true() Hasil: true |
fn:false() |
Kembalikan nilai boolean false. Contoh: false() 结果:false |
Fungsi tentang durasi, tanggal, dan waktu
Fungsi pemecahan komponen tanggal, waktu, dan durasi
Nama | Pengenalan |
---|---|
fn:dateTime(date,time) | Konversi parameter ke tanggal dan waktu. |
fn:years-from-duration(datetimedur) | Kembalikan nilai tahun parameter dalam bentuk bilangan bulat, digambarkan dalam ejaan kata biasa. |
fn:months-from-duration(datetimedur) | Kembalikan nilai bulan parameter dalam bentuk bilangan bulat, digambarkan dalam ejaan kata biasa. |
fn:days-from-duration(datetimedur) | Kembalikan nilai hari parameter dalam bentuk bilangan bulat, digambarkan dalam ejaan kata biasa. |
fn:hours-from-duration(datetimedur) | Mengembalikan nilai parameter dalam bentuk bilangan bulat bagian jam, dengan cara menulis kata-kata standar. |
fn:minutes-from-duration(datetimedur) | Mengembalikan nilai parameter dalam bentuk bilangan bulat bagian menit, dengan cara menulis kata-kata standar. |
fn:seconds-from-duration(datetimedur) | Mengembalikan nilai parameter dalam bentuk bilangan desimal bagian menit, dengan cara menulis kata-kata standar. |
fn:year-from-dateTime(datetime) |
Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat bagian tahun. Contoh: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 结果:2005 |
fn:month-from-dateTime(datetime) |
Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat bagian bulan. Contoh: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Hasil: 01 |
fn:day-from-dateTime(datetime) |
Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat bagian hari. Contoh: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) 结果:10 |
fn:hours-from-dateTime(datetime) |
Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat bagian jam. Contoh: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Hasil: 12 |
fn:minutes-from-dateTime(datetime) |
Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat bagian menit. Contoh: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Hasil: 30 |
fn:seconds-from-dateTime(datetime) |
Mengembalikan nilai lokal parameter dalam bentuk bilangan desimal bagian detik. Contoh: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) 结果:0 |
fn:timezone-from-dateTime(datetime) | 返回参数的时区部分,如果存在。 |
fn:year-from-date(date) |
Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat yang menunjukkan tahun. Contoh: year-from-date(xs:date("2005-04-23")) 结果:2005 |
fn:month-from-date(date) |
返回参数本地值中表示月的整数。 例子:month-from-date(xs:date("2005-04-23")) 结果:4 |
fn:day-from-date(date) |
返回参数本地值中表示天的整数。 例子:day-from-date(xs:date("2005-04-23")) 结果:23 |
fn:timezone-from-date(date) | 返回参数的时区部分,如果存在。 |
fn:hours-from-time(time) |
返回参数本地值中表示小时部分的整数。 例子:hours-from-time(xs:time("10:22:00")) 结果:10 |
fn:minutes-from-time(time) |
返回参数本地值中表示分钟部分的整数。 例子:minutes-from-time(xs:time("10:22:00")) 结果:22 |
fn:seconds-from-time(time) |
返回参数本地值中表示秒部分的整数。 例子:seconds-from-time(xs:time("10:22:00")) 结果:0 |
fn:timezone-from-time(time) | 返回参数的时区部分,如果存在。 |
fn:adjust-dateTime-to-timezone(datetime,timezone) | 如果 timezone 参数为空,则返回没有时区的 dateTime。否则返回带有时区的 dateTime。 |
fn:adjust-date-to-timezone(date,timezone) | 如果 timezone 参数为空,则返回没有时区的 date。否则返回带有时区的 date。 |
fn:adjust-time-to-timezone(time,timezone) | 如果 timezone 参数为空,则返回没有时区的 time。否则返回带有时区的 time。 |
函数与 QNames 相关
Nama | Pengenalan |
---|---|
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 tentang node
Nama | Pengenalan |
---|---|
|
Kembalikan nama node saat ini atau pertama dalam kumpulan node. |
|
Kembalikan nama node saat ini atau pertama dalam kumpulan node tanpa prefiks ruang nama. |
|
Kembalikan URI ruang nama untuk node saat ini atau kumpulan node yang ditentukan. |
fn:lang(lang) |
Kembalikan true jika bahasa node saat ini cocok dengan bahasa yang ditentukan. Contoh: Lang("en") adalah true untuk <p xml:lang="en">...</p> Contoh: Lang("de") adalah false untuk <p xml:lang="en">...</p> |
|
Kembalikan akar pohon node yang dimiliki oleh node saat ini atau node yang ditentukan. biasanya node dokumen. |
Fungsi tentang rangkaian
Fungsi umum
Nama | Pengenalan |
---|---|
fn:index-of((item,item,...),searchitem) |
Kembalikan posisi dalam rangkaian item yang sama dengan parameter searchitem. Contoh: index-of ((15, 40, 25, 40, 10), 40) Hasil: (2, 4) Contoh: index-of (("a", "dog", "and", "a", "duck"), "a") Hasil (1, 4) Contoh: index-of ((15, 40, 25, 40, 10), 18) Hasil: () |
fn:remove((item,item,...),position) |
Kembalikan rangkaian baru yang dibuat oleh parameter item - menghapus item yang ditentukan oleh parameter posisi. 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,...) |
Jika nilai parameter kosong, kembalikan true, jika tidak kembalikan false. Contoh: empty(remove(("ab", "cd"), 1)) 结果:false |
fn:exists(item,item,...) |
如果参数值不是空序列,则返回 true,否则返回 false。 例子:exists(remove(("ab"), 1)) 结果:false |
fn:distinct-values((item,item,...),collation) |
返回唯一不同的值。 例子:distinct-values((1, 2, 3, 1, 2)) 结果:(1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
返回由 item 参数构造的新序列 - 同时在 pos 参数指定位置插入 inserts 参数的值。 例子:insert-before(("ab", "cd"), 0, "gh") 结果:("gh", "ab", "cd") 例子:insert-before(("ab", "cd"), 1, "gh") 结果:("gh", "ab", "cd") 例子:insert-before(("ab", "cd"), 2, "gh") 结果:("ab", "gh", "cd") 例子:insert-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) |
返回 start 参数指定的位置返回项目序列,序列的长度由 len 参数指定。第一个项目的位置是 1。 例子:subsequence(($item1, $item2, $item3,...), 3) 结果:($item3, ...) 例子:subsequence(($item1, $item2, $item3, ...), 2, 2) 结果:($item2, $item3) |
fn:unordered((item,item,...)) | 根据实现决定的顺序来返回项目。 |
函数用于测试序列容量
Nama | Pengenalan |
---|---|
fn:zero-or-one(item,item,...) | Kembalikan parameter jika parameter mengandung nol atau satu item, sebaliknya buat kesalahan |
fn:one-or-more(item,item,...) | Kembalikan parameter jika parameter mengandung satu atau lebih item, sebaliknya buat kesalahan |
fn:exactly-one(item,item,...) | Kembalikan parameter jika parameter mengandung satu item, sebaliknya buat kesalahan |
Sama, Union, Intersect dan Except
Nama | Pengenalan |
---|---|
fn:deep-equal(param1,param2,collation) | Kembalikan true jika param1 dan param2 sama dengan satu sama lain (deep-equal), sebaliknya kembalikan false |
Fungsi penggabungan
Nama | Pengenalan |
---|---|
fn:count((item,item,...)) | Kembalikan jumlah node |
fn:avg((arg,arg,...)) |
Kembalikan rata-rata nilai parameter Contoh: avg((1,2,3)) Hasil: 2 |
fn:max((arg,arg,...)) |
Kembalikan argumen yang lebih besar daripada parameter lain Contoh: max((1,2,3)) Hasil: 3 Contoh: max(('a', 'k')) Hasil: 'k' |
fn:min((arg,arg,...)) |
Kembalikan argumen yang lebih kecil daripada parameter lain Contoh: min((1,2,3)) Hasil: 1 Contoh: min(('a', 'k')) Hasil: 'a' |
fn:sum(arg,arg,...) | Kembalikan jumlah keseluruhan nilai bagi setiap node dalam set node yang ditentukan |
Fungsi untuk menghasilkan susunan
Nama | Pengenalan |
---|---|
fn:id((string,string,...),node) | Kembalikan susunan node element yang mempunyai nilai ID yang sama dengan nilai salah satu atau lebih daripada nilai yang dinyatakan dalam argumen string |
fn:idref((string,string,...),node) | Kembalikan susunan element atau node atribut yang mempunyai nilai IDREF yang sama dengan nilai salah satu atau lebih daripada nilai yang dinyatakan dalam argumen string |
fn:doc(URI) | |
fn:doc-available(URI) | Jika fungsi doc() mengembalikan nod dokumen, kembalikan true, jika tidak kembalikan false. |
|
Fungsi Konteks
Nama | Pengenalan |
---|---|
fn:position() |
Kembalikan lokasi index nod yang sedang diproses. Contoh: //book[position()<=3] Hasil: Pilih tiga elemen book pertama |
fn:last() |
Kembalikan bilangan item dalam senarai nod yang diproses. Contoh: //book[last()] Hasil: Pilih elemen book terakhir |
fn:current-dateTime() | Kembalikan dateTime kini (dengan wilayah waktu). |
fn:current-date() | Kembalikan tarikh kini (dengan wilayah waktu). |
fn:current-time() | Kembalikan masa kini (dengan wilayah waktu). |
fn:implicit-timezone() | Kembalikan nilai wilayah waktu yang diam. |
fn:default-collation() | Kembalikan nilai penghubung baku. |
fn:static-base-uri() | Kembalikan nilai base-uri. |
- Halaman Sebelumnya Ringkasan XPath
- Halaman Berikutnya Panduan XPath