Aracılığıyla paylaş


Varsayılan eşleme XSD öğeleri ve öznitelikleri için tabloları ve sütunları (SQLXML 4.0)

Varsayılan değer olarak, öğenin karmaşık türdeki bir XSD şeması eşlemeleri için aynı adla belirtilen veritabanındaki tablo (Görünüm) açıklamalı ve bir öğe veya öznitelik basit türü ile aynı adı tablosundaki sütun eşleştirir.

Ö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.

C.Varsayılan eşleme belirtme

Bu örnekte, hiçbir ek açıklamalar XSD şeması belirtildi.The <Person.Contact> element is of complex type and, therefore, maps by default to the Person.Contact tablo in the AdventureWorks database. Tüm özniteliklerini (ilgili kişi kimliği FirstName, LastName) <Person.Contact> öğe, basit türlerinin ve Person.Contact tablosundaki aynı adı taşıyan bir sütun için varsayılan eşleme.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
  <xsd:element name="Person.Contact" >
     <xsd:complexType>
       <xsd:attribute name="ContactID"  type="xsd:string" /> 
       <xsd:attribute name="FirstName"   type="xsd:string" /> 
       <xsd:attribute name="LastName"    type="xsd:string" /> 
     </xsd:complexType>
  </xsd:element>
</xsd:schema>

Şemaya örnek bir XPath sorgusu sınamak için

  1. Yukarıdaki şema kodunu kopyalayıp, bir metin dosyasına yapıştırın.Dosyayı MySchema.xml kaydedin.

  2. Şu şablonu kopyalayıp, bir metin dosyasına yapıştırın.Dosya MySchemaT.xml MySchema.xml kaydettiğiniz aynı dizine kaydedin.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
        <sql:xpath-query mapping-schema="MySchema.xml">
            /Person.Contact
        </sql:xpath-query>
    </ROOT>
    

    Eşleştirme şemasını (MySchema.xml) dizini belirtilen şablon kaydedildiği göreli dizinidir.Mutlak bir yol da, örneğin belirtilebilir:

    mapping-schema="C:\SqlXmlTest\MySchema.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ütmek kullanarak 4.0 sorgular..

Kısmi bir sonuç kümesi aşağıdadır:

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

b.Bir veritabanı için bir XML öğesi eşleme sütun

Hiçbir ek açıklamalar kullanıldığından bu örnekte varsayılan eşleme da gerçekleşir.The <Person.Contact> element is of complex type and maps to the tablo with the same name in the database. Öğeleri <Ad> ve <Soyadı> ve ÇalışanNo özniteliği basit türlerinin ve bu nedenle, aynı adı taşıyan sütunlarda eşleyin.Bu önceki örnekte arasındaki tek fark olan öğeler ad ve soyad alanları eşleştirmek için kullanılır.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
  <xsd:element name="Person.Contact">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="FirstName" type="xsd:string" /> 
        <xsd:element name="LastName" type="xsd:string" /> 
      </xsd:sequence>
      <xsd:attribute name="ContactID" type="xsd:integer" /> 
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

Şemaya örnek bir XPath sorgusu sınamak için

  1. Yukarıdaki şema kodunu kopyalayıp, bir metin dosyasına yapıştırın.Dosyayı MySchemaElements.xml kaydedin.

  2. Aşağıdaki şablonu (MySchemaElementsT.xml) oluşturmak ve bir önceki adımda kullanılan aynı dizine kaydedin.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
        <sql:xpath-query mapping-schema="MySchemaElements.xml">
            /Person.Contact
        </sql:xpath-query>
    </ROOT>
    

    Eşleştirme şemasını dizini belirtilen şablon kaydedildiği göreli dizinidir.Mutlak bir yol da, örneğin belirtilebilir:

    mapping-schema="C:\SqlXmlTest\MySchemaElements.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ütmek kullanarak 4.0 sorgular..

Kısmi bir sonuç kümesi aşağıdadır:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Person.Contact ContactID="1">
    <FirstName>Gustavo</FirstName>
    <LastName>Achong</LastName>
  </Person.Contact>
   ...
</ROOT>

c.Bir XML öğesi için bir XML veri türü eşleştirme sütun

Hiçbir ek açıklamalar kullanıldığından bu örnekte varsayılan eşleme da gerçekleşir.The <Production.ProductModel> element is of complex type and maps to the tablo with the same name in the database. The ProductModelID öznitelik is of simple type and, therefore, map to the columns with the same names.Bu önceki örnekler arasındaki tek fark olan <Yönergeleri> öğe kullanan bir sütuna eşleştiği xml kullanarak, veri türü xsd:anyType TYPE.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
  <xsd:element name="Production.ProductModel">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Instructions" type="xsd:anyType" /> 
      </xsd:sequence>
      <xsd:attribute name="ProductModelID" type="xsd:integer" /> 
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

The xml data type was introduced in SQL Server 2005.

Şemaya örnek bir XPath sorgusu sınamak için

  1. Yukarıdaki şema kodunu kopyalayıp, bir metin dosyasına yapıştırın.Dosyayı MySchemaXmlAnyElements.xml kaydedin.

  2. Aşağıdaki şablonu (MySchemaXmlAnyElementsT.xml) oluşturmak ve bir önceki adımda kullanılan aynı dizine kaydedin.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
        <sql:xpath-query mapping-schema="MySchemaXmlAnyElements.xml">
            /Production.ProductModel[@ProductModelID=7]
        </sql:xpath-query>
    </ROOT>
    

    Eşleştirme şemasını dizini belirtilen şablon kaydedildiği göreli dizinidir.Mutlak bir yol da, örneğin belirtilebilir:

    mapping-schema="C:\SqlXmlTest\MySchemaXmlAnyElements.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ütmek kullanarak 4.0 sorgular..

Kısmi bir sonuç kümesi aşağıdadır:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Production.ProductModel ProductModelID="7">
    <Instructions>
      <root xmlns="http:
//schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstru
ctions">
...
      </root>
    <Instructions>
  </Production.ProductModel>
</ROOT>