Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Azure SQL Database
Contoh berikut menunjukkan bagaimana operator relasional ditentukan dalam kueri XPath. Kueri XPath dalam contoh ini ditentukan terhadap skema pemetaan yang terkandung dalam SampleSchema1.xml. Untuk informasi tentang skema sampel ini, lihat Contoh Skema XSD Anotasi untuk Contoh XPath (SQLXML 4.0).
Contoh
J. Tentukan operator relasional
Kueri XPath ini mengembalikan elemen turunan dari <elemen Pelanggan> di mana nilai atribut CustomerID adalah "1" dan di mana setiap elemen Pesanan> anak <berisi <anak OrderDetail> dengan atribut OrderQty dengan nilai lebih besar dari 3:
/child::Customer[@CustomerID="1"]/Order/OrderDetail[@OrderQty > 3]
Predikat yang ditentukan dalam tanda kurung memfilter <elemen Pelanggan> . <Hanya elemen Pelanggan> yang memiliki setidaknya satu <cucu OrderDetail> dengan nilai atribut OrderQty yang lebih besar dari 3 yang dikembalikan.
Sumbu anak adalah default. Oleh karena itu, kueri dapat ditentukan sebagai:
/Customer[@CustomerID="1"]/Order/OrderDetail[@OrderQty > 3]
Untuk menguji kueri XPath terhadap skema pemetaan
Salin kode skema sampel dan tempelkan ke dalam file teks. Simpan file sebagai SampleSchema1.xml.
Buat templat berikut (SpecifyRelationalA.xml) dan simpan di direktori tempat SampleSchema1.xml disimpan.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Customer[@CustomerID="1"]/Order/OrderDetail[@OrderQty > 3] </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (SampleSchema1.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\SampleSchema1.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML 4.0.
Berikut adalah kumpulan hasil eksekusi templat:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<OrderDetail ProductID="Prod-760" UnitPrice="503.3507" OrderQty="4" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-763" UnitPrice="503.3507" OrderQty="4" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-766" UnitPrice="503.3507" OrderQty="4" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-732" UnitPrice="440.1742" OrderQty="4" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-757" UnitPrice="1049.7528" OrderQty="4" UnitPriceDiscount="0" />
</ROOT>
B. Tentukan operator relasional dalam kueri XPath dan gunakan fungsi Boolean untuk membandingkan hasilnya
Kueri ini mengembalikan semua <turunan elemen Order> dari simpul konteks yang memiliki nilai atribut SalesPersonID yang kurang dari 270:
/child::Customer/child::Order[(attribute::SalesPersonID < 270)=true()]
Pintasan ke sumbu atribut (@) dapat ditentukan, dan karena sumbu anak adalah default, itu dapat dihilangkan dari kueri:
/Customer/Order[(@SalesPersonID < 270)=true()]
Catatan
Ketika kueri ini ditentukan dalam templat, < karakter harus dikodekan entitas karena < karakter memiliki arti khusus dalam dokumen XML. Dalam templat, gunakan < untuk menentukan < karakter.
Untuk menguji kueri XPath terhadap skema pemetaan
Salin kode skema sampel dan tempelkan ke dalam file teks. Simpan file sebagai SampleSchema1.xml.
Buat templat berikut (SpecifyRelationalB.xml) dan simpan di direktori tempat SampleSchema1.xml disimpan.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Customer/Order[(@SalesPersonID<270)=true()] </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (SampleSchema1.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\SampleSchema1.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML 4.0.
Berikut adalah rangkaian hasil parsial dari eksekusi templat:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Order SalesOrderID="Ord-46613" SalesPersonID="268"
OrderDate="2002-07-01T00:00:00"
DueDate="2002-07-13T00:00:00"
ShipDate="2002-07-08T00:00:00">
<OrderDetail ProductID="Prod-739" UnitPrice="917.9363"
OrderQty="2" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-779" UnitPrice="1491.4221"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-825" UnitPrice="242.1391"
OrderQty="1" UnitPriceDiscount="0" />
</Order>
<Order SalesOrderID="Ord-71919" SalesPersonID="268"
OrderDate="2004-06-01T00:00:00"
DueDate="2004-06-13T00:00:00"
ShipDate="2004-06-08T00:00:00">
<OrderDetail ProductID="Prod-961" UnitPrice="534.492"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-965" UnitPrice="534.492"
OrderQty="1" UnitPriceDiscount="0" />
<OrderDetail ProductID="Prod-966" UnitPrice="1716.5304"
OrderQty="1" UnitPriceDiscount="0" />
</Order>
...
</ROOT>