Share via


Gültigkeitsprüfung von XML mit Schemas

Mit Hilfe einer DTD (Dokumenttypdefinition) oder eines Schemas werden sowohl die Struktur eines XML-Dokuments als auch seine Elementbeziehungen, Datentypen und Inhaltsbeschränkungen definiert. Ein XML-Dokument gilt als wohlgeformt, wenn es allen Syntaxanforderungen entspricht, die in der Empfehlung "Extensible Markup Language (XML) 1.0 Recommendation" (nur auf Englisch verfügbar) des W3C (World Wide Web Consortium) definiert sind. Es wird jedoch erst dann als gültig angesehen, wenn es darüber hinaus auch den Beschränkungen entspricht, die durch seine DTD oder sein Schema definiert wurden. Daher sind alle gültigen XML-Dokumente wohlgeformt, aber nicht alle wohlgeformten XML-Dokumente sind gültig.

Weitere Informationen über XML finden Sie unter http://www.w3.org/TR/2000/REC-xml-20001006 in der Empfehlung "Extensible Markup Language (XML) 1.0 (Second Edition) Recommendation" des W3C. Weitere Informationen über XML-Schemas finden Sie unter http://www.w3.org/TR in "XML Schema Part 2: Datatypes Recommendation" (beide nur auf Englisch verfügbar).

Die Überprüfung von XML-Dokumenten und XML-Fragmenten wird durch Verwendung der XmlValidatingReader-Klasse erzwungen. Diese stellt Schemaüberprüfungsdienste für DTD, XDR (XML-Data Reduced) und XSD (XML Schema definition language) zur Verfügung, indem die in den Empfehlungen des W3C definierten Gültigkeitsbeschränkungen implementiert werden.

Die XmlValidatingReader-Klasse implementiert die XmlReader-Klasse und führt eine ausschließlich vorwärts ausgerichtete Überprüfung über einen XML-Stream durch. XmlValidatingReader kann XmlTextReader als Eingabe verwenden. Die XmlValidatingReader-Ebenen werden über XmlTextReader unterstützt, die Analyse von XML-Fragmenten durch die XmlParserContext-Klasse. Weitere Informationen zur Verarbeitung von XML-Fragmenten finden Sie unter Lesen von XML-Fragmenten mit XmlValidatingReader.

Jede für XmlTextReader eingestellte Eigenschaft gilt auch für XmlValidatingReader.

Im folgenden Codebeispiel wird die Unterstützung der XmlValidatingReader-Ebenen über XmlTextReader dargestellt.

Dim tr as XmlTextReader = new XmlTextReader("Sample1.xml")
Dim vr as XmlValidatingReader = new XmlValidatingReader(tr)
[C#]
XmlTextReader tr = new XmlTextReader("Sample1.xml");
XmlValidatingReader vr = new XmlValidatingReader(tr);

In diesem Abschnitt

Verwandte Abschnitte

  • XML-Schemareferenz (XSD)
    Dokumentiert die Sprache XSD (XML Schema Definition) entsprechend den Festlegungen des W3C (World Wide Web Consortium).