Condividi tramite


XmlSchemaValidationFlags Enumerazione

Definizione

Specifica le opzioni di convalida dello schema utilizzate dalle classi XmlSchemaValidator e XmlReader.

Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.

public enum class XmlSchemaValidationFlags
[System.Flags]
public enum XmlSchemaValidationFlags
[<System.Flags>]
type XmlSchemaValidationFlags = 
Public Enum XmlSchemaValidationFlags
Ereditarietà
XmlSchemaValidationFlags
Attributi

Campi

AllowXmlAttributes 16

Consente gli attributi xml:* anche se non sono definiti nello schema. Gli attributi vengono convalidati sulla base del relativo tipo di dati.

None 0

Non elabora vincoli di identità, schemi inline, hint di posizione degli schemi né segnala avvisi relativi alla convalida degli schemi.

ProcessIdentityConstraints 8

Elabora i vincoli di identità (xs:ID, xs:IDREF, xs:key, xs:keyref, xs:unique) rilevati durante la convalida.

ProcessInlineSchema 1

Elabora gli schemi inline incontrati durante la convalida.

ProcessSchemaLocation 2

Elabora gli hint di percorso dello schema (xsi:schemaLocation, xsi:noNamespaceSchemaLocation) rilevati durante la convalida.

ReportValidationWarnings 4

Segnala gli avvisi relativi alla convalida degli schemi incontrati durante la convalida.

Esempio

Per un esempio che usa l'enumerazione XmlSchemaValidationFlags , vedere la XmlSchemaValidator classe .

Commenti

Se usato con , XmlSchemaValidationFlags i XmlReadervalori definiscono le opzioni di convalida usate da uno schema di convalida XmlReader per eseguire la convalida XML in base a uno schema. XmlSchemaValidationFlags i valori per una convalida XmlReader vengono specificati utilizzando la XmlReaderSettings.ValidationFlags proprietà .

Quando si usa il AllowXmlAttributes valore :

  1. Quando uno schema non importa lo spazio dei nomi Xml.

    1. Se AllowXmlAttributes è impostato su true (impostazione predefinita) e il documento dell'istanza contiene attributi Xml, il motore di convalida caricherà uno snapshot dello schema dello spazio dei nomi XML predefinito e lo userà per la convalida. Se gli attributi XML utilizzati nel documento dell'istanza non vengono trovati nello schema predefinito, il documento non verrà convalidato.

    2. Se AllowXmlAttributes è impostato su false e il documento dell'istanza contiene attributi Xml, il motore di convalida segnala un errore.

  2. Quando uno schema importa lo spazio dei nomi Xml senza una posizione.

    1. Se AllowXmlAttributes è impostato su true (impostazione predefinita) e il documento dell'istanza contiene attributi Xml, il motore di convalida userà lo schema dello spazio dei nomi XML predefinito per la convalida. Se gli attributi XML utilizzati nel documento dell'istanza non vengono trovati nello schema predefinito, il documento non verrà convalidato.

    2. Se AllowXmlAttributes è impostato su false e il documento dell'istanza contiene attributi Xml non consentiti in modo esplicito dallo schema, il motore di convalida segnala un errore.

    3. Se AllowXmlAttributes è impostato su false e il documento dell'istanza contiene attributi Xml consentiti in modo esplicito dallo schema, il motore di convalida convaliderà gli attributi allo stesso modo in cui convalida altri attributi usando lo schema dello spazio dei nomi Xml predefinito.

  3. Quando uno schema importa uno schema xml personalizzato con schema personalizzatoLocation.

    1. Se AllowXmlAttributes è impostato su true (impostazione predefinita) e il documento dell'istanza contiene attributi Xml, il motore di convalida userà lo schema dello spazio dei nomi XML personalizzato per la convalida. Se gli attributi XML utilizzati nel documento dell'istanza non vengono trovati nello schema specificato, il documento non verrà convalidato.

    2. Se AllowXmlAttributes è impostato su false e il documento dell'istanza contiene attributi Xml non consentiti in modo esplicito dallo schema, il motore di convalida segnala un errore.

    3. Se AllowXmlAttributes è impostato su false e il documento dell'istanza contiene attributi Xml consentiti in modo esplicito dallo schema, il motore di convalida convaliderà gli attributi allo stesso modo in cui convalida altri attributi usando lo schema dello spazio dei nomi Xml specificato.

  4. Quando uno schema definisce un attributo xml:* con use="required".

    1. Il codice seguente si applica quando AllowXmlAttributes è impostato su true e false. Gli attributi xml:* obbligatori devono essere considerati come altri attributi e convalidati usando lo schema dello spazio dei nomi XML specificato.
  5. Quando uno schema definisce un attributo xml:* con use="prohibited".

    1. Il codice seguente si applica quando AllowXmlAttributes è impostato su true e false. Se un documento di istanza contiene attributi xml:* esplicitamente vietati dallo schema, il motore di convalida segnala un errore.
  6. Quando uno schema specifica un carattere jolly dell'attributo.

    1. Se un documento di istanza contiene un attributo Xml e lo schema specifica un carattere jolly di attributo con processContents omesso o impostato su "strict", il motore di convalida userà lo schema dello spazio dei nomi Xml presente in XmlSchemaSet. Se non viene specificato alcuno schema dello spazio dei nomi Xml, il motore di convalida avrà il comportamento seguente.

    2. Se AllowXmlAttributes è impostato su true, il motore di convalida userà lo schema dello spazio dei nomi XML predefinito per eseguire la convalida.

    3. Se AllowXmlAttributes è impostato su false, il motore di convalida segnala un errore.

    4. Se un documento di istanza contiene un attributo Xml e lo schema specifica un carattere jolly di attributo con processContents impostato su "skip", il motore di convalida ignorerà la convalida degli attributi.

    5. Se un documento di istanza contiene un attributo Xml e lo schema specifica un carattere jolly di attributo con processContents impostato su "lax", il motore di convalida userà lo schema dello spazio dei nomi Xml presente in XmlSchemaSet. Se non viene specificato alcuno schema dello spazio dei nomi Xml, il motore di convalida avrà il comportamento seguente.

    6. Se AllowXmlAttributes è impostato su true, il motore di convalida userà lo schema dello spazio dei nomi XML predefinito per eseguire la convalida.

    7. Se AllowXmlAttributes è impostato su false, la convalida degli attributi non verrà eseguita.

  7. Quando si convalidano tipi semplici.

    1. Se AllowXmlAttributes è impostato su true (impostazione predefinita), gli attributi XML saranno consentiti per gli elementi di tipi semplici.

Si applica a

Vedi anche