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.
Vor SQL Server 2005 Service Pack 1 (SP1) lehnte SQL Server XML-Schemas ab, die nicht deterministische Inhaltsmodelle hatten.
Ab SQL Server 2005 SP1 werden jedoch nicht deterministische Inhaltsmodelle akzeptiert, wenn die Vorkommenseinschränkungen 0,1 oder ungebunden sind.
Beispiel: Nicht deterministisches Inhaltsmodell abgelehnt
Im folgenden Beispiel wird versucht, ein XML-Schema mit einem nicht deterministischen Inhaltsmodell zu erstellen. Der Code schlägt fehl, da nicht klar ist, ob das <root> Element eine Sequenz von zwei <a> Elementen aufweisen soll oder ob das <root> Element zwei Sequenzen aufweisen soll, jeweils mit einem <a> Element.
CREATE XML SCHEMA COLLECTION MyCollection AS '
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="root">
<complexType>
<sequence minOccurs="1" maxOccurs="2">
<element name="a" type="string" minOccurs="1" maxOccurs="2"/>
</sequence>
</complexType>
</element>
</schema>
'
GO
Das Schema kann durch Verschieben der Auftrittsbedingung an eine bestimmte Position behoben werden. "Die Beschränkung kann zum Beispiel auf den enthaltenen Sequenzpartikel verschoben werden:"
<sequence minOccurs="1" maxOccurs="4">
<element name="a" type="string" minOccurs="1" maxOccurs="1"/>
</sequence>
Oder die Einschränkung kann in das enthaltene Element verschoben werden:
<sequence minOccurs="1" maxOccurs="1">
<element name="a" type="string" minOccurs="1" maxOccurs="4"/>
</sequence>
Beispiel: Nicht deterministisches Inhaltsmodell akzeptiert
Das folgende Schema würde in Versionen von SQL Server vor SQL Server 2005 SP1 abgelehnt.
CREATE XML SCHEMA COLLECTION MyCollection AS '
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="root">
<complexType>
<sequence minOccurs="0" maxOccurs="unbounded">
<element name="a" type="string" minOccurs="0" maxOccurs="1"/>
<element name="b" type="string" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</schema>
'
GO
Siehe auch
Anforderungen und Einschränkungen für XML-Schemasammlungen auf dem Server