Compartilhar via


XmlSchemaCollection Classe

Definição

Cuidado

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

Cuidado

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

Cuidado

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

Cuidado

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

Contém um cache de esquemas XSD (linguagem de definição de esquema XML) e XDR (Dados XML reduzidos). A classe XmlSchemaCollection está obsoleta. Use XmlSchemaSet em seu 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
Herança
XmlSchemaCollection
Atributos
Implementações

Exemplos

O exemplo a seguir valida um documento XML usando o 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

Comentários

Esquemas são carregados usando o Add método, momento em que o esquema está associado a um URI (Uniform Resource Identifier) do namespace. Para esquemas XML, normalmente essa será a targetNamespace propriedade do esquema.

Embora essa classe armazene esquemas XML Schemas e XDR, qualquer método e propriedade que usa ou retorna uma XmlSchema se aplica somente a esquemas XML.

Esta versão do produto dá suporte à recomendação de esquema XML do W3C (World Wide Web Consortium) localizada na Parte 1 do Esquema XML: Estruturas e Esquema XML Parte 2: Tipos de dados. Um esquema XML deve referenciar o namespace http://www.w3.org/2001/XMLSchema do Esquema W3C em seu elemento de esquema. Consulte o Add método para obter um exemplo.

XmlSchemaCollection pode ser usado por XmlValidatingReader uma validação de dados eficiente.

Importante

A XmlSchemaCollection classe está obsoleta no Microsoft .NET Framework versão 2.0 e foi substituída pela XmlSchemaSet classe.

Construtores

XmlSchemaCollection()

Inicializa uma nova instância da classe XmlSchemaCollection.

XmlSchemaCollection(XmlNameTable)

Inicializa uma nova instância da classe XmlSchemaCollection com o XmlNameTable especificado. O XmlNameTable é usado ao carregar os esquemas.

Propriedades

Count

Obtém o número de namespaces definidos nesta coleção.

Item[String]

Obtém o XmlSchema associado ao URI de namespace determinado.

NameTable

Obtém o XmlNameTable padrão usado pelo XmlSchemaCollection ao carregar novos esquemas.

Métodos

Add(String, String)

Adiciona o esquema localizado pela URL fornecida à coleção de esquemas.

Add(String, XmlReader)

Adiciona o esquema contido no XmlReader à coleção de esquema.

Add(String, XmlReader, XmlResolver)

Adiciona o esquema contido no XmlReader à coleção de esquema. O XmlResolver especificado é usado para resolver todos os recursos externos.

Add(XmlSchema)

Adiciona o XmlSchema à coleção.

Add(XmlSchema, XmlResolver)

Adiciona o XmlSchema à coleção. O XmlResolver especificado é usado para resolver todas as referências externas.

Add(XmlSchemaCollection)

Adiciona todos os namespaces definidos na coleção fornecida (inclusive seus esquemas associados) a esta coleção.

Contains(String)

Obtém um valor que indica se um esquema com o namespace especificado está na coleção.

Contains(XmlSchema)

Obtém um valor que indica se o targetNamespace do XmlSchema especificado está na coleção.

CopyTo(XmlSchema[], Int32)

Copia todos os objetos XmlSchema desta coleção para a matriz fornecida, iniciando no índice especificado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetEnumerator()

É compatível com a iteração do estilo "for each" na coleção de nós dos esquemas.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Eventos

ValidationEventHandler

Define um manipulador de eventos para receber informações sobre os erros de validação dos esquemas XML e XDR.

Implantações explícitas de interface

ICollection.CopyTo(Array, Int32)

Para obter uma descrição desse membro, confira CopyTo(XmlSchema[], Int32).

ICollection.Count

Para obter uma descrição desse membro, confira Count.

ICollection.IsSynchronized

Para obter uma descrição desse membro, confira ICollection.IsSynchronized.

ICollection.SyncRoot

Para obter uma descrição desse membro, confira ICollection.SyncRoot.

IEnumerable.GetEnumerator()

Para obter uma descrição desse membro, confira GetEnumerator().

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Aplica-se a