Aracılığıyla paylaş


Açık dönüştürme işlevleri XPath sorguları (SQLxml 4.0) belirtme

Aşağıdaki örnekler, nasıl açık dönüştürme işlevleri belirtilen XPath sorguları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ı.

Örnekler

A.Number() açık olarak int'e dönüştürülme kullanınişlev

The number() function converts an argument to a number.

Değeri kabul ederek BusinessEntityID , sayısal olmayan aşağıdaki sorgu dönüştürür BusinessEntityID bir sayı değeri 4 ile karşılaştırır ve.Sorguyu daha sonra tüm verir <Personel> ile içerik düðümünün alt öğesi BusinessEntityID 4 sayısal bir değeri olan öznitelik:

/child::Person[number(attribute::BusinessEntityID)= 4]

Kısayol attribute eksen (@) belirtilebilir ve çünkü child eksen varsayılan değerdir, sorgudan atlanabilir:

/Person[number(@BusinessEntityID) = 4]

Olan bir çalışan sorgunun ilişkisel açısından, verdiği bir BusinessEntityID / 4.

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 (ExplicitConversionA.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">
        /Contact[number(@BusinessEntityID)=4]
      </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.

sonuç küme İçin bu şablon yürütme olan:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Person BusinessEntityID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." /> 
</ROOT>

B.dize() açık olarak int'e dönüştürülme kullanınişlev

The string() function converts an argument to a string.

Aşağıdaki sorgu dönüştürür BusinessEntityID için bir dize ve karşılaştırır olan dizeyi, değeri "4".Tüm sorgu döndürür <Personel> ile içerik düðümünün alt öğesi bir BusinessEntityID "4" dize değeri:

/child::Contact[string(attribute::BusinessEntityID)="4"]

Kısayol attribute eksen (@) belirtilebilir ve çünkü child eksen varsayılan değerdir, sorgudan atlanabilir:

/Contact[string(@BusinessEntityID)="4"]

İşlevsel olarak, bir dize değeri ve sayısal değeri değil (yani, sayı 4) karşı değerlendirme yapılır rağmen bu sorgu önceki örnek sorgu aynı sonuçlar döndürür.

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 (ExplicitConversionB.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">
        Person[string(@BusinessEntityID)="4"]
      </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 sonuç küme aşağıdadır:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Person BusinessEntityID="4" LastName="Acevedo" FirstName="Humberto" Title="Sr." /> 
</ROOT>