Aracılığıyla paylaş


xdr öğeleri ve öznitelikleri tabloları ve sütunları için varsayılan eşleme

Önemli notÖnemli

Bu konuda eski uygulamalar için bir referans olarak dahil edilir.Bu özelliği yok ileride geliştirme çalışmaları yapılacaktır.Bu özellik yeni geliştirme çalışması kullanmaktan kaçının.Bunun yerine, açıklama eklenmiş xsd şemaları, xml görünümlerini oluşturmak için kullanın.Daha fazla bilgi için bkz: Açıklama eklenmiş xsd şemaları (SQLxml 4.0) Giriº.xsd şemaları için varolan açıklama eklenmiş xdr şemalarını dönüştürebilirsiniz.Daha fazla bilgi için bkz: Açıklama eklenmiş xdr şemalarını eşdeğer xsd şemaları (SQLxml 4.0) dönüştürme.

Açıklama eklenmiş xdr şeması, varsayılan olarak, tablo/görünüm aynı ada sahip bir öğe eşleştirir ve sütun aynı ada sahip bir öznitelik eşleştirir.

Şema noncomplex alt öğeleri veritabanı sütunları eşleştirebilirsiniz.Veritabanında, sütun bir öğe eşlemek için content öznitelik ile o öğe için belirtilen textOnly değer.If content=textOnly is not specified in mapping an element to a database column, the sql:field annotation must be explicitly specified to map the <element> to a database column.Daha fazla bilgi için bkz: Açık eşleme xdr öğeleri ve öznitelikleri tabloları ve sütunları.

Örnekler

Aşağıdaki örnekler kullanarak çalışma örnekleri oluşturmak için belirli gereksinimleri karşılaması gerekir.Daha fazla bilgi için bkz: SQLxml örnekleri çalıştırma gereksinimleri.

A.Varsayılan eşlemeyi belirtin

Bu örnekte, <Person.Person> Person.Person tablosundaki öğe eşler AdventureWorks2008R2 , veritabanı ve tüm öznitelikleri Eşle aynı adı sütun Person.Person tablo.Hiçbir ek açıklamaları bu xdr şemasında belirtilir.

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">

<ElementType name="Person.Person" >
    <AttributeType name="BusinessEntityID" />
    <AttributeType name="FirstName" />
    <AttributeType name="LastName" />

    <attribute type="BusinessEntityID" />
    <attribute type="FirstName" />
    <attribute type="LastName" />
</ElementType>
</Schema>

Örnek XPath sorgusu şema karşı sınamak için

  1. Yukarıdaki şema kodu kopyalayın ve bir metin dosyasına yapıştırın.Dosyayı DefaultXdr.xml kaydedin.

  2. Aşağıdaki şablon kopyalama ve bir metin dosyasına yapıştırın.Dosyayı DefaultXdrT.xml DefaultXdr.xml kaydettiğiniz aynı dizine kaydedin.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
        <sql:xpath-query mapping-schema="DefaultXdr.xml">
            /Person.Person[@BusinessEntityID &lt; 3]
        </sql:xpath-query>
    </ROOT>
    

    Dizin yol (DefaultXdr.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\DefaultXdr.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 aşağıdadır:

<?xml version="1.0" encoding="UTF-8" ?>
<ROOT>
  <Person.Person BusinessEntityID="1" FirstName="Gustavo" LastName="Achong"/>
  <Person.Person BusinessEntityID="2" FirstName="Catherine" LastName="Abel">
</ROOT>

B.xml eşleme <öğesi> veritabanı sütun

Varsayılan olarak, bir xml öğesi için bir veritabanı eşler tablo, ve veritabanı sütununu bir öznitelik eşleştirir.Bir veritabanı için bir öğe eşlemek için sütun, content öznitelik değeri belirtilen textOnly.

Aynı bu xdr şeması oluşur <Person.Person> öğesi olarak önceki örnekte, ancak sql alanları (BusinessEntityID, FirstName, LastName) eşlenen alt öğeleri, öznitelikleri.

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">

<ElementType name="BusinessEntityID" content="textOnly" />
<ElementType name="FirstName" content="textOnly" />
<ElementType name="LastName"  content="textOnly" />

<ElementType name="Person.Person" >
    <element type="BusinessEntityID" />
    <element type="FirstName" />
    <element type="LastName"  />
</ElementType>
</Schema>

Varsayılan olarak <Person.Person> xdr şema öğesinde eşler için Person.Person tablo , AdventureWorks2008R2 veritabanı.The content attribute is specified on <FirstName> and <LastName> child elements.Bu nedenle, bu alt öğeler aynı adı sütun Person.Person tablo eşleştirir.

Not

Karışık içerik (hem metin hem de alt öğeleri olan öğeler) desteklenmiyor.

Örnek XPath sorgusu şema karşı sınamak için

  1. Yukarıdaki şema kodu kopyalayın ve bir metin dosyasına yapıştırın.Dosyayı ElementXdr.xml kaydedin.

  2. Aşağıdaki şablon kopyalama ve bir metin dosyasına yapıştırın.Dosyayı ElementXdrT.xml ElementXdr.xml kaydettiğiniz aynı dizine kaydedin.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
        <sql:xpath-query mapping-schema="ElementXdr.xml">
            /Person.Person[BusinessEntityID &lt; 3]
        </sql:xpath-query>
    </ROOT>
    

    Dizin yol (ElementXdr.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\ElementXdr.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 aşağıdadır:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Person.Person>
    <BusinessEntityID>1</BusinessEntityID> 
    <FirstName>Gustavo</FirstName> 
    <LastName>Achong</LastName> 
  </Person.Person>
  <Person.Person>
    <BusinessEntityID>2</BusinessEntityID> 
    <FirstName>Catherine</FirstName> 
    <LastName>Abel</LastName> 
  </Person.Person>
</ROOT>

Ayrıca bkz.

Başvuru