Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: November 2007
La validación de esquema de datos reducidos XML (XDR) se implementa mediante las restricciones de validez definidas en la especificación del esquema de Microsoft XML Parser (MSXML). La clase XmlValidatingReader utiliza la declaración de espacio de nombres x-schema: en un documento XML para determinar que el esquema para validar es un esquema XDR. En el ejemplo siguiente el elemento raíz del archivo de datos es <HeadCount xmlns='x-schema:HeadCount.xdr'>.
Nota: |
|---|
La clase XmlValidatingReader es obsoleta en .NET Framework versión 2.0. Se puede crear una instancia de validación XmlReader mediante la clase XmlReaderSettings y el método Create. Para obtener más información, vea Validación de datos XML con XmlReader. |
Ejemplo
El siguiente ejemplo de código crea XmlValidatingReader que toma XmlTextReader. El archivo de entrada, HeadCount.xml, se valida con respecto a un esquema XDR, HeadCount.xdr.
Imports System
Imports System.IO
Imports System.Xml
Imports System.Xml.Schema
public class ValidationSample
public shared sub Main()
Dim tr As XmlTextReader = new XmlTextReader("HeadCount.xml")
Dim vr As XmlValidatingReader = new XmlValidatingReader(tr)
vr.ValidationType = ValidationType.XDR
AddHandler vr.ValidationEventHandler, AddressOf ValidationCallback
while(vr.Read())
end while
Console.WriteLine("Validation finished")
end sub
public shared sub ValidationCallBack(sender As object, args as ValidationEventArgs)
Console.WriteLine("***Validation error")
Console.WriteLine("Severity:{0}", args.Severity)
Console.WriteLine("Message:{0}", args.Message)
end sub
end class
using System;
using System.IO;
using System.Xml;
using System.Xml.Schema;
namespace ValidationSample
{
class Sample
{
public static void Main()
{
XmlTextReader tr = new XmlTextReader("HeadCount.xml");
XmlValidatingReader vr = new XmlValidatingReader(tr);
vr.ValidationType = ValidationType.XDR;
vr.ValidationEventHandler += new ValidationEventHandler (ValidationHandler);
while(vr.Read());
Console.WriteLine("Validation finished");
}
public static void ValidationHandler(object sender, ValidationEventArgs args)
{
Console.WriteLine("***Validation error");
Console.WriteLine("\tSeverity:{0}", args.Severity);
Console.WriteLine("\tMessage :{0}", args.Message);
}
}
}
A continuación se describe el contenido del archivo de entrada, HeadCount.xml, que se va a validar.
<HeadCount xmlns='x-schema:HeadCount.xdr'>
<Name>Waldo Pepper</Name>
<Name>Red Pepper</Name>
</HeadCount>
A continuación se describe el contenido del archivo de esquema XDR, HeadCount.dtd, que se usará como referencia para la validación.
<Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
<ElementType name="Name" content="textOnly"/>
<AttributeType name="Bldg" default="2"/>
<ElementType name="HeadCount" content="eltOnly">
<element type="Name"/>
<attribute type="Bldg"/>
</ElementType>
</Schema>
Vea también
Conceptos
Leer fragmentos de XML con XmlReader
Nota: