Compartir a través de


XmlSchemaCollection Clase

Definición

Precaución

Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. https://go.microsoft.com/fwlink/?linkid=14202

Precaución

XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation.

Precaución

XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation instead.

Precaución

Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. http://go.microsoft.com/fwlink/?linkid=14202

Contiene una caché de esquemas del lenguaje de definición de esquemas XML (esquemas XSD) y esquemas reducidos de datos XML (esquemas XDR). La clase XmlSchemaCollection está obsoleta. Utilice XmlSchemaSet en su lugar.

public ref class XmlSchemaCollection sealed : System::Collections::ICollection
[System.Obsolete("Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. https://go.microsoft.com/fwlink/?linkid=14202")]
public sealed class XmlSchemaCollection : System.Collections.ICollection
[System.Obsolete("XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation.")]
public sealed class XmlSchemaCollection : System.Collections.ICollection
[System.Obsolete("XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation instead.")]
public sealed class XmlSchemaCollection : System.Collections.ICollection
[System.Obsolete("Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. http://go.microsoft.com/fwlink/?linkid=14202")]
public sealed class XmlSchemaCollection : System.Collections.ICollection
public sealed class XmlSchemaCollection : System.Collections.ICollection
[<System.Obsolete("Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. https://go.microsoft.com/fwlink/?linkid=14202")>]
type XmlSchemaCollection = class
    interface ICollection
    interface IEnumerable
[<System.Obsolete("XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation.")>]
type XmlSchemaCollection = class
    interface ICollection
    interface IEnumerable
[<System.Obsolete("XmlSchemaCollection has been deprecated. Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation instead.")>]
type XmlSchemaCollection = class
    interface ICollection
    interface IEnumerable
[<System.Obsolete("Use System.Xml.Schema.XmlSchemaSet for schema compilation and validation. http://go.microsoft.com/fwlink/?linkid=14202")>]
type XmlSchemaCollection = class
    interface ICollection
    interface IEnumerable
type XmlSchemaCollection = class
    interface ICollection
    interface IEnumerable
Public NotInheritable Class XmlSchemaCollection
Implements ICollection
Herencia
XmlSchemaCollection
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se valida un documento XML mediante XmlSchemaCollection.

#using <System.Xml.dll>
#using <System.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
using namespace System::IO;
public ref class ValidXSD
{
public:
   static void main()
   {
      XmlSchemaCollection^ sc = gcnew XmlSchemaCollection;
      sc->ValidationEventHandler += gcnew ValidationEventHandler( ValidationCallBack );
      sc->Add( nullptr, "books.xsd" );
      if ( sc->Count > 0 )
      {
         XmlTextReader^ tr = gcnew XmlTextReader( "notValidXSD.xml" );
         XmlValidatingReader^ rdr = gcnew XmlValidatingReader( tr );
         rdr->ValidationType = ValidationType::Schema;
         rdr->Schemas->Add( sc );
         rdr->ValidationEventHandler += gcnew ValidationEventHandler( ValidationCallBack );
         while ( rdr->Read() )
                  ;
      }
   }


private:
   static void ValidationCallBack( Object^ /*sender*/, ValidationEventArgs^ e )
   {
      Console::WriteLine( "Validation Error: {0}", e->Message );
   }

};

int main()
{
   ValidXSD::main();
}
using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;

public class ValidXSD {

  public static void Main() {
    XmlSchemaCollection sc = new XmlSchemaCollection();
    sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
    sc.Add(null, "books.xsd");

    if(sc.Count > 0)
    {
      XmlTextReader tr = new XmlTextReader("notValidXSD.xml");
      XmlValidatingReader rdr = new XmlValidatingReader(tr);

      rdr.ValidationType = ValidationType.Schema;
      rdr.Schemas.Add(sc);
      rdr.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
      while (rdr.Read());
    }
  }

  private static void ValidationCallBack(object sender, ValidationEventArgs e) {
    Console.WriteLine("Validation Error: {0}", e.Message);
  }
}
Imports System.Xml
Imports System.Xml.Schema
Imports System.IO

