Condividi tramite


XmlSchemaCollection Classe

Definizione

Attenzione

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

Attenzione

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

Attenzione

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

Attenzione

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

Contiene una cache di schemi XSD (XML Schema Definition Language) e XDR (XML-Data Reduced). La classe XmlSchemaCollection è obsoleta. In alternativa, utilizzare XmlSchemaSet.

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
Ereditarietà
XmlSchemaCollection
Attributi
Implementazioni

Esempio

Nell'esempio seguente viene convalidato un documento XML utilizzando .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

Commenti

Gli schemi vengono caricati usando il Add metodo , al momento in cui lo schema è associato a un URI (Uniform Resource Identifier) dello spazio dei nomi. Per gli XML Schema, in genere si tratta della targetNamespace proprietà dello schema.

Anche se questa classe archivia sia xml Schema che schemi XDR, qualsiasi metodo e proprietà che accetta o restituisce un oggetto XmlSchema si applica solo a XML Schema.

Questa versione del prodotto supporta la raccomandazione W3C (World Wide Web Consortium) XML Schema disponibile in XML Schema Part 1: Structures and XML Schema Part 2: Datatypes ( Xml Schema Part 2: Datatypes). Un XML Schema deve fare riferimento allo spazio dei nomi http://www.w3.org/2001/XMLSchema W3C Schema nel relativo elemento dello schema. Per un esempio, vedere il Add metodo .

XmlSchemaCollection può essere usato da XmlValidatingReader per una convalida efficiente dei dati.

Importante

La XmlSchemaCollection classe è obsoleta in Microsoft .NET Framework versione 2.0 ed è stata sostituita dalla XmlSchemaSet classe .

Costruttori

XmlSchemaCollection()

Inizializza una nuova istanza della classe XmlSchemaCollection.

XmlSchemaCollection(XmlNameTable)

Inizializza una nuova istanza della classe XmlSchemaCollection con l'oggetto XmlNameTable specificato. L'oggetto XmlNameTable viene utilizzato quando vengono caricati gli schemi.

Proprietà

Count

Ottiene il numero di spazi dei nomi definiti nella raccolta.

Item[String]

Ottiene l'XmlSchema associato all'URI dello spazio dei nomi dato.

NameTable

Ottiene lo XmlNameTable predefinito utilizzato dallo XmlSchemaCollection nel caricamento di nuovi schemi.

Metodi

Add(String, String)

Aggiunge alla raccolta di schemi lo schema individuato dall'URL specificato.

Add(String, XmlReader)

Aggiunge lo schema contenuto in XmlReader all'insieme di schemi.

Add(String, XmlReader, XmlResolver)

Aggiunge lo schema contenuto in XmlReader all'insieme di schemi. L'oggetto XmlResolver specificato viene utilizzato per risolvere eventuali riferimenti esterni.

Add(XmlSchema)

Aggiunge l'oggetto XmlSchema all'insieme.

Add(XmlSchema, XmlResolver)

Aggiunge l'oggetto XmlSchema all'insieme. L'oggetto XmlResolver specificato viene utilizzato per risolvere eventuali riferimenti esterni.

Add(XmlSchemaCollection)

Aggiunge a questa raccolta tutti gli spazi dei nomi definiti nella raccolta specificata, inclusi i relativi schemi associati.

Contains(String)

Ottiene un valore che indica se uno schema con lo spazio dei nomi specificato si trova nella raccolta.

Contains(XmlSchema)

Ottiene un valore che indica se il targetNamespace dell'oggetto XmlSchema specificato si trova nell'insieme.

CopyTo(XmlSchema[], Int32)

Copia tutti gli oggetti XmlSchema dell'insieme nella matrice indicata a partire dall'indice specificato.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Fornisce supporto per l'iterazione in stile "for each" nella raccolta di schemi.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Eventi

ValidationEventHandler

Imposta un gestore eventi per ricevere informazioni sugli errori di convalida di schemi XDR e XML.

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Per una descrizione di questo membro, vedere CopyTo(XmlSchema[], Int32).

ICollection.Count

Per una descrizione di questo membro, vedere Count.

ICollection.IsSynchronized

Per una descrizione di questo membro, vedere ICollection.IsSynchronized.

ICollection.SyncRoot

Per una descrizione di questo membro, vedere ICollection.SyncRoot.

IEnumerable.GetEnumerator()

Per una descrizione di questo membro, vedere GetEnumerator().

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a