Latest web development tutorials

XPath, XQuery dan fungsi XSLT

Referensi manual berikut mendefinisikan XPath 2.0, XQuery 1.0 dan XSLT 2.0 fungsi.


Reference Manual fungsi

catatan Default fungsi namespace prefix untuk fn:

catatan Fungsi namespace URI adalah: http://www.w3.org/2005/xpath-functions

fungsi akses

nama penjelasan
fn: node-nama (node) Mengembalikan nama node parameter simpul.
fn: nilled (node) Pengembalian apakah akan menolak nilai Boolean argumen simpul.
fn: data (item.item, ...) Terima urutan proyek dan mengembalikan urutan nilai atom.
  • fn: dasar-uri ()
  • fn: dasar-uri (node)
Mengembalikan nilai dari atribut dasar-uri saat menentukan node atau node.
fn: Dokumen-uri (node) Mengembalikan nilai node properti dokumen-uri yang ditentukan.

Kesalahan dan fungsi pelacakan

nama penjelasan
  • fn: error ()
  • fn: error (kesalahan)
  • fn: error (kesalahan, deskripsi)
  • fn: error (kesalahan, deskripsi, kesalahan-objek)

Contoh: error (fn: QName ( 'http://example.com/test', 'err: toohigh'), 'Kesalahan: Harga terlalu tinggi')

Hasil: Pengembalian http://example.com/test#toohigh dan string untuk pengolahan lingkungan eksternal "Kesalahan: Harga terlalu tinggi".

fn: trace (nilai, label) Hal ini digunakan untuk query debug.

nilai fungsi yang terkait

nama penjelasan
fn: Nomor (arg)

Mengembalikan nilai parameter. Parameter adalah Boolean nilai, string, atau set simpul.

Contoh: Nomor ( '100')

Hasil: 100

fn: abs (num)

Mengembalikan nilai absolut dari parameter.

Contoh: abs (3.14)

Hasil: 3.14

Contoh: abs (-3,14)

Hasil: 3.14

fn: langit-langit (num)

Mengembalikan integer terkecil yang lebih besar dari parameter num.

Contoh: langit-langit (3.14)

Hasil: 4

fn: floor (num)

Mengembalikan integer terbesar tidak lebih besar dari parameter num.

Contoh: lantai (3.14)

Hasil: 3

fn: round (num)

Num argumen dibulatkan ke integer terdekat.

Contoh: round (3.14)

Hasil: 3

fn: round-setengah-to-bahkan ()

Contoh: round-setengah-to-bahkan (0,5)

Hasil: 0

Contoh: round-setengah-to-bahkan (1.5)

Hasil: 2

Contoh: round-setengah-to-bahkan (2.5)

Hasil: 2

Fungsi tentang string

nama penjelasan
fn: string (arg)

Mengembalikan nilai string parameter. Argumen dapat angka, nilai-nilai logis, atau mengatur node.

Contoh: string (314)

Hasilnya: The "314"

fn: codepoints-to-string (int, int, ...)

Menurut urutan kode titik mengembalikan string.

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

Hasil: 'Therese'

fn: string-to-codepoints (string)

Menurut tali pulang kode urutan titik.

Contoh: string-to-codepoints ( "Therese")

Hasilnya: 84, 104, 233, 114, 232, 115, 101

fn: codepoint-sama (comp1, comp2) Menurut titik perbandingan kode Unicode, jika nilai sama dengan comp2 nilai comp1 Pengembalian benar. (Http://www.w3.org/2005/02/xpath-functions/collation/codepoint), jika tidak maka kembali palsu.
  • fn: membandingkan (comp1, comp2)
  • fn: membandingkan (comp1, comp2, pemeriksaan)

Jika comp1 kurang dari comp2, -1 dikembalikan. Jika comp1 sama comp2, 0 dikembalikan. Jika comp1 lebih besar dari comp2, 1 dikembalikan. (Menurut aturan yang digunakan oleh kontrol).

Contoh: membandingkan ( 'ghi', 'ghi')

Hasil: 0

fn: concat (string, string, ...)

Mengembalikan penggabungan string.

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

Hasil: 'XPath adalah FUN!'

fn: string-bergabung ((string, string, ...), September)

Gunakan September sebagai argumen pembatas untuk mengembalikan parameter string string setelah jahitan.

Contoh: string-join ( '! Fun' ( 'Kami,' yang ',' memiliki ',),' ')

Hasil: "Kami bersenang-senang!"

Contoh: string-join ( '! Fun' ( 'Kami,' yang ',' memiliki ',))

Hasil: 'Wearehavingfun!'

Contoh: string-bergabung ((), 'September')

Hasil: ''

  • fn: substring (string, mulai, len)
  • fn: substring (string, mulai)

Mengembalikan substring dari posisi awal awal panjang tertentu. Indeks dari karakter pertama adalah 1. Jika Anda menghilangkan argumen len dari posisi awal sampai akhir string dikembalikan.

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

Hasil: 'Kalahkan'

Contoh: substring ( 'Beatles', 2)

Hasil: 'eatles'

  • fn: string-panjang (string)
  • fn: string-panjang ()

Mengembalikan panjang string. Jika tidak ada argumen string, panjang dari nilai string dari node saat dikembalikan.

Contoh: string-panjang ( 'Beatles')

Hasil: 7

  • fn: menormalkan-ruang (string)
  • fn: menormalkan-ruang ()

Hapus awal dan akhir dari string yang ditentukan kosong, kosong dan semua digantikan oleh serangkaian internal dan mengembalikan hasilnya. Jika tidak ada argumen string, proses node saat.

Contoh: menormalkan-ruang ( 'The XML')

Hasil: 'XML The'

fn: menormalkan-unicode () Pelaksanaan Unicode normalisasi.
fn: huruf besar (string)

Argumen string ke huruf besar.

Contoh: huruf besar ( 'The XML')

Hasil: 'XML THE'

fn: huruf kecil (string)

Argumen string dikonversi ke huruf kecil.

Contoh: rendah-kasus ( 'The XML')

Hasil: 'xml'

fn: menerjemahkan (string1, string2, string3)

The string1 di string2 diganti string3.

Contoh: menerjemahkan ('12: 30 ',' 30 ',' 45 ')

Hasil: '12: 45 '

Contoh: menerjemahkan ('12: 30 ',' 03 ',' 54 ')

Hasil: '12: 45 '

Contoh: menerjemahkan ('12: 30 ',' 0123 ',' abcd ')

Hasil: 'bc: da'

fn: melarikan diri-uri (stringURI, esc-res)

Contoh: melarikan diri-uri ( "http://example.com/test#car", benar ())

Hasil: "http% 3A% 2F% 2Fexample.com% 2Ftest # mobil"

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

Hasil: "http://example.com/test#car"

Contoh: melarikan diri-uri ( "http://example.com/~bebe", false ())

Hasil: "http://example.com/~b%C3%A9b%C3%A9"

fn: mengandung (string1, string2)

Jika string1 berisi string2, ia mengembalikan true, jika tidak kembali palsu.

Contoh: berisi ( 'XML', 'XM')

Hasil: true

fn: dimulai-dengan (string1, string2)

Jika string1 dimulai dengan string2, itu mengembalikan true, jika tidak kembali palsu.

Contoh: dimulai-dengan ( 'XML', 'X')

Hasil: true

fn: berakhir-dengan (string1, string2)

Jika string1 dengan string2 akhir mengembalikan true, jika tidak maka kembali palsu.

Contoh: ujung-dengan ( 'XML', 'X')

Hasil: false

fn: substring-sebelum (string1, string2)

Mengembalikan substring dari string1 string2 muncul sebelumnya.

Contoh: substring-sebelum ('12 / 10 ',' / ')

Hasil: '12 '

fn: substring-setelah (string1, string2)

Mengembalikan substring dari string1 string2 muncul kemudian.

Contoh: substring-setelah ('12 / 10 ',' / ')

Hasil: '10 '

fn: pertandingan (string, pola)

Jika string yang cocok dengan pola yang telah ditentukan, ia mengembalikan true, jika tidak kembali palsu.

Contoh: pertandingan ( "Merano", "berlari")

Hasil: true

fn: ganti (string, pola, ganti)

Modus yang ditentukan diganti ganti parameter dan mengembalikan hasilnya.

Contoh: ganti ( "Bella Italia", "l", "*")

Hasil: 'Jadilah ** a Ita * besarbesaran'

Contoh: ganti ( "Bella Italia", "l", "")

Hasil: 'Bea Itaia'

fn: tokenize (string, pola)

Contoh: tokenize ( "XPath menyenangkan", "\ s +")

Hasil :( "XPath", "adalah", "menyenangkan")

Fungsi AnyURI untuk

nama penjelasan
fn: tekad-uri (relatif, basis)

Fungsi dari nilai-nilai Boolean

nama penjelasan
fn: boolean (arg) Mengembalikan Boolean nilai numerik, string, atau set simpul.
fn: tidak (arg)

Pertama, boolean () fungsi untuk mengembalikan parameter dari nilai Boolean. Jika nilai Boolean adalah palsu, ia mengembalikan benar, jika tidak maka kembali benar.

Contoh: tidak (benar ())

Hasil: false

fn: true ()

Mengembalikan nilai Boolean benar.

Contoh: true ()

Hasil: true

fn: palsu ()

Mengembalikan nilai palsu Boolean.

Contoh: palsu ()

Hasil: false

Fungsi yang terkait dengan durasi, tanggal dan waktu

Tanggal, waktu, durasi fungsi ekstraksi komponen

nama penjelasan
fn: datetime (tanggal, waktu) Argumen untuk tanggal dan waktu.
fn: tahun-dari-durasi (datetimedur) Bilangan bulat bagian dari Tahun nilai kembali dari notasi standar untuk mewakili kata-kata.
fn: bulan-dari-durasi (datetimedur) Mengembalikan bagian bilangan bulat dari nilai-nilai parameter bulan, notasi standar untuk mewakili kata-kata.
fn: hari-dari-durasi (datetimedur) Mengembalikan bagian bilangan bulat dari nilai-nilai parameter hari, notasi standar untuk mewakili kata-kata.
fn: jam-dari-durasi (datetimedur) Mengembalikan bagian bilangan bulat dari nilai-nilai parameter dari jam, notasi standar untuk mewakili kata-kata.
fn: menit-dari-durasi (datetimedur) Mengembalikan bagian integer dari menit dari nilai-nilai parameter, notasi standar untuk mewakili kata-kata.
fn: detik-dari-durasi (datetimedur) Mengembalikan bagian desimal dari jumlah menit nilai parameter, notasi standar untuk mewakili kata-kata.
fn: tahun-dari-datetime (datetime)

Mengembalikan nilai parameter bilangan bulat di bagian lokal.

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

Hasil: 2005

fn: bulan-dari-datetime (datetime)

Mengembalikan bagian bilangan bulat dari nilai-nilai parameter lokal bulanan.

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

Hasil: 01

fn: hari-dari-datetime (datetime)

Mengembalikan bagian bilangan bulat dari hari nilai parameter lokal.

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

Hasil: 10

fn: jam-dari-datetime (datetime)

Mengembalikan bagian bilangan bulat dari jam parameter nilai-nilai lokal.

Contoh: jam-dari-datetime (xs: datetime ( "2005-01-10T12: 30-04: 10"))

Hasil: 12

fn: menit-dari-datetime (datetime)

Mengembalikan bagian bilangan bulat dari parameter nilai menit lokal.

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

Hasil: 30

fn: detik-dari-datetime (datetime)

Mengembalikan bagian desimal dari nilai-nilai parameter lokal kedua.

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

Hasil: 0

fn: zona-dari-datetime (datetime) Mengembalikan porsi wilayah, jika ada.
fn: tahun-dari-date (tanggal)

Dalam nilai integer pengembalian yang mewakili parameter lokal.

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

Hasil: 2005

fn: bulan-dari-date (tanggal)

bulan Integer Mengembalikan nilai lokal dari parameter yang ditunjukkan.

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

Hasil: 4

fn: hari-dari-date (tanggal)

Hari mengembalikan nilai integer mewakili parameter lokal.

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

Hasil: 23

fn: zona-dari-date (tanggal) Mengembalikan porsi wilayah, jika ada.
fn: jam-dari-waktu (time)

Mengembalikan jam bagian bilangan bulat nilai parameter lokal diwakili.

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

Hasil: 10

fn: menit-dari-time (waktu)

Mengembalikan bagian integer dari parameter nilai menit lokal mewakili.

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

Hasil: 22

fn: detik-dari-time (waktu)

Bilangan bulat bagian dari kedua nilai parameter kembali menunjukkan lokal.

Contoh: detik-dari-waktu (xs: waktu ( "10:22:00"))

Hasil: 0

fn: zona-dari-time (waktu) Mengembalikan porsi wilayah, jika ada.
fn: menyesuaikan-datetime-to-zona (datetime, zona waktu) Jika argumen zona waktu kosong, tidak mengembalikan zona waktu datetime. Jika tidak, ia mengembalikan datetime dengan zona waktu.
fn: menyesuaikan-date-ke-zona (tanggal, zona waktu) Jika argumen zona waktu kosong, tidak mengembalikan zona waktu tanggal. Jika tidak, ia mengembalikan date dengan zona waktu.
fn: menyesuaikan waktu-ke-zona (waktu, zona waktu) Jika argumen zona waktu kosong, tidak mengembalikan zona waktu waktu. Jika tidak waktu dengan zona waktu.

Dan QNames terkait fungsi

nama penjelasan
fn: QName ()
fn: lokal-nama-dari-QName ()
fn: namespace-uri-dari-QName ()
fn: namespace-uri-untuk-prefix ()
fn: di-lingkup-awalan ()
fn: tekad-QName ()

Sebuah fungsi dari node

nama penjelasan
  • fn: Nama ()
  • fn: Nama (nodeset)
Mengembalikan nama node saat atau menentukan node pertama dari cluster.
  • fn: lokal-nama ()
  • fn: lokal-nama (nodeset)
Mengembalikan pertama dari nama node saat ini atau menentukan node di cluster - tanpa namespace prefix.
  • fn: namespace-uri ()
  • fn: namespace-uri (nodeset)
Mengembalikan node yang ditentukan atau node di cluster saat ini namespace URI dari node pertama.
fn: lang (lang)

Jika bahasa node saat sesuai dengan bahasa tertentu, ia mengembalikan benar.

Contoh: Lang ( "en") ini berlaku untuk <p xml: lang = "en"> ... </ p>

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

  • fn: root ()
  • fn: root (node)
Mengembalikan simpul akar pohon atau node saat node yang ditentukan milik. Biasanya node dokumen.

urutan fungsi yang terkait

fungsi umum

nama penjelasan
fn: indeks-((item, item, ...), searchitem)

Kembali proyek sama dengan parameter searchitem posisi urutan.

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

Hasil: (2, 4)

Contoh: Indeks-of (( "a", "anjing", "dan", "a", "bebek"), "a")

Hasilnya (1, 4)

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

Hasil :()

fn: menghapus ((item, item, ...), posisi)

Ia mengembalikan urutan baru konfigurasi parameter barang - menghapus parameter posisi menentukan proyek.

Contoh: menghapus (( "ab", "cd", "ef"), 0)

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

Contoh: menghapus (( "ab", "cd", "ef"), 1)

Hasil :( "cd", "ef")

Contoh: menghapus (( "ab", "cd", "ef"), 4)

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

fn: kosong (item, item, ...)

Jika nilai parameter adalah urutan kosong, itu mengembalikan true, jika tidak kembali palsu.

Contoh: kosong (hapus (( "ab", "cd"), 1))

Hasil: false

fn: ada (item, item, ...)

Jika nilai parameter tidak urutan kosong, mengembalikan true, jika tidak kembali palsu.

Contoh: ada (hapus (( "ab"), 1))

Hasil: false

fn: berbeda-nilai ((item, item, ...), pemeriksaan)

Satu-satunya kembali nilai-nilai yang berbeda.

Contoh: berbeda-nilai ((1, 2, 3, 1, 2))

Hasil: (1, 2, 3)

fn: menyisipkan-sebelum ((item, item, ...), pos, sisipan)

Ia mengembalikan urutan baru dibangun oleh parameter barang - parameter menentukan lokasi penyisipan menyisipkan nilai parameter pos.

Contoh: menyisipkan-sebelum (( "ab", "cd"), 0, "gh")

Hasil :( "gh", "ab", "cd")

Contoh: menyisipkan-sebelum (( "ab", "cd"), 1, "gh")

Hasil :( "gh", "ab", "cd")

Contoh: menyisipkan-sebelum (( "ab", "cd"), 2, "gh")

Hasil :( "ab", "gh", "cd")

Contoh: menyisipkan-sebelum (( "ab", "cd"), 5, "gh")

Hasil :( "ab", "cd", "gh")

fn: terbalik ((item, item, ...))

Pengembalian membalik urutan item tertentu.

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

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

Contoh: terbalik (( "ab"))

Hasil :( "ab")

fn: subsequence ((item, item, ...), mulai, len)

Mengembalikan parameter awal menentukan lokasi proyek untuk mengembalikan urutan panjang, urutan ditentukan oleh parameter len. Lokasi proyek pertama adalah 1.

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

Hasil: ($ item3, ...)

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

Hasil: ($ item2, $ item3)

fn: unordered ((item, item, ...)) Menurut urutan keputusan pelaksanaan untuk kembali ke proyek.

Kapasitas fungsi tes urut

nama penjelasan
fn: nol-atau-satu (item, item, ...) Jika parameter berisi item nol atau satu, kemudian kembali parameter, jika kesalahan yang dihasilkan.
fn: satu-atau-lebih (item, item, ...) Jika parameter berisi satu atau lebih item, kemudian kembali parameter, jika kesalahan yang dihasilkan.
fn: persis satu (item, item, ...) Jika parameter berisi item, kemudian kembali parameter, jika kesalahan yang dihasilkan.

Sama, Union, Intersection dan Kecuali

nama penjelasan
fn: deep-sama (param1, param2, pemeriksaan) Jika param1 dan param2 dan sama satu sama lain (deep-sama), mengembalikan true, jika tidak kembali palsu.

fungsi agregat

nama penjelasan
fn: count ((item, item, ...)) Mengembalikan jumlah node.
fn: avg ((arg, arg, ...)) Rata-rata nilai parameter pulang. Contoh: avg ((1,2,3)) Hasil: 2
fn: max ((arg, arg, ...)) Mengembalikan parameter lebih besar dari parameter lainnya. Contoh: max ((1,2,3)) Hasil: Contoh 3: max (( 'a', 'k')) hasil: 'k'
fn: min ((arg, arg, ...)) Kembali kecil dari parameter lain dari parameter. Contoh: min ((1,2,3)) Hasil: Contoh 1: min (( 'a', 'k')) Hasil: 'a'
fn: sum (arg, arg, ...) Mengembalikan node yang ditentukan menetapkan nilai jumlah setiap node.

Fungsi generasi urutan

nama penjelasan
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-tersedia (URI) Jika doc () mengembalikan fungsi node dokumen, itu mengembalikan true, jika tidak kembali palsu.
  • fn: Koleksi ()
  • fn: Koleksi (string)

fungsi konteks

nama penjelasan
fn: Posisi ()

Ia mengembalikan posisi indeks node yang sedang diproses.

Contoh: // buku [posisi () <= 3]

Hasil: Pilih tiga elemen pertama dari buku

fn: terakhir ()

Ia mengembalikan jumlah item dalam daftar node sedang diproses.

Contoh: // buku [terakhir ()]

Hasil: Pilih elemen terakhir dari sebuah buku

fn: saat-datetime () Ia mengembalikan datetime saat ini (dengan zona waktu).
fn: saat-date () Mengembalikan tanggal (dengan zona waktu).
fn: saat-saat () Ia mengembalikan waktu saat ini (dengan zona waktu).
fn: implisit-zona () Nilai kembali implisit zona waktu.
fn: default-pemeriksaan () Kontrol kembali ke nilai default.
fn: statis-base-uri () Nilai kembali dasar-uri tersebut.