Fungsi XPath, XQuery, dan XSLT
- Hal Sebelumnya Ringkasan XPath
- Hal Berikutnya Panduan XPath
fungsi akses
Nama | Keterangan |
---|---|
fn:node-name(node) | mengembalikan nama node parameter. |
fn:nilled(node) | mengembalikan nilai boolean yang menentukan apakah node parameter ditolak. |
fn:data(item.item,...) | menerima urutan item dan mengembalikan urutan nilai atom. |
|
mengembalikan nilai atribut base-uri node saat ini atau node yang ditentukan. |
fn:document-uri(node) | mengembalikan nilai atribut document-uri node yang ditentukan. |
fungsi kesalahan dan trace
Nama | Keterangan |
---|---|
|
contoh: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Harga terlalu tinggi') hasil: mengembalikan ke lingkungan pengolahan eksternal http://example.com/test#toohigh serta string "Error: Harga terlalu tinggi". |
fn:trace(value,label) | digunakan untuk debug query. |
fungsi tentang nilai
Nama | Keterangan |
---|---|
fn:number(arg) |
mengembalikan nilai parameter. Parameter dapat berupa nilai boolean, string, atau kumpulan node. contoh: number('100') hasil: 100 |
fn:abs(num) |
mengembalikan nilai absolut parameter. contoh: abs(3,14) hasil: 3,14 contoh: abs(-3,14) hasil: 3,14 |
fn:ceiling(num) |
mengembalikan bilangan bulat terkecil yang lebih besar daripada parameter num. contoh: ceiling(3,14) Hasil: 4 |
fn:floor(num) |
Mengembalikan bilangan bulat terbesar yang tidak melebihi parameter num. Contoh: floor(3.14) Hasil: 3 |
fn:round(num) |
Menggerakkan parameter num ke bilangan bulat terdekat. Contoh: round(3.14) Hasil: 3 |
fn:round-half-to-even() |
Contoh: round-half-to-even(0.5) Hasil: 0 Contoh: round-half-to-even(1.5) Hasil: 2 Contoh: round-half-to-even(2.5) Hasil: 2 |
Fungsi-fungsi string
Nama | Keterangan |
---|---|
fn:string(arg) |
Mengembalikan nilai string parameter. Parameter dapat berupa angka, nilai logis, atau kumpulan node. Contoh: string(314) Hasil: "314" |
fn:codepoints-to-string(int,int,...) |
Mengembalikan string berdasarkan urutan kode poin. Contoh: codepoints-to-string(84, 104, 233, 114, 232, 115, 101) Hasil: 'Thérèse' |
fn:string-to-codepoints(string) |
Mengembalikan urutan kode poin berdasarkan string. Contoh: string-to-codepoints("Thérèse") Hasil: 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1,comp2) | Menurut pertimbangan 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 yang digunakan untuk pertimbangan). Contoh: compare('ghi', 'ghi') Hasil: 0 |
fn:concat(string,string,...) |
Mengembalikan gabungan string. Contoh: concat('XPath ','adalah ','FUN!') Hasil: 'XPath adalah FUN!' |
fn:join((string,string,...),sep) |
Menggunakan parameter sep sebagai pemisah untuk mengembalikan string yang disesuaikan dari penggabungan string parameter. 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: '' |
|
Mengembalikan substrung panjang yang ditentukan dari posisi start. Indeks karakter pertama adalah 1. Jika parameter len diabaikan, maka mengembalikan substrung dari posisi start hingga akhir string. Contoh: substring('Beatles',1,4) Hasil: 'Beat' Contoh: substring('Beatles',2) Hasil: 'eatles' |
|
Mengembalikan panjang string yang ditentukan. Jika tidak ada parameter string, maka mengembalikan panjang nilai string node saat ini. Contoh: string-length('Beatles') Hasil: 7 |
|
Menghapus spasi di awal dan akhir string yang ditentukan, dan mengganti semua urutan spasi internal menjadi satu, kemudian kembalikan hasilnya. Jika tidak ada parameter string, maka mengolah node saat ini. Contoh: normalize-space(' The XML ') Hasil: 'The XML' |
fn:normalize-unicode() | Melakukan standarisasi Unicode. |
fn:upper-case(string) |
Mengubah parameter string menjadi huruf besar. Contoh: upper-case('The XML') Hasil: 'THE XML' |
fn:lower-case(string) |
Mengubah parameter string menjadi huruf kecil. Contoh: lower-case('The XML') Hasil: 'the xml' |
fn:translate(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 mengandung string2, kembalikan true, sebaliknya kembalikan false. Contoh: contains('XML','XM') Hasil: true |
fn:starts-with(string1,string2) |
Jika string1 mulai dengan string2, kembalikan true, sebaliknya kembalikan false. Contoh: starts-with('XML','X') Hasil: true |
fn:ends-with(string1,string2) |
Jika string1 berakhir dengan string2, kembalikan true, sebaliknya kembalikan false. Contoh: ends-with('XML','X') hasil: false |
fn:substring-before(string1,string2) |
Mengembalikan substring sebelum string2 muncul di string1. Contoh: substring-before('12/10','/') Hasil: '12' |
fn:substring-after(string1,string2) |
Mengembalikan substring setelah string2 muncul 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 | Keterangan |
---|---|
fn:resolve-uri(relative,base) |
Fungsi tentang nilai boolean
Nama | Keterangan |
---|---|
fn:boolean(arg) | Mengembalikan nilai boolean untuk angka, string, atau kumpulan node. |
fn:not(arg) |
Pertama-tama mengembalikan parameter menjadi nilai boolean melalui fungsi boolean(). Jika nilai boolean ini adalah false, maka kembalikan true, jika tidak kembalikan true. Contoh: not(true()) hasil: false |
fn:true() |
Mengembalikan nilai boolean true. Contoh: true() Hasil: true |
fn:false() |
Mengembalikan nilai boolean false. Contoh: false() hasil: false |
Fungsi tentang durasi, tanggal, dan waktu
Fungsi pemisahan komponen tanggal, waktu, dan durasi
Nama | Keterangan |
---|---|
fn:dateTime(date,time) | Mengubah parameter menjadi tanggal dan waktu. |
fn:years-from-duration(datetimedur) | Mengembalikan nilai tahun parameter dalam bentuk bilangan bulat, yang diungkapkan dalam notasi kata biasa. |
fn:months-from-duration(datetimedur) | Mengembalikan nilai bulan parameter dalam bentuk bilangan bulat, yang diungkapkan dalam notasi kata biasa. |
fn:days-from-duration(datetimedur) | Mengembalikan nilai hari parameter dalam bentuk bilangan bulat, yang diungkapkan dalam notasi kata biasa. |
fn:hours-from-duration(datetimedur) | Mengembalikan nilai parameter dalam bentuk bilangan bulat untuk bagian jam, dengan cara menulis kata-kata standar. |
fn:minutes-from-duration(datetimedur) | Mengembalikan nilai parameter dalam bentuk bilangan bulat untuk bagian menit, dengan cara menulis kata-kata standar. |
fn:seconds-from-duration(datetimedur) | Mengembalikan nilai parameter dalam bentuk bilangan desimal untuk bagian menit, dengan cara menulis kata-kata standar. |
fn:year-from-dateTime(datetime) |
Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat untuk bagian tahun. Contoh: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Hasil: 2005 |
fn:month-from-dateTime(datetime) |
Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat untuk 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 untuk bagian hari. Contoh: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Hasil: 10 |
fn:hours-from-dateTime(datetime) |
Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat untuk 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 untuk 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 untuk bagian detik. Contoh: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) Hasil: 0 |
fn:timezone-from-dateTime(datetime) | Kembalikan bagian zona waktu parameter, jika ada. |
fn:year-from-date(date) |
Mengembalikan nilai lokal parameter dalam bentuk bilangan bulat yang merepresentasikan tahun. Contoh: year-from-date(xs:date("2005-04-23")) Hasil: 2005 |
fn:month-from-date(date) |
Kembalikan bilangan integer yang mewakili bagian bulan di nilai lokal parameter. Contoh: month-from-date(xs:date("2005-04-23")) Hasil: 4 |
fn:day-from-date(date) |
Kembalikan bilangan integer yang mewakili bagian hari di nilai lokal parameter. Contoh: day-from-date(xs:date("2005-04-23")) Hasil: 23 |
fn:timezone-from-date(date) | Kembalikan bagian zona waktu parameter, jika ada. |
fn:hours-from-time(time) |
Kembalikan bilangan integer yang mewakili bagian jam di nilai lokal parameter. Contoh: hours-from-time(xs:time("10:22:00")) Hasil: 10 |
fn:minutes-from-time(time) |
Kembalikan bilangan integer yang mewakili bagian menit di nilai lokal parameter. Contoh: minutes-from-time(xs:time("10:22:00")) Hasil: 22 |
fn:seconds-from-time(time) |
Kembalikan bilangan integer yang mewakili bagian detik di nilai lokal parameter. Contoh: seconds-from-time(xs:time("10:22:00")) Hasil: 0 |
fn:timezone-from-time(time) | Kembalikan bagian zona waktu parameter, jika ada. |
fn:adjust-dateTime-to-timezone(datetime,timezone) | Jika parameter timezone kosong, kembalikan dateTime tanpa zona waktu. Jika tidak, kembalikan dateTime dengan zona waktu. |
fn:adjust-date-to-timezone(date,timezone) | Jika parameter timezone kosong, kembalikan tanggal tanpa zona waktu. Jika tidak, kembalikan tanggal dengan zona waktu. |
fn:adjust-time-to-timezone(time,timezone) | Jika parameter timezone kosong, kembalikan waktu tanpa zona waktu. Jika tidak, kembalikan waktu dengan zona waktu. |
Fungsi yang berhubungan dengan QNames
Nama | Keterangan |
---|---|
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 | Keterangan |
---|---|
|
Kembalikan nama node saat ini atau node pertama dalam kumpulan node. |
|
Kembalikan nama node saat ini atau node 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 untuk node saat ini atau node yang ditentukan. biasanya node dokumen. |
Fungsi tentang deret
Fungsi umum
Nama | Keterangan |
---|---|
fn:index-of((item,item,...),searchitem) |
Kembalikan posisi item yang sama dengan parameter searchitem dalam deret item. 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 deret baru yang dibuat dari 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 adalah deret kosong, kembalikan true, jika tidak kembalikan false. Contoh: empty(remove(("ab", "cd"), 1)) hasil: false |
fn:exists(item,item,...) |
mengembalikan true jika nilai parameter bukan urutan kosong, jika tidak kembalikan false. contoh: exists(remove(("ab"), 1)) hasil: false |
fn:distinct-values((item,item,...),collation) |
mengembalikan nilai yang unik contoh: distinct-values((1, 2, 3, 1, 2)) hasil: (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
mengembalikan urutan baru yang dibangun dari parameter item - serta menempatkan nilai parameter inserts di posisi yang ditentukan oleh parameter 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 yang ditentukan contoh: reverse(("ab", "cd", "ef")) hasil: ("ef", "cd", "ab") contoh: reverse(("ab")) hasil: ("ab") |
fn:subsequence((item,item,...),start,len) |
mengembalikan urutan item yang ditentukan oleh parameter start, panjang urutan ditentukan oleh parameter len. posisi pertama item adalah 1. contoh: subsequence(($item1, $item2, $item3,...), 3) hasil: ($item3, ...) contoh: subsequence(($item1, $item2, $item3, ...), 2, 2) hasil: ($item2, $item3) |
fn:unordered((item,item,...)) | mendapatkan urutan kembalian berdasarkan implementasi yang ditentukan |
fungsi untuk menguji kapasitas urutan
Nama | Keterangan |
---|---|
fn:zero-or-one(item,item,...) | Jika parameter mengandung nol atau satu item, kembalikan parameter, jika tidak generate kesalahan |
fn:one-or-more(item,item,...) | Jika parameter mengandung satu atau lebih item, kembalikan parameter, jika tidak generate kesalahan |
fn:exactly-one(item,item,...) | Jika parameter mengandung satu item, kembalikan parameter, jika tidak generate kesalahan |
Sama, Union, Intersep dan Except
Nama | Keterangan |
---|---|
fn:deep-equal(param1,param2,collation) | Jika param1 dan param2 sama dengan satu sama lain (deep-equal), kembalikan true, jika tidak kembalikan false |
Fungsi penggabungan
Nama | Keterangan |
---|---|
fn:count((item,item,...)) | Mengembalikan jumlah node |
fn:avg((arg,arg,...)) |
Mengembalikan rata-rata nilai parameter Contoh: avg((1,2,3)) Hasil: 2 |
fn:max((arg,arg,...)) |
Mengembalikan argumen yang lebih besar daripada parameter lain Contoh: max((1,2,3)) Hasil: 3 Contoh: max(('a', 'k')) Hasil: 'k' |
fn:min((arg,arg,...)) |
Mengembalikan argumen yang lebih kecil daripada parameter lain Contoh: min((1,2,3)) Hasil: 1 Contoh: min(('a', 'k')) Hasil: 'a' |
fn:sum(arg,arg,...) | Mengembalikan total nilai dari setiap node dalam kumpulan node yang ditentukan |
Fungsi untuk menghasilkan urutan
Nama | Keterangan |
---|---|
fn:id((string,string,...),node) | Mengembalikan urutan node elemen yang memiliki nilai ID yang sama dengan nilai yang disebutkan dalam argumen string |
fn:idref((string,string,...),node) | Mengembalikan urutan elemen atau node atribut yang memiliki nilai IDREF yang sama dengan nilai yang disebutkan dalam argumen string |
fn:doc(URI) | |
fn:doc-available(URI) | Jika fungsi doc() mengembalikan node dokumen, kembalikan true, jika tidak kembalikan false. |
|
Fungsi Konteks
Nama | Keterangan |
---|---|
fn:position() |
Kembalikan posisi index node yang sedang diproses. Contoh: //book[position()<=3] Hasil: Memilih tiga elemen book pertama |
fn:last() |
Kembalikan jumlah item dalam daftar node yang diproses. Contoh: //book[last()] Hasil: Memilih elemen book terakhir |
fn:current-dateTime() | Kembalikan dateTime saat ini (dengan zona waktu). |
fn:current-date() | Kembalikan tanggal saat ini (dengan zona waktu). |
fn:current-time() | Kembalikan waktu saat ini (dengan zona waktu). |
fn:implicit-timezone() | Kembalikan nilai zona waktu yang tersembunyi. |
fn:default-collation() | Kembalikan nilai referensi standar. |
fn:static-base-uri() | Kembalikan nilai base-uri. |
- Hal Sebelumnya Ringkasan XPath
- Hal Berikutnya Panduan XPath