Aracılığıyla paylaş


Benzersiz partikül Attribution kısıtlamayı anlama

Karmaşık içerik modelleri xsd içinde benzersiz kısıtlı parçacık (upa) attribution kısıtlaması kural.Bu kural her örnek belge öğesinde belirsizliğe yer bırakmadan tek bir karşılık olduğunu gerektirir <xsd:element> veya <xsd:any> Parçacık Web'i üst içerik modeli.Muğlak bir içerik modeli türü içeren şema reddedilir.

Belirsizlik en yaygın nedenleri olan <xsd:any> joker karakterler ve değişken oluşumu aralıkları minOccurs gibi parçacık < maxOccurs.Örneğin, aşağıdaki içerik modeli, belirsiz çünkü bir <e1> öğesi ya da eşleşme <xsd:element> veya <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>

Bir belge gibi olsa da <root><e1/><e2/><e1/></root> olabilir belirsizliğe yer bırakmadan, bir belge gibi doğrulanmış <root><e1/><e1/></root> olamaz, çünkü onu temizlemek için <xsd:element> ikinci <e1/> karşılık gelir.Bazı belgeleri belirsizliğe yer bırakmadan doğrulanması olsa bile, şema, olası belirsizlik nedeniyle reddedilir.

Geçerli içerik modeli için onu herhangi örnek olmadan Ýleriye bakýþ belirsizliğe yer bırakmadan doğrulamak mümkün olması gerektiğini unutmayın.Ö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>

Gibi bir belge için <root><e1/><e3/></root>, sıra <e1/><e3/> belirsizliğe yer bırakmadan, ikinci eşleşen <xsd:sequence>.Ancak, çünkü <xsd:element> olan <e1/> karşılık gelen için Ýleriye bakýþ olmadan belirlenemez <e3/>, içerik modeli ihlal upa kısıtlama kuralı.

Daha fazla bilgi bulma

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

"xml şeması bölüm 1: İkinci Baskı yapıları önerilen W3C önerisi düzenlenen ":

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

  • Ekte h: Analiz benzersiz partikül Attribution kısıtlaması (ihlallerini olmayan)

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