Menentukan Operator Boolean dalam Kueri JalurX (SQLXML 4.0)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database

Contoh berikut menunjukkan bagaimana operator Boolean ditentukan dalam kueri JalurX. Kueri JalurX 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 JalurX (SQLXML 4.0).

Contoh

A. Tentukan operator OR Boolean

Kueri JalurX ini mengembalikan <turunan elemen Pelanggan> dari simpul konteks dengan nilai atribut CustomerID 13 atau 31:

/child::Customer[attribute::CustomerID="13" or attribute::CustomerID="31"]  

Pintasan ke sumbu atribut (@) dapat ditentukan, dan karena sumbu anak adalah default, itu dapat dihilangkan:

/Customer[@CustomerID="13" or @CustomerID="31"]  

Dalam predikat , attribute adalah sumbu dan CustomerID merupakan pengujian simpul (TRUE jika CustomerID adalah <node atribut> , karena <node atribut> adalah simpul utama untuk sumbu atribut ). Predikat memfilter <elemen Pelanggan> dan hanya mengembalikan yang memenuhi kondisi yang ditentukan dalam predikat.

Untuk menguji kueri JalurX terhadap skema pemetaan
  1. Salin kode skema sampel dan tempelkan ke dalam file teks. Simpan file sebagai SampleSchema1.xml.

  2. Buat templat berikut (BooleanOperatorsA.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="13" or @CustomerID="31"]  
      </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"  
    
  3. 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">  
  <Customer CustomerID="13" SalesPersonID="286" TerritoryID="7" AccountNumber="13" CustomerType="S" />   
  <Customer CustomerID="31" SalesPersonID="286" TerritoryID="7" AccountNumber="31" CustomerType="S" Orders="Ord-51803 Ord-69427">  
    <Order SalesOrderID="Ord-51803" SalesPersonID="286" OrderDate="2003-08-01T00:00:00" DueDate="2003-08-13T00:00:00" ShipDate="2003-08-08T00:00:00">  
      <OrderDetail ProductID="Prod-718" UnitPrice="1059.31" OrderQty="1" UnitPriceDiscount="0" />   
      <OrderDetail ProductID="Prod-838" UnitPrice="1059.31" OrderQty="1" UnitPriceDiscount="0" />   
    </Order>  
    <Order SalesOrderID="Ord-69427" SalesPersonID="286" OrderDate="2004-05-01T00:00:00" DueDate="2004-05-13T00:00:00" ShipDate="2004-05-08T00:00:00">  
      <OrderDetail ProductID="Prod-835" UnitPrice="440.1742" OrderQty="1" UnitPriceDiscount="0" />   
    </Order>  
  </Customer>  
</ROOT>