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
- Convalida di un documento XML nella fase di caricamento
Viene descritto come caricare un documento XML con una XmlValidatingReader. - Convalida del linguaggio XML con XmlValidatingReader
Vengono fornite informazioni su come implementare la classe XmlValidatingReader per la convalida sugli schemi DTD (document type definition) e XDR (XML-Data Reduced) e sul linguaggio XSD (XML Schema Definition), nonché sui frammenti XML. Viene descritto inoltre l'evento ValidationEventHandler. - XmlSchemaCollection come cache degli schemi
Viene spiegato come caricare schemi in un insieme inserito nella cache per un utilizzo nella convalida. - Risoluzione di entità con XmlValidatingReader
Vengono descritte le proprietà e i metodi utilizzati per gestire le entità. - Accesso alle informazioni sul tipo di schemi
Vengono fornite informazioni sull'accesso alle informazioni sul tipo di schema durante la convalida.
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).