public class ValidXSD 

  public shared sub Main() 
    Dim sc as XmlSchemaCollection = new XmlSchemaCollection()
    AddHandler sc.ValidationEventHandler, AddressOf ValidationCallBack
    sc.Add(nothing, "books.xsd")

    if(sc.Count > 0)
      Dim tr as XmlTextReader = new XmlTextReader("notValidXSD.xml")
      Dim rdr as XmlValidatingReader = new XmlValidatingReader(tr)

      rdr.ValidationType = ValidationType.Schema
      rdr.Schemas.Add(sc)
      AddHandler rdr.ValidationEventHandler, AddressOf ValidationCallBack
      while (rdr.Read())
      end while
    end if

  end sub

  private shared sub ValidationCallBack(sender as object, e as ValidationEventArgs) 
    Console.WriteLine("XSD Error: {0}", e.Message)
  end sub

end class

Comentarios

Los esquemas se cargan mediante el Add método , en cuyo momento el esquema está asociado a un identificador uniforme de recursos (URI) del espacio de nombres. En el caso de los esquemas XML, normalmente será la targetNamespace propiedad del esquema.

Aunque esta clase almacena esquemas XML y esquemas XDR, cualquier método y propiedad que toma o devuelve un XmlSchema objeto se aplica solo a esquemas XML.

Esta versión del producto admite la recomendación de esquema XML de World Wide Web Consortium (W3C) ubicada en esquema XML Parte 1: Estructuras y esquema XML Parte 2: Tipos de datos. Un esquema XML debe hacer referencia al espacio de nombres http://www.w3.org/2001/XMLSchema del esquema W3C en su elemento de esquema. Consulte el Add método para obtener un ejemplo.

XmlSchemaCollection puede ser utilizado por XmlValidatingReader para una validación de datos eficaz.

Importante

La XmlSchemaCollection clase está obsoleta en la versión 2.0 de Microsoft .NET Framework y se ha reemplazado por la XmlSchemaSet clase .

Constructores

XmlSchemaCollection()

Inicializa una nueva instancia de la clase XmlSchemaCollection.

XmlSchemaCollection(XmlNameTable)

Inicializa una nueva instancia de la clase XmlSchemaCollection con el objeto XmlNameTable especificado. XmlNameTable se utiliza cuando se cargan esquemas.

Propiedades

Count

Obtiene el número de espacios de nombres definidos en esta colección.

Item[String]

Obtiene el XmlSchema asociado al URI del espacio de nombres especificado.

NameTable

Obtiene el valor predeterminado de XmlNameTable que XmlSchemaCollection utiliza al cargar nuevos esquemas.

Métodos

Add(String, String)

Agrega el esquema localizado por la dirección URL especificada a la colección de esquemas.

Add(String, XmlReader)

Agrega el esquema que contiene el objeto XmlReader a la colección de esquemas.

Add(String, XmlReader, XmlResolver)

Agrega el esquema que contiene el objeto XmlReader a la colección de esquemas. El XmlResolver especificado se utiliza para resolver los recursos externos.

Add(XmlSchema)

Agrega XmlSchema a la colección.

Add(XmlSchema, XmlResolver)

Agrega XmlSchema a la colección. El XmlResolver especificado se utiliza para resolver las referencias externas.

Add(XmlSchemaCollection)

Agrega todos los espacios de nombres definidos en una colección especificada (incluidos sus esquemas asociados) a esta colección.

Contains(String)

Obtiene un valor que indica si un esquema con el espacio de nombres especificado se encuentra en la colección.

Contains(XmlSchema)

Obtiene un valor que indica si el targetNamespace del XmlSchema especificado se encuentra en la colección.

CopyTo(XmlSchema[], Int32)

Copia todos los objetos XmlSchema de esta colección en la matriz especificada a partir del índice indicado.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetEnumerator()

Proporciona compatibilidad con la iteración de estilo "for each" a través de la colección de esquemas.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

ValidationEventHandler

Establece un controlador de eventos para recibir información sobre errores de validación de esquemas XDR y XML.

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32)

Para obtener una descripción de este miembro, vea CopyTo(XmlSchema[], Int32).

ICollection.Count

Para obtener una descripción de este miembro, vea Count.

ICollection.IsSynchronized

Para obtener una descripción de este miembro, vea ICollection.IsSynchronized.

ICollection.SyncRoot

Para obtener una descripción de este miembro, vea ICollection.SyncRoot.

IEnumerable.GetEnumerator()

Para obtener una descripción de este miembro, vea GetEnumerator().

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a