Convalida del linguaggio XML con schemi

Per definire la struttura di un documento XML, oltre che le relazioni dei suoi elementi, i tipi di dati e i vincoli di contenuto, si utilizza un DTD (document type definition) o uno schema. Sebbene un documento XML venga considerato corretto se risponde a tutti i requisiti sintattici definiti dalla raccomandazione Extensible Markup Language (XML) 1.0 del World Wide Web Consortium (W3C), non viene ritenuto valido a meno che non sia corretto e al tempo stesso conforme ai vincoli definiti dal relativo DTD o schema. Pertanto, anche se tutti i documenti XML validi sono corretti, non tutti i documenti XML corretti sono validi.

Per ulteriori informazioni sul linguaggio XML, vedere la raccomandazione Extensible Markup Language (XML) 1.0 (Second Edition) del World Wide Web Consortium (W3C) all'indirizzo http://www.w3.org/TR/2000/REC-xml-20001006 (informazioni in lingua inglese). Per ulteriori informazioni sullo schema XML, vedere le raccomandazioni XML Schema Part 1: Structures e XML Schema Part 2: Datatypes del 3WC all'indirizzo http://www.w3.org/TR/ (informazioni in lingua inglese).

La convalida dei documenti e dei frammenti XML viene applicata utilizzando la classe XmlValidatingReader, che fornisce servizi di convalida degli schemi DTD, XDR (XML-Data Reduced) e del linguaggio XSD (XML Schema Definition) implementando i vincoli di validità definiti dalle raccomandazioni del W3C.

La classe XmlValidatingReader implementa la classe XmlReader, eseguendo la convalida in una modalità forward-only su un flusso di XML. XmlValidatingReader può accettare una XmlTextReader come input. I livelli di XmlValidatingReader si basano su XmlTextReader e forniscono anche la capacità di analizzare i frammenti XML con la classe XmlParserContext. Per ulteriori informazioni sull'analisi dei frammenti XML, vedere Lettura di frammenti XML con la classe XmlValidatingReader.

Qualsiasi proprietà impostata sulla classe XmlTextReader fornita si applica anche alla XmlValidatingReader che la contiene.

Nell'esempio di codice che segue viene illustrato in che modo XmlValidatingReader si basa su XmlTextReader.

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 questa sezione

Sezioni correlate

  • Riferimento agli schemi XML (XSD)!ALink("xsdrefxmlschemareference")
    Viene illustrato il linguaggio XSD (XML Schema Definition), così come viene definito dal World Wide Web Consortium (W3C).