Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In XSD werden komplexe Inhaltsmodelle durch die Einschränkungsregel der eindeutigen Partikelzuordnung (UPA) eingeschränkt. Diese Regel erfordert, dass jedes Element in einem Instanzdokument eindeutig genau einem <xsd:element>- oder <xsd:any>-Komponente im übergeordneten Inhaltsmodell entspricht. Jedes Schema, das einen Typ mit einem potenziell mehrdeutigen Inhaltsmodell enthält, wird abgelehnt.
Die häufigsten Ursachen für Mehrdeutigkeit sind <xsd:any> Wildcardzeichen und Partikel mit variabler Auftretenshäufigkeit, 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 auch 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 wie <root><e1/><e2/><e1/></root> unzweideutig überprüft werden kann, kann ein Dokument wie <root><e1/><e1/></root> dies nicht, weil es nicht klar ist, welchem <xsd:element> der zweite <e1/> entspricht. Obwohl einige Dokumente eindeutig überprüft werden können, wird das Schema aufgrund des Potenzials für Mehrdeutigkeit abgelehnt.
Beachten Sie, dass es für ein gültiges Inhaltsmodell möglich sein muss, jede Instanz eindeutig zu überprüfen, ohne vorausschauen zu müssen. Betrachten Sie beispielsweise 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>
Bei einem Dokument wie <root><e1/><e3/></root>z. B. entspricht die Sequenz <e1/><e3/> eindeutig der zweiten <xsd:sequence>. Da das <xsd:element> zu dem <e1/> jedoch nicht bestimmt werden kann, ohne zu <e3/> vorausschauen zu müssen, verstößt das Inhaltsmodell gegen die UPA-Einschränkungsregel.
Suchen nach weiteren Informationen
Das folgende Dokument wird vom World Wide Web Consortium (W3C) veröffentlicht und enthält die technische Beschreibung der eindeutigen Einschränkung der Partikelzuordnung:
XML-Schema Teil 1: Strukturen Zweite Ausgabe, Vom W3C vorgeschlagene überarbeitete Empfehlung
Abschnitt 3.8.6: Einschränkungen für Komponenten des Modellgruppenschemas
Anhang H: Analyse der Einzelteilchenzuweisungsbeschränkung (nicht normativ)
Um das Dokument anzuzeigen, besuchen Sie http://www.w3.org/TR/xmlschema-1.