Aracılığıyla paylaş


Şema öğeleri sonuç XML belgesi kullanan sql hariç: (SQLXML 4.0) eşleştirilmiş.

Her bir öğe ve öznitelik XSD Şemasındaki bir veritabanında tablo/görünüm ve sütun için varsayılan eşleme nedeniyle eşleştirir.Herhangi bir veritabanı eşleyen XSD Şemasındaki Öğe oluşturmak istiyorsanız, tablo (Görünüm) veya sütun ve XML içinde görünmüyor, sql:mapped Ek açıklama.

The sql:mapped annotation is especially useful if the schema cannot be modified or if the schema is used to validate XML from other sources and yet contains data that is not stored in your database.The sql:mapped annotation differs from sql:is-constant in that the unmapped elements and attributes do not appear in the XML document.

The sql:mapped annotation takes a Boole value (0 = false, 1 = true). Kabul edilebilir değerler 0, 1, doğru ve yanlış.

Ö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.Sql belirtme: annotation eşleştirilmiş

Diğer bir kaynaktan bir XSD şeması sahip olduğunuz varsayılmıştır.Bu bir XSD şeması için oluşan bir <Person.Contact> öğe ile Ilgili kişi kimliği, Ad, Soyadı, and EvAdresi öznitelikleri.

Person.Contact tablosuna AdventureWorks veritabanındaki bu XSD şeması eşleme sql:mapped üzerinde belirtilen EvAdresi özniteliği olduğundan, Çalışanlar tablosunu çalışanlarının Giriş adreslerini depolamaz.Sonuç olarak, bu öznitelik, veritabanına eşleştirilir ve sonuç XML belgesinde bir XPath sorgusu karşı eşleme şemada belirtildiğinde döndürülmez.

Varsayılan eşleme için kalan şemasının yerini alır.The <Person.Contact> element maps to the Person.Contact tablo, and all the attributes map to the columns with the same name in the Person.Contact tablo.

<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:attribute name="HomeAddress" type="xsd:string" 
                     sql:mapped="false" />
    </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ı sql mapped.xml kaydedin.

  2. Şu şablonu kopyalayıp, bir metin dosyasına yapıştırın.Sql mappedT.xml aynı dizinde sql mapped.xml kaydettiğiniz dosyayı kaydedin.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
        <sql:xpath-query mapping-schema="sql-mapped.xml">
            /Person.Contact[@ContactID &lt; 10]
        </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:\MyDir\sql-mapped.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 sorgu yürütmek işlemi için kullanma.

autoshrink

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Person.Contact ContactID="1" FirstName="Gustavo" LastName="Achong" /> 
  <Person.Contact ContactID="2" FirstName="Catherine" LastName="Abel" /> 
  <Person.Contact ContactID="3" FirstName="Kim" LastName="Abercrombie" /> 
  <Person.Contact ContactID="4" FirstName="Humberto" LastName="Acevedo" /> 
  <Person.Contact ContactID="5" FirstName="Pilar" LastName="Ackerman" /> 
  <Person.Contact ContactID="6" FirstName="Frances" LastName="Adams" /> 
  <Person.Contact ContactID="7" FirstName="Margaret" LastName="Smith" /> 
  <Person.Contact ContactID="8" FirstName="Carla" LastName="Adams" /> 
  <Person.Contact ContactID="9" FirstName="Jay" LastName="Adams" /> 
</ROOT>

Ilgili kişi kimliği, ad ve soyad var, ancak 0 eşleme şemada belirtilen EvAdresi çünkü Not sql:mapped Öznitelik.