Tipi di convalida della proprietà XmlValidatingReader

La proprietà ValidationType determina il tipo di convalida effettuato da XmlValidatingReader. È necessario impostare questa proprietà prima di chiamare il metodo Read. Se sono richieste definizioni DTD (document type definition) esterne o schemi per la convalida, verrà utilizzata la proprietà XmlResolver.

Nelle tabelle che seguono sono riportati i valori relativi alla proprietà ValidationType.

ValidationType.Auto

Si tratta del valore predefinito per la proprietà ValidationType. Nella tabella che segue sono indicate le regole per la convalida quando la proprietà ValidationType viene impostata su Auto.

DTD o schema ValidationType.Auto
Nessun DTD o schema Analizza il linguaggio XML senza convalida. Non viene generata alcuna eccezione. Non viene fornita alcuna informazione sul tipo.
DTD Esegue la convalida DTD. Vengono espansi gli attributi e le entità predefiniti. Le entità generali sono caricate e analizzate solo in caso di utilizzo (espanse). Non viene fornita alcuna informazione sul tipo.
Schema XML (riferimento o inline) Esegue una convalida del linguaggio XSD (XML Schema Definition). Convalida con lo schema. Vengono espansi gli attributi predefiniti. Vengono fornite informazioni sul tipo.
Schema XDR (riferimento o inline) Esegue una convalida dello schema XDR (XML-Data Reduced). Convalida con lo schema. Vengono espansi gli attributi predefiniti. Vengono fornite informazioni sul tipo.
Schema DTD e XML o XDR (riferimento o inline) Esegue la convalida DTD/XML Schema/XDR in base alla prima occorrenza del tipo di convalida. La convalida DTD ha sempre la precedenza su altri tipi di convalida.

ValidationType.DTD

Se viene impostato il valore ValidationType.DTD, la proprietà XmlValidatingReader convaliderà il documento in base al DTD. Nella tabella che segue sono indicate le regole per la convalida quando la proprietà ValidationType viene impostata su DTD.

DTD o schema ValidationType.DTD
Nessun DTD o schema Restituisce un avviso No DTD found nell'elemento principale. Non viene generata alcuna eccezione. Non viene fornita alcuna informazione sul tipo.
DTD Esegue la convalida DTD. Vengono espansi gli attributi e le entità predefiniti. Le entità generali sono caricate e analizzate solo in caso di utilizzo (espanse). Non viene fornita alcuna informazione sul tipo.
Schema XML (riferimento o inline) Restituisce un avviso No DTD found nell'elemento principale. Viene generata una XmlException per tipi di convalida misti quando viene trovato lo schema.
Schema XDR (riferimento o inline) Restituisce un avviso No DTD found nell'elemento principale. Viene generata una XmlException per tipi di convalida misti quando viene trovato lo schema.
Schema DTD e XML o XDR (riferimento o inline) Esegue la convalida DTD. Vengono espansi gli attributi e le entità predefiniti.

ValidationType.Schema

Se viene impostato il valore ValidationType.Schema, la proprietà XmlValidatingReader convaliderà il documento in base agli schemi XML, inclusi quelli inline. Nella tabella che segue sono indicate le regole per la convalida quando la proprietà ValidationType viene impostata su Schema.

DTD o schema ValidationType.Schema
Nessun DTD o schema Restituisce un avviso No schema found per ogni elemento.
DTD Viene generata una XmlException per i tipi di convalida misti.
Schema XML (riferimento o inline) Esegue la convalida dello schema XML. Convalida con uno schema. Vengono espansi gli attributi predefiniti dallo schema. Vengono fornite informazioni sul tipo.
Schema XDR (riferimento o inline) Viene generata una XmlException per i tipi di convalida misti.
Schema DTD e XML o XDR (riferimento o inline) Esegue la convalida dello schema XML. Vengono espansi gli attributi predefiniti dallo schema. Vengono fornite informazioni sul tipo. Se viene trovato uno schema DTD o XDR, viene generata una XmlException per i tipi di convalida misti.

ValidationType.XDR

Se viene impostato il valore ValidationType.XDR, la proprietà XmlValidatingReader convaliderà il documento in base agli schemi XDR, inclusi quelli inline. Nella tabella che segue sono indicate le regole per la convalida quando la proprietà ValidationType viene impostata su XDR.

DTD o schema ValidationType.XDR
Nessun DTD o schema Restituisce un avviso finale che indica che non si è verificata alcuna convalida.
DTD Viene generata una XmlException per i tipi di convalida misti.
Schema XML (riferimento o inline) Viene generata una XmlException per i tipi di convalida misti.
Schema XDR (riferimento o inline) Esegue la convalida XDR. Convalida con uno schema. Vengono espansi gli attributi predefiniti dallo schema. Vengono fornite informazioni sul tipo.
Schema DTD e XML o XDR (riferimento o inline) Esegue la convalida XDR. Vengono espansi gli attributi predefiniti dallo schema. Vengono fornite informazioni sul tipo. Se viene trovato uno schema DTD o XML, viene generata una XmlException per i tipi di convalida misti.

ValidationType.None

Il valore ValidationType.None crea un parser che non esegue la convalida compatibile con la raccomandazione Extensible Markup Language (XML) 1.0 del World Wide Web Consortium (W3C). Gli attributi predefiniti vengono segnalati ed è possibile risolvere le entità generali. Non vengono generati errori di convalida. Nella tabella che segue sono indicate le regole per la convalida quando la proprietà ValidationType viene impostata su None.

DTD o schema ValidationType.None
Nessun DTD o schema Analizza il linguaggio XML senza convalida. Non viene generata alcuna eccezione. Non viene fornita alcuna informazione sul tipo.
DTD Viene creato un parser senza convalida compatibile con XML 1.0. Non viene eseguita alcuna convalida DTD. Vengono espansi gli attributi e le entità predefiniti dal DTD. Non viene fornita alcuna informazione sul tipo.
Schema XML (riferimento o inline) Analizza il linguaggio XML senza convalida. Non viene generata alcuna eccezione. Non vengono espansi gli attributi predefiniti dallo schema. Non viene fornita alcuna informazione sul tipo.
Schema XDR (riferimento o inline) Analizza il linguaggio XML senza convalida. Non viene generata alcuna eccezione. Non vengono espansi gli attributi predefiniti dallo schema. Non viene fornita alcuna informazione sul tipo.
Schema DTD e XML o XDR (riferimento o inline) Viene creato un parser senza convalida compatibile con XML 1.0. Non viene eseguita alcuna convalida DTD. Vengono espansi gli attributi e le entità predefiniti dal DTD. Non viene fornita alcuna informazione sul tipo.

La proprietà XmlValidatingReader genera un'eccezione InvalidOperation se la proprietà ValidationType viene impostata dopo il primo metodo Read.

Vedere anche

Convalida del linguaggio XML con XmlValidatingReader | Convalida del linguaggio XML con schemi | Classe XmlResolver