Aracılığıyla paylaş


Öznitelikler xdr şemasında (xdr şeması) için varsayılan değerleri belirleme

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

Veritabanı sütunlarını varsayılan değerler atanabilir.Benzer şekilde, xdr şeması'nda, varsayılan değerler olabilir küme öznitelikler (öğeleri olamaz atanmasını xdr şema varsayılan değerler).xdr şeması verir default öznitelik belirtimini <AttributeType>.

Bir öznitelik ile ilişkili sütun değeri null ise, bu öznitelik öğesi bu örnek için döndürülür.Ama Eğer default özniteliği üzerinde belirtilen <AttributeType>, öznitelik belirtilen varsayılan değer verilir.

Öznitelik değerleri biri yoksa, örneğin, veri veritabanından bir xml belgesine ayıklarken, xdr şeması bu özniteliğin varsayılan değeri kullanılır.

Not

Varsayılan değerleri döndürülür belgede görüntülenebilir, her öznitelik yok bu değeri doğrulama ayrıştırıcı tarafından yerine kullanılır.

Not

Kullanılan ayrıştırıcı şeması ile uyumlu ise, varsayılan değer kullanılır.Diğer bir deyişle, msxml ayrıştırıcısının için emin olmanız gerekir resolveExternals bayrağını true (varsayılan) olarak küme ve sonra ayrıştırıcı getirir şemaları.Ayrıştırıldıktan sonra tek tek örneklerini öznitelik xml belgesinde mi eklenmiştir ne olursa olsun (kendisi için varsayılan değer belirtilen) özelliklere sahip.dom varsayılan değer sağlar.

Ö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.xdr şemasında bir öznitelik için varsayılan değeri belirtin

Bu örnekte, başlık öznitelik "xyz" varsayılan değeri verilir.İlgili kişi kayıtları alındığında başlık olmayan kişiler için varsayılan bir değer atanır.

<?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="CID" />
    <AttributeType name="FirstName" />
    <AttributeType name="LastName" />
    <AttributeType name="Title" default="XYZ"/>

    <attribute type="CID" sql:field="BusinessEntityID" />
    <attribute type="FirstName" />
    <attribute type="LastName" />
    <attribute type="Title"  />
</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ı DefaultValueXdr.xml kaydedin.

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

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="DefaultValueXdr.xml">
        /Person.Person[@CID &gt; 1000 and @CID &lt; 1006]
      </sql:xpath-query>
    </ROOT>
    

    Dizin yol (DefaultValueXdr.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\DefaultValueXdr.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 CID="1001" FirstName="Terri" LastName="Duffy" /> 
  <Person.Person CID="1002" FirstName="Roberto" LastName="Tamburello" /> 
  <Person.Person CID="1003" FirstName="Michael" LastName="Sullivan" /> 
  <Person.Person CID="1004" FirstName="Sharon" LastName="Salavaria" /> 
  <Person.Person CID="1005" FirstName="Gail" LastName="Erickson" Title="Ms." /> 
</ROOT>

Ayrıca bkz.

Başvuru