Share via


Benzersiz Particle Attribution kısıtlaması

xsd içinde karmaşık içerik modelleri benzersiz partikül attribution (upa) kısıtlama kuralı tarafından sınırlıdır. Bu kuralı, örnek belge her öğe belirsizliğe yer bırakmadan tam bir karşılık gerektirir <xsd:element>ya <xsd:any>parçacık, üst öğenin içerik modeli. Potansiyel olarak belirsiz bir içerik modeli türü içeren herhangi bir şema reddedilir.

Belirsizlik en yaygın nedenleri <xsd:any>joker karakterler ve değişken oluşumu aralıkları minOccurs gibi olan parçacıklar <maxOccurs. Örneğin, aşağıdaki içerik modeline belirsiz, çünkü bir <e1> öğesi ya da maç <xsd:element>ya da <xsd:any> öğesi.

<xsd:element name="root">
    <xsd:complexType>
        <xsd:choice>
            <xsd:element name="e1"/>
            <xsd:any namespace="##any"/>
        </xsd:choice>
    </xsd:complexType>
</xsd:element>

Aşağıdaki içerik modeline de belirsiz:

<xsd:element name="root">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="e1" maxOccurs="2"/>
            <xsd:element name="e2" minOccurs="0"/>
            <xsd:element name="e1"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

Gibi bir belge olmasına rağmen <root><e1/><e2/><e1/></root>olabilir belirsizliğe yer bırakmadan, onaylanmış bir belge gibi <root><e1/><e1/></root>olamaz, çünkü onun için açık değildir <xsd:element>ikinci <e1/>karşılık gelir. Bazı belgeleri belirsizliğe yer bırakmadan doğrulanabilir olsa da, şema, belirsizlik potansiyeli nedeniyle reddedilir.

Not geçerli bir içerik modeli için herhangi bir örneği açıkça önde bakmadan doğrulamak mümkün olmalıdır. Örneğin, aşağıdaki içerik modeline göz önünde bulundurun:

<xsd:element name="root">
    <xsd:complexType>
        <xsd:choice>
           <xsd:sequence>
               <xsd:element name="e1"/>
               <xsd:element name="e2"/>
           </xsd:sequence>
           <xsd:sequence>
               <xsd:element name="e1"/>
               <xsd:element name="e3"/>
           </xsd:sequence>
       </xsd:choice>
    </xsd:complexType>
</xsd:element>

Bir belge gibi <root><e1/><e3/></root>, sıra <e1/><e3/>belirsizliğe yer bırakmadan ikinci maçlar <xsd:sequence>. Ancak, çünkü <xsd:element>için <e1/>karşılık gelen önde için bakmadan belirlenemez <e3/>, içerik modeli upa kısıtlama kuralı ihlal eden.

Daha Fazla Bilgi

Aşağıdaki belge World Wide Web Consortium (W3C) tarafından yayımlanan ve benzersiz partikül attribution kısıtlaması teknik açıklamasını içerir:

"xml şeması Bölüm 1: yapıları ikinci baskı, önerilen W3C önerisi düzenlenen":

  • Bölüm 3.8.6: Model grubu şema bileşenleri kısıtlamaları

  • Ek h: analiz benzersiz Particle Attribution kısıtlaması (normatif olmayan)

Belgeyi görmek için ziyaret http://www.w3.org/TR/xmlschema-1.

Ayrıca bkz.

Başvuru

xml şema koleksiyonları (SQL Server)