Bagikan melalui


Ekspresi Jalur (XQuery)

Berlaku untuk:SQL Server

Ekspresi jalur XQuery menemukan simpul, seperti elemen, atribut, dan simpul teks, dalam dokumen. Hasil ekspresi jalur selalu terjadi dalam urutan dokumen tanpa simpul duplikat dalam urutan hasil. Dalam menentukan jalur, Anda dapat menggunakan sintaksis yang tidak disingkat atau disingkat. Informasi berikut berfokus pada sintaksis yang tidak disingkat. Sintaks yang disingkat dijelaskan nanti dalam topik ini.

Catatan

Karena kueri sampel dalam topik ini ditentukan terhadap kolom jenis xml , CatalogDescription dan Instruksi, dalam tabel ProductModel , Anda harus membiasakan diri dengan konten dan struktur dokumen XML yang disimpan dalam kolom ini.

Ekspresi jalur bisa relatif atau absolut. Berikut ini adalah deskripsi dari kedua hal ini:

  • Ekspresi jalur relatif terdiri dari satu atau beberapa langkah yang dipisahkan oleh satu atau dua tanda garis miring (/ atau //). Misalnya, child::Features adalah ekspresi jalur relatif, di mana Child hanya mengacu pada simpul anak dari simpul konteks. Ini adalah simpul yang saat ini sedang diproses. Ekspresi mengambil turunan <simpul elemen Fitur> dari simpul konteks.

  • Ekspresi jalur absolut dimulai dengan satu atau dua tanda garis miring (/ atau //), diikuti dengan jalur relatif opsional. Misalnya, tanda garis miring awal dalam ekspresi, /child::ProductDescription, menunjukkan bahwa itu adalah ekspresi jalur absolut. Karena tanda garis miring di awal ekspresi mengembalikan simpul akar dokumen dari simpul konteks, ekspresi mengembalikan semua <turunan simpul elemen ProductDescription> dari akar dokumen.

    Jika jalur absolut dimulai dengan tanda garis miring tunggal, jalur tersebut mungkin atau mungkin tidak diikuti oleh jalur relatif. Jika Anda hanya menentukan tanda garis miring tunggal, ekspresi mengembalikan simpul akar simpul konteks. Untuk tipe data XML, ini adalah simpul dokumennya.

Ekspresi jalur umum terdiri dari langkah-langkah. Misalnya, ekspresi jalur absolut, /child::ProductDescription/child::Summary,berisi dua langkah yang dipisahkan oleh tanda garis miring.

  • Langkah pertama mengambil <turunan simpul elemen ProductDescription> dari akar dokumen.

  • Langkah kedua mengambil <turunan simpul elemen Ringkasan> untuk setiap simpul elemen ProductDescription> yang diambil<, yang pada gilirannya menjadi simpul konteks.

Langkah dalam ekspresi jalur bisa menjadi langkah sumbu atau langkah umum.

Langkah Sumbu

Langkah sumbu dalam ekspresi jalur memiliki bagian berikut.

Axis
Mendefinisikan arah gerakan. Langkah sumbu dalam ekspresi jalur yang dimulai pada simpul konteks dan menavigasi ke simpul yang dapat dijangkau dalam arah yang ditentukan oleh sumbu.

tes node
Menentukan tipe node atau nama simpul yang akan dipilih.

Nol atau lebih predikat opsional
Memfilter simpul dengan memilih beberapa dan membuang yang lain.

Contoh berikut menggunakan axisstep dalam ekspresi jalur:

  • Ekspresi jalur absolut, /child::ProductDescription, hanya berisi satu langkah. Ini menentukan sumbu (child) dan pengujian simpul (ProductDescription).

  • Ekspresi jalur relatif, child::ProductDescription/child::Features, berisi dua langkah yang dipisahkan oleh tanda garis miring. Kedua langkah menentukan sumbu anak. ProductDescription and Features adalah pengujian node.

  • Ekspresi jalur relatif, child::root/child::Location[attribute::LocationID=10],berisi dua langkah yang dipisahkan oleh tanda garis miring. Langkah pertama menentukan sumbu (child) dan pengujian simpul (root). Langkah kedua menentukan ketiga komponen langkah sumbu: sumbu (anak), pengujian simpul (Location), dan predikat ([attribute::LocationID=10]).

Untuk informasi selengkapnya tentang komponen langkah sumbu, lihat Menentukan Sumbu dalam Langkah Ekspresi Jalur, Menentukan Pengujian Simpul dalam Langkah Ekspresi Jalur, dan Menentukan Predikat dalam Langkah Ekspresi Jalur.

Langkah Umum

Langkah umum hanyalah ekspresi yang harus dievaluasi ke urutan simpul.

Implementasi XQuery di SQL Server mendukung langkah umum sebagai langkah pertama dalam ekspresi jalur. Berikut ini adalah contoh ekspresi jalur yang menggunakan langkah-langkah umum.

(/a, /b)/c  
id(/a/b)  

Untuk informasi selengkapnya tentang fungsi id, lihat Fungsi id (XQuery).

Di Bagian Ini

Menentukan Sumbu dalam Langkah Ekspresi Jalur
Menjelaskan bekerja dengan langkah sumbu dalam ekspresi jalur.

Menentukan Pengujian Simpul dalam Langkah Ekspresi Jalur
Menjelaskan bekerja dengan pengujian simpul dalam ekspresi jalur.

Menentukan Predikat dalam Langkah Ekspresi Jalur
Menjelaskan bekerja dengan predikat dalam ekspresi jalur.

Menggunakan Sintaks yang Disingkat dalam Ekspresi Jalur
Menjelaskan bekerja dengan sintaks yang disingkat dalam ekspresi jalur.