XPathNavigator.CheckValidity(XmlSchemaSet, ValidationEventHandler) Metodo

Definizione

Verifica che i dati XML nella classe XPathNavigator siano conformi allo schema XSD (XML Schema Definition Language) specificato.

public:
 virtual bool CheckValidity(System::Xml::Schema::XmlSchemaSet ^ schemas, System::Xml::Schema::ValidationEventHandler ^ validationEventHandler);
public virtual bool CheckValidity (System.Xml.Schema.XmlSchemaSet schemas, System.Xml.Schema.ValidationEventHandler validationEventHandler);
abstract member CheckValidity : System.Xml.Schema.XmlSchemaSet * System.Xml.Schema.ValidationEventHandler -> bool
override this.CheckValidity : System.Xml.Schema.XmlSchemaSet * System.Xml.Schema.ValidationEventHandler -> bool
Public Overridable Function CheckValidity (schemas As XmlSchemaSet, validationEventHandler As ValidationEventHandler) As Boolean

Parametri

schemas
XmlSchemaSet

La classe XmlSchemaSet contenente gli schemi utilizzati per convalidare i dati XML contenuti nella classe XPathNavigator.

validationEventHandler
ValidationEventHandler

L'oggetto ValidationEventHandler che riceve le informazioni sugli avvisi e gli errori relativi alla convalida degli schemi.

Restituisce

Boolean

true se non si sono verificati errori di convalida degli schemi; in caso contrario, false.

Eccezioni

Si è verificato un errore di convalida degli schemi e non è stato specificato un oggetto ValidationEventHandler per la gestione degli errori di convalida.

La classe XPathNavigator è posizionata in corrispondenza di un nodo che non è un elemento, un attributo o il nodo radice oppure non sono disponibili informazioni sul tipo per eseguire la convalida.

Il metodo CheckValidity(XmlSchemaSet, ValidationEventHandler) è stato chiamato con un parametro XmlSchemaSet quando la classe XPathNavigator non era posizionata in corrispondenza del nodo radice dei dati XML.

Commenti

  • Il CheckValidity metodo verifica che i dati XML contenuti nell'oggetto XPathNavigator siano conformi a un tipo globale o a una dichiarazione nello schema o negli schemi forniti in XmlSchemaSet.

  • Il CheckValidity metodo non esegue l'aumento dell'infoset. Ciò significa che le impostazioni predefinite dello schema non vengono applicate, i valori di testo non vengono convertiti in valori atomici e non sono associate nuove informazioni sul tipo agli elementi di informazioni.

  • Gli xsi:schemaLocation schemi o xsi:noNamespaceSchemaLocation gli hint nei dati XML di vengono ignorati.

  • Se l'oggetto è posizionato in un nodo del documento, il processo di convalida include il controllo dell'univocità XPathNavigator e dei vincoli di riferimento (xs:ID, xs:IDREF, xs:key``xs:keyref, e xs:unique). In caso contrario, questi controlli vengono omessi.

  • Se l'oggetto XmlSchemaSet passato come parametro è null e l'oggetto XPathNavigator viene posizionato in un nodo elemento, le informazioni sul tipo esposte dalla SchemaInfo proprietà della SchemaType proprietà vengono usate per verificare la validità del nodo. Se l'oggetto XmlSchemaSet passato come parametro è null e l'oggetto XPathNavigator viene posizionato nel nodo radice, viene utilizzata la SchemaInfo proprietà dell'elemento del documento , ovvero l'elemento figlio del nodo radice. In entrambi i casi, se la SchemaType proprietà della proprietà dell'elemento SchemaInfo è null e l'oggetto XmlSchemaSet passato come parametro è null, viene generata un'eccezione InvalidOperationException perché non sono presenti informazioni sul tipo da utilizzare per eseguire la convalida.

Si applica a