XSLT 2.0, XPath 2.0, dan XQuery 1.0, berbagi pustaka fungsi yang sama.
Section Artikel
Awalan default untuk namespace fungsi adalah fn:
URI dari namespace fungsi adalah: http://www.w3.org/2005/xpath-functions
Tip: Fungsi sering disebut dengan fn: prefix, seperti fn: string (). Namun, karena fn: adalah awalan default namespace, nama fungsi tidak perlu diawali saat dipanggil.
Nama | Deskrispsi |
---|---|
fn:node-name(node) | Mengembalikan nama node dari node argumen |
fn:nilled(node) | Mengembalikan nilai Boolean yang menunjukkan apakah node argumen diisi |
fn:data(item.item,…) | Mengambil urutan item dan mengembalikan urutan nilai atom |
fn:base-uri() fn:base-uri(node) | Mengembalikan nilai properti basis-uri dari node saat ini atau yang ditentukan |
fn:document-uri(node) | Mengembalikan nilai properti document-uri untuk node yang ditentukan |
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: Price is too high’) Hasil: Mengembalikan http://example.com/test#toohigh dan string “Error: price is too high” ke lingkungan pemrosesan eksternal |
fn:trace(value,label) | Digunakan untuk men-debug kueri |
Nama | Deskripsi |
---|---|
fn:number(arg) | Mengembalikan nilai numerik dari argumen. Argumennya bisa berupa boolean, string, atau node-set Example: number(‘100’) Result: 100 |
fn:abs(num) | Mengembalikan nilai absolut dari argument Example: abs(3.14) Result: 3.14 Example: abs(-3.14) Result: 3.14 |
fn:ceiling(num) | Mengembalikan bilangan bulat terkecil yang lebih besar dari argumen bilangan Example: ceiling(3.14) Result: 4 |
fn:floor(num) | Mengembalikan bilangan bulat terbesar yang tidak lebih besar dari argumen angka Example: floor(3.14) Result: 3 |
fn:round(num) | Membulatkan argumen angka ke bilangan bulat terdekat Example: round(3.14) Result: 3 |
fn:round-half-to-even() | Example: round-half-to-even(0.5) Result: 0 Example: round-half-to-even(1.5) Result: 2 Example: round-half-to-even(2.5) Result: 2 |
Nama | Deskripsi |
---|---|
fn:string(arg) | Mengembalikan nilai string dari argumen. Argumennya bisa berupa angka, boolean, atau kumpulan node Example: string(314) Result: “314” |
fn:codepoints-to-string((int,int,…)) | Membuat string dari urutan poin kode Unicode Standard Example: codepoints-to-string((84, 104, 233, 114, 232, 115, 101)) Result: ‘Thérèse’ |
fn:string-to-codepoints(string) | Mengembalikan urutan poin kode standar Unicode dari string Example: string-to-codepoints(“Thérèse”) Result: (84, 104, 233, 114, 232, 115, 101) |
fn:codepoint-equal(comp1,comp2) | Mengembalikan nilai true jika nilai comp1 sama dengan nilai comp2, sesuai dengan pemeriksaan titik kode Unicode (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), jika tidak maka mengembalikan salah |
fn:compare(comp1,comp2) fn:compare(comp1,comp2,collation) | Mengembalikan -1 jika comp1 lebih kecil dari comp2, 0 jika comp1 sama dengan comp2, atau 1 jika comp1 lebih besar dari comp2 (menurut aturan pemeriksaan yang digunakan) Example: compare(‘ghi’, ‘ghi’) Result: 0 |
fn:concat(string,string,…) | Menampilkan penggabungan string Example: concat(‘XPath ‘,’is ‘,’FUN!’) Result: ‘XPath is FUN!’ |
fn:string-join((string,string,…),sep) | Mengembalikan string yang dibuat dengan menggabungkan argumen string dan menggunakan argumen sep sebagai pemisah Example: string-join((‘We’, ‘are’, ‘having’, ‘fun!’), ‘ ‘) Result: ‘ We are having fun! ‘ Example: string-join((‘We’, ‘are’, ‘having’, ‘fun!’)) Result: ‘Wearehavingfun!’ Example:string-join((), ‘sep’) Result: ” |
fn:substring(string,start,len) fn:substring(string,start) | Mengembalikan substring dari posisi awal ke panjang yang ditentukan. Indeks karakter pertama adalah 1. Jika panjang dihilangkan, substring akan dikembalikan dari posisi awal hingga akhir Example: substring(‘Beatles’,1,4) Result: ‘Beat’ Example: substring(‘Beatles’,2) Result: ‘eatles’ |
fn:string-length(string) fn:string-length() | Mengembalikan panjang string yang ditentukan. Jika tidak ada argumen string, ia mengembalikan panjang nilai string dari node saat ini Example: string-length(‘Beatles’) Result: 7 |
fn:normalize-space(string) fn:normalize-space() | Menghapus spasi di depan dan di belakang dari string yang ditentukan, dan mengganti semua urutan internal spasi dengan satu dan mengembalikan hasilnya. Jika tidak ada argumen string, ia melakukan hal yang sama pada node saat ini Example: normalize-space(‘ The XML ‘) Result: ‘The XML’ |
fn:normalize-unicode() | – |
fn:upper-case(string) | Mengonversi argumen string menjadi huruf besar Example: upper-case(‘The XML’) Result: ‘THE XML’ |
fn:lower-case(string) | Mengonversi argumen string menjadi huruf kecil Example: lower-case(‘The XML’) Result: ‘the xml’ |
fn:translate(string1,string2,string3) | Mengonversi string1 dengan mengganti karakter di string2 dengan karakter di string3 Example: translate(’12:30′,’30’,’45’) Result: ’12:45′ Example: translate(’12:30′,’03’,’54’) Result: ’12:45′ Example: translate(’12:30′,’0123′,’abcd’) Result: ‘bc:da’ |
fn:escape-uri(stringURI,esc-res) | Example: escape-uri(“http://example.com/test#car”, true()) Result: “http%3A%2F%2Fexample.com%2Ftest#car” Example: escape-uri(“http://example.com/test#car”, false()) Result: “http://example.com/test#car” Example: escape-uri (“http://example.com/~bébé”, false()) Result: “http://example.com/~b%C3%A9b%C3%A9” |
fn:contains(string1,string2) | Mengembalikan nilai benar jika string1 berisi string2, jika tidak, mengembalikan salah Example: contains(‘XML’,’XM’) Result: true |
fn:starts-with(string1,string2) | Mengembalikan nilai benar jika string1 dimulai dengan string2, jika tidak, mengembalikan salah Example: starts-with(‘XML’,’X’) Result: true |
fn:ends-with(string1,string2) | Mengembalikan nilai benar jika string1 diakhiri dengan string2, jika tidak, mengembalikan salah Example: ends-with(‘XML’,’X’) Result: false |
fn:substring-before(string1,string2) | Mengembalikan awal string1 sebelum string2 terjadi di dalamnya Example: substring-before(’12/10′,’/’) Result: ’12’ |
fn:substring-after(string1,string2) | Mengembalikan sisa string1 setelah string2 terjadi di dalamnya Example: substring-after(’12/10′,’/’) Result: ’10’ |
fn:matches(string,pattern) | Mengembalikan nilai benar jika argumen string cocok dengan pola, jika tidak, mengembalikan nilai salah Example: matches(“Merano”, “ran”) Result: true |
fn:replace(string,pattern,replace) | Mengembalikan string yang dibuat dengan mengganti pola yang diberikan dengan argumen ganti Example: replace(“Bella Italia”, “l”, “*”) Result: ‘Be**a Ita*ia’ Example: replace(“Bella Italia”, “l”, “”) Result: ‘Bea Itaia’ |
fn:tokenize(string,pattern) | Example: tokenize(“XPath is fun”, “\s+”) Result: (“XPath”, “is”, “fun”) |
Name | Deskripsi |
---|---|
fn:resolve-uri(relative,base) | – |
Name | Deskripsi |
---|---|
fn:boolean(arg) | Mengembalikan nilai boolean untuk angka, string, atau kumpulan node |
fn:not(arg) | Argumennya pertama-tama direduksi menjadi nilai boolean dengan menerapkan fungsi boolean (). Mengembalikan nilai true jika nilai boolean false dan false jika nilai boolean true Example: not(true()) Result: false |
fn:true() | Mengembalikan nilai boolean true Example: true() Result: true |
fn:false() | Mengembalikan nilai boolean false Example: false() Result: false |
Fungsi Ekstraksi Komponen pada Durasi, Tanggal dan Waktu
Name | Deskripsi |
---|---|
fn:dateTime(date,time) | Mengubah argumen menjadi 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 dalam nilai lokal dari argumen Example: year-from-dateTime(xs:dateTime(“2005-01-10T12:30-04:10”)) Result: 2005 |
fn:month-from-dateTime(datetime) | Mengembalikan integer yang mewakili komponen bulan dalam nilai lokal dari argumen Example: month-from-dateTime(xs:dateTime(“2005-01-10T12:30-04:10”)) Result: 01 |
fn:day-from-dateTime(datetime) | Mengembalikan integer yang mewakili komponen hari dalam nilai lokal dari argumen Example: day-from-dateTime(xs:dateTime(“2005-01-10T12:30-04:10”)) Result: 10 |
fn:hours-from-dateTime(datetime) | Mengembalikan integer yang mewakili komponen jam dalam nilai lokal dari argumen Example: hours-from-dateTime(xs:dateTime(“2005-01-10T12:30-04:10”)) Result: 12 |
fn:minutes-from-dateTime(datetime) | Mengembalikan integer yang mewakili komponen menit dalam nilai lokal dari argumen Example: minutes-from-dateTime(xs:dateTime(“2005-01-10T12:30-04:10”)) Result: 30 |
fn:seconds-from-dateTime(datetime) | Mengembalikan desimal yang mewakili komponen detik dalam nilai lokal dari argumen Example: seconds-from-dateTime(xs:dateTime(“2005-01-10T12:30:00-04:10”)) Result: 0 |
fn:timezone-from-dateTime(datetime) | Mengembalikan desimal yang mewakili komponen detik dalam nilai lokal dari argumen |
fn:year-from-date(date) | Mengembalikan integer yang mewakili tahun dalam nilai lokal dari argumen Example: year-from-date(xs:date(“2005-04-23”)) Result: 2005 |
fn:month-from-date(date) | Mengembalikan integer yang mewakili bulan dalam nilai lokal dari argumen Example: month-from-date(xs:date(“2005-04-23”)) Result: 4 |
fn:day-from-date(date) | Mengembalikan bilangan bulat yang mewakili hari dalam nilai lokal dari argumen Example: day-from-date(xs:date(“2005-04-23”)) Result: 23 |
fn:timezone-from-date(date) | Mengembalikan komponen zona waktu dari argumen jika ada |
fn:hours-from-time(time) | Mengembalikan integer yang mewakili komponen jam dalam nilai lokal dari argumen Example: hours-from-time(xs:time(“10:22:00”)) Result: 10 |
fn:minutes-from-time(time) | Mengembalikan integer yang mewakili komponen menit dalam nilai lokal dari argumen Example: minutes-from-time(xs:time(“10:22:00”)) Result: 22 |
fn:seconds-from-time(time) | Mengembalikan integer yang mewakili komponen detik dalam nilai lokal dari argumen Example: seconds-from-time(xs:time(“10:22:00”)) Result: 0 |
fn:timezone-from-time(time) | Mengembalikan komponen zona waktu dari argumen jika ada |
fn:adjust-dateTime-to-timezone(datetime,timezone) | Jika argumen zona waktu kosong, ia mengembalikan dateTime tanpa zona waktu. Jika tidak, ini mengembalikan dateTime dengan zona waktu |
fn:adjust-date-to-timezone(date,timezone) | Jika argumen zona waktu kosong, ia mengembalikan tanggal tanpa zona waktu. Jika tidak, ini mengembalikan tanggal dengan zona waktu |
fn:adjust-time-to-timezone(time,timezone) | Jika argumen zona waktu kosong, ia mengembalikan waktu tanpa zona waktu. Jika tidak, ini mengembalikan waktu dengan zona waktu |
Name | 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() | – |
Name | Deskripsi |
---|---|
fn:name() fn:name(nodeset) | Mengembalikan nama node saat ini atau node pertama di kumpulan node yang ditentukan |
fn:local-name() fn:local-name(nodeset) | Mengembalikan nama node saat ini atau node pertama di kumpulan node yang ditentukan – tanpa awalan namespace |
fn:namespace-uri() fn:namespace-uri(nodeset) | Mengembalikan URI namespace dari node saat ini atau node pertama dalam kumpulan node yang ditentukan |
fn:lang(lang) | Mengembalikan nilai benar jika bahasa node saat ini cocok dengan bahasa bahasa yang ditentukan Example: Lang(“en”) is true for <p > Example: Lang(“de”) is false for <p > |
fn:root() fn:root(node) | Mengembalikan akar pohon tempat simpul saat ini atau milik yang ditentukan. Ini biasanya akan menjadi node dokumen |
Name | Deskripsi |
---|---|
fn:index-of((item,item,…),searchitem) | Mengembalikan posisi dalam urutan item yang sama dengan argumen item pencarian Example: index-of ((15, 40, 25, 40, 10), 40) Result: (2, 4) Example: index-of ((“a”, “dog”, “and”, “a”, “duck”), “a”) Result (1, 4) Example: index-of ((15, 40, 25, 40, 10), 18) Result: () |
fn:remove((item,item,…),position) | Mengembalikan urutan baru yang dibangun dari nilai argumen item – dengan item yang ditentukan oleh argumen posisi dihapus Example: remove((“ab”, “cd”, “ef”), 0) Result: (“ab”, “cd”, “ef”) Example: remove((“ab”, “cd”, “ef”), 1) Result: (“cd”, “ef”) Example: remove((“ab”, “cd”, “ef”), 4) Result: (“ab”, “cd”, “ef”) |
fn:empty(item,item,…) | Mengembalikan nilai benar jika nilai argumen adalah urutan kosong, jika tidak maka mengembalikan salah Example: empty(remove((“ab”, “cd”), 1)) Result: false |
fn:exists(item,item,…) | Mengembalikan nilai benar jika nilai argumen BUKAN merupakan urutan kosong, jika tidak maka mengembalikan salah Example: exists(remove((“ab”), 1)) Result: false |
fn:distinct-values((item,item,…),collation) | Hanya mengembalikan nilai yang berbeda (berbeda) Example: distinct-values((1, 2, 3, 1, 2)) Result: (1, 2, 3) |
fn:insert-before((item,item,…),pos,inserts) | Mengembalikan urutan baru yang dibangun dari nilai argumen item – dengan nilai argumen sisipan yang disisipkan dalam posisi yang ditentukan oleh argumen pos Example: insert-before((“ab”, “cd”), 0, “gh”) Result: (“gh”, “ab”, “cd”) Example: insert-before((“ab”, “cd”), 1, “gh”) Result: (“gh”, “ab”, “cd”) Example: insert-before((“ab”, “cd”), 2, “gh”) Result: (“ab”, “gh”, “cd”) Example: insert-before((“ab”, “cd”), 5, “gh”) Result: (“ab”, “cd”, “gh”) |
fn:reverse((item,item,…)) | Mengembalikan urutan terbalik dari item yang ditentukan Example: reverse((“ab”, “cd”, “ef”)) Result: (“ef”, “cd”, “ab”) Example: reverse((“ab”)) Result: (“ab”) |
fn:subsequence((item,item,…),start,len) | Mengembalikan urutan item dari posisi yang ditentukan oleh argumen awal dan melanjutkan untuk jumlah item yang ditentukan oleh argumen len. Item pertama berada di posisi 1 Example: subsequence(($item1, $item2, $item3,…), 3) Result: ($item3, …) Example: subsequence(($item1, $item2, $item3, …), 2, 2) Result: ($item2, $item3) |
fn:unordered((item,item,…)) | Mengembalikan item dalam urutan dependen implementasi |
Name | Deskripsi |
---|---|
fn:zero-or-one(item,item,…) | Mengembalikan argumen jika berisi nol atau satu item, jika tidak maka menimbulkan kesalahan |
fn:one-or-more(item,item,…) | Mengembalikan argumen jika berisi satu atau lebih item, jika tidak maka menimbulkan kesalahan |
fn:exactly-one(item,item,…) | Mengembalikan argumen jika berisi tepat satu item, jika tidak maka menimbulkan kesalahan |
Name | Deskripsi |
---|---|
fn:deep-equal(param1,param2,collation) | Mengembalikan nilai benar jika param1 dan param2 sama dalam satu sama lain, jika tidak, mengembalikan salah |
Name | Deskripsi |
---|---|
fn:count((item,item,…)) | Mengembalikan jumlah node |
fn:avg((arg,arg,…)) | Mengembalikan rata-rata nilai argumen Example: avg((1,2,3)) Result: 2 |
fn:max((arg,arg,…)) | Mengembalikan argumen yang lebih besar dari yang lain Example: max((1,2,3)) Result: 3 Example: max((‘a’, ‘k’)) Result: ‘k’ |
fn:min((arg,arg,…)) | Mengembalikan argumen yang kurang dari yang lain Example: min((1,2,3)) Result: 1 Example: min((‘a’, ‘k’)) Result: ‘a’ |
fn:sum(arg,arg,…) | Mengembalikan jumlah nilai numerik setiap node di kumpulan node yang ditentukan |
Name | Deskripsi |
---|---|
fn:id((string,string,…),node) | Mengembalikan urutan node elemen yang memiliki nilai ID sama dengan nilai dari satu atau lebih nilai yang ditentukan dalam argumen string |
fn:idref((string,string,…),node) | Mengembalikan urutan elemen atau node atribut yang memiliki nilai IDREF sama dengan nilai dari satu atau lebih nilai yang ditentukan dalam argumen string |
fn:doc(URI) | – |
fn:doc-available(URI) | Mengembalikan nilai benar jika fungsi doc () mengembalikan simpul dokumen, jika tidak maka mengembalikan salah |
fn:collection() fn:collection(string) | – |
Name | Deskripsi |
---|---|
fn:position() | Mengembalikan posisi indeks dari node yang saat ini sedang diproses Example: //book[position()<=3] Result: Selects the first three book elements |
fn:last() | Mengembalikan jumlah item dalam daftar node yang diproses Example: //book[last()] Result: Selects the last book element |
fn:current-dateTime() | Mengembalikan dateTime saat ini (dengan zona waktu) |
fn:current-date() | Mengembalikan tanggal sekarang (dengan zona waktu) |
fn:current-time() | Mengembalikan waktu saat ini (dengan zona waktu) |
fn:implicit-timezone() | Mengembalikan nilai zona waktu implisit |
fn:default-collation() | Mengembalikan nilai pemeriksaan default |
fn:static-base-uri() | Mengembalikan nilai basis-uri |
Selain itu, ada fungsi XSLT bawaan berikut:
Name | Deskripsi |
---|---|
current() | Mengembalikan node saat ini |
document() | Digunakan untuk mengakses node dalam dokumen XML eksternal |
element-available() | Menguji apakah elemen yang ditentukan didukung oleh prosesor XSLT |
format-number() | Mengonversi angka menjadi string |
function-available() | Menguji apakah fungsi yang ditentukan didukung oleh prosesor XSLT |
generate-id() | Mengembalikan nilai string yang secara unik mengidentifikasi node tertentu |
key() | Mengembalikan kumpulan node menggunakan indeks yang ditentukan oleh elemen <xsl:key> |
system-property() | Mengembalikan nilai properti sistem |
unparsed-entity-uri() | Mengembalikan URI dari entitas yang tidak diurai(unparsed) |