Einschränkung für eindeutige Partikelzuordnung
Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance
In XSD werden komplexe Inhaltsmodelle durch die UPA-Einschränkungsregel (Unique Particle Attribution, eindeutige Partikelzuordnung) eingeschränkt. Diese Regel erfordert, dass jedes Element in einem Instanzdokument eindeutig genau einem <xsd:element>
<xsd:any>
Oder Partikel im Übergeordneten Inhaltsmodell entspricht. Jedes Schema, das einen Typ mit einem potenziell mehrdeutigen Inhaltsmodell enthält, wird zurückgewiesen.
Die häufigsten Ursachen für Mehrdeutigkeit sind <xsd:any>
Wildcardzeichen und Partikel mit variablen Vorkommensbereichen, z. B. minOccurs maxOccurs < . Das folgende Inhaltsmodell ist beispielsweise mehrdeutig, da ein <e1>
Element entweder mit dem <xsd:element>
Element oder dem <xsd:any>
Element übereinstimmen kann.
<xsd:element name="root">
<xsd:complexType>
<xsd:choice>
<xsd:element name="e1"/>
<xsd:any namespace="##any"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
Das folgende Inhaltsmodell ist ebenfalls mehrdeutig:
<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>
Obwohl ein Dokument, z <root><e1/><e2/><e1/></root>
. B. eindeutig überprüft werden kann, kann ein Dokument wie <root><e1/><e1/></root>
dies nicht möglich sein, da es nicht klar ist, auf welche <xsd:element>
zweite sich die zweite <e1/>
bezieht. Auch wenn einige Dokumente eindeutig überprüft werden können, wird das Schema aufgrund potenzieller Mehrdeutigkeit zurückgewiesen.
Damit ein Inhaltsmodell gültig ist, muss es möglich sein, jede Instanz eindeutig zu überprüfen, ohne vorauszusehen. Betrachten Sie z. B. das folgende Inhaltsmodell:
<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>
Für ein Dokument wie z. B. <root><e1/><e3/></root>
entspricht die Sequenz <e1/><e3/>
eindeutig der zweiten Sequenz <xsd:sequence>
. Da dies <xsd:element>
<e1/>
jedoch nicht bestimmt werden kann, ohne vorausschauen zu <e3/>
müssen, verstößt das Inhaltsmodell gegen die UPA-Einschränkungsregel.
Nächste Schritte
Das folgende Dokument wird vom W3C (World Wide Web Consortium) veröffentlicht; es enthält die technische Beschreibung der UPA-Einschränkung:
"XML Schema Part 1: Structures Second Edition, W3C Proposed Edited Recommendation":
Section 3.8.6: Constraints on Model Group Schema Components
Appendix H: Analysis of the Unique Particle Attribution Constraint (non-normative)
Besuchen Sie http://www.w3.org/TR/xmlschema-1, um das Dokument anzuzeigen.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für