Aracılığıyla paylaş


XPath sorguları (SQLxml 4.0) Boole işlevleri belirtme

Aşağıdaki örnekler nasıl Boole işlevlerini XPath sorguları belirtilir.XPath sorguları Bu örneklerde SampleSchema1.xml içinde yer alan eşleme şema karşı belirtilir.Bu örnek şeması hakkında daha fazla bilgi için bkz: Örnek XPath örnekleri (SQLxml 4.0) xsd şema açıklamalı.

A.Boole işlev not() belirtin

Tüm bu sorgu döndürür <Müşteri> sahip olmayan içerik düðümünün alt öðelerin <Sipariş> alt öğeler:

/child::Customer[not(child::Order)]

The child axis is the default.Bu nedenle, sorgu olarak belirtilebilir:

/Customer[not(Order)]

XPath sorgusu eşleme şema karşı sınamak için

  1. Copy örnek şema kodu ve bir metin dosyasına yapıştırın.Dosyayı SampleSchema1.xml kaydedin.

  2. Aşağıdaki şablon (BooleanFunctionsA.xml) oluşturun ve SampleSchema1.xml kaydedildiği dizine kaydedin.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="SampleSchema1.xml">
        Customer[not(Order)]
    </sql:xpath-query>
    </ROOT>
    

    Dizin yol (SampleSchema1.xml) eşleme şema şablonun kaydedileceği dizini ile ilişkili olduğu için belirtilen.Mutlak bir yol da, örneğin belirtilebilir:

    mapping-schema="C:\MyDir\SampleSchema1.xml"
    
  3. Oluşturun ve sqlxml 4.0 sınama komut dosyası (Sqlxml4test.vbs) şablonu yürütmek için kullanın.

    Daha fazla bilgi için bkz: ado SQLxml yürütme kullanarak 4.0 sorgular.

Şablon yürütme kısmi bir sonuç küme aşağıdadır:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">

<Customer CustomerID="13" SalesPersonID="286" TerritoryID="7" AccountNumber="13" CustomerType="S" />

<Customer CustomerID="32" SalesPersonID="289" TerritoryID="8" AccountNumber="32" CustomerType="S" />

<Customer CustomerID="35" SalesPersonID="275" TerritoryID="2" AccountNumber="35" CustomerType="S" />

...

</ROOT>

B.True() ve false() Boole işlevlerini belirtin

Tüm bu sorgu döndürür <Müşteri> sahip olmayan içerik düðümünün alt öğesi <Sipariş> alt öğeleri.İlişkisel açısından, tüm sipariş vermemiş olan tüm müşterilerin bu sorgu döndürür.

/child::Customer[child::Order=false()]

The child axis is the default.Bu nedenle, sorgu olarak belirtilebilir:

/Customer[Order=false()]

Bu sorgu aşağıdakine eşdeğerdir:

/Customer[not(Order)]

En az bir siparişi koyduysanız tüm müşteriler aşağıdaki sorgu döndürür:

/Customer[Order=true()]

Bu sorgu, buna eşdeğerdir:

/Customer[Order]

XPath sorgusu eşleme şema karşı sınamak için

  1. Copy örnek şema kodu ve bir metin dosyasına yapıştırın.Dosyayı SampleSchema1.xml kaydedin.

  2. Aşağıdaki şablon (BooleanFunctionsB.xml) oluşturun ve SampleSchema1.xml kaydedildiği dizine kaydedin.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="SampleSchema1.xml">
        /Customer[Order=false()]
      </sql:xpath-query>
    </ROOT>
    

    Dizin yol (SampleSchema1.xml) eşleme şema şablonun kaydedileceği dizini ile ilişkili olduğu için belirtilen.Mutlak bir yol da, örneğin belirtilebilir:

    mapping-schema="C:\MyDir\SampleSchema1.xml"
    
  3. Oluşturun ve sqlxml 4.0 sınama komut dosyası (Sqlxml4test.vbs) şablonu yürütmek için kullanın.

    Daha fazla bilgi için bkz: ado SQLxml yürütme kullanarak 4.0 sorgular.

Şablon yürütme kısmi bir sonuç küme aşağıdadır:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">

<Customer CustomerID="13" SalesPersonID="286" TerritoryID="7" AccountNumber="13" CustomerType="S" />

<Customer CustomerID="32" SalesPersonID="289" TerritoryID="8" AccountNumber="32" CustomerType="S" />

<Customer CustomerID="35" SalesPersonID="275" TerritoryID="2" AccountNumber="35" CustomerType="S" />

...

</ROOT>