Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
V XSD jsou komplexní modely obsahu omezené pravidlem jedinečného přisuzování částic (UPA). Toto pravidlo vyžaduje, aby každý prvek v dokumentu instance jednoznačně odpovídal přesně jednomu <xsd:element> nebo <xsd:any> částicem v modelu obsahu nadřazeného objektu. Jakékoli schéma, které obsahuje typ s potenciálně nejednoznačným modelem obsahu, je odmítnuto.
Nejběžnější příčiny nejednoznačnosti jsou <xsd:any> zástupné znaky a částice s proměnnými rozsahy výskytů, jako je minOccurs < maxOccurs. Například následující model obsahu je nejednoznačný, protože <e1> prvek může odpovídat prvku <xsd:element> nebo elementu <xsd:any> .
<xsd:element name="root">
<xsd:complexType>
<xsd:choice>
<xsd:element name="e1"/>
<xsd:any namespace="##any"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
Následující model obsahu je také nejednoznačný:
<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>
Ačkoli dokument, jako je <root><e1/><e2/><e1/></root>, lze jednoznačně ověřit, dokument, jako je <root><e1/><e1/></root>, nelze, protože není jasné, na který <xsd:element> se druhý <e1/> odkazuje. I když se některé dokumenty dají jednoznačně ověřit, schéma bude odmítnuto z důvodu možné nejednoznačnosti.
Aby byl model obsahu platný, musí být možné ověřit libovolnou instanci jednoznačně bez dalšího pohledu. Představte si například následující model obsahu:
<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>
Pro dokument, jako je <root><e1/><e3/></root>, sekvence <e1/><e3/> jednoznačně odpovídá druhému <xsd:sequence>. Vzhledem k tomu, že <xsd:element> odpovídá <e1/>, a to nelze určit bez nahlédnutí do <e3/>, model obsahu porušuje pravidlo UPA.
Další kroky
Následující dokument je publikován konsorciem W3C (World Wide Web Consortium) a obsahuje technický popis omezení přisuzování jedinečných částic:
"XML Schéma Část 1: Struktury, Druhé vydání, W3C Upravené doporučené doporučení"
Oddíl 3.8.6: Omezení součástí schématu skupiny modelů
Příloha H: Analýza omezení přisuzování jedinečných částic (bez normativního)
Pokud chcete dokument zobrazit, navštivte http://www.w3.org/TR/xmlschema-1stránku .