Condividi tramite


XmlSchemaCollection.Add Metodo

Definizione

Aggiunge lo schema specificato alla raccolta di schemi.

Overload

Add(XmlSchema)

Aggiunge l'oggetto XmlSchema all'insieme.

Add(XmlSchemaCollection)

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

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(XmlSchema, XmlResolver)

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

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.

Commenti

Importante

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

Add(XmlSchema)

Aggiunge l'oggetto XmlSchema all'insieme.

public:
 System::Xml::Schema::XmlSchema ^ Add(System::Xml::Schema::XmlSchema ^ schema);
public System.Xml.Schema.XmlSchema? Add (System.Xml.Schema.XmlSchema schema);
public System.Xml.Schema.XmlSchema Add (System.Xml.Schema.XmlSchema schema);
member this.Add : System.Xml.Schema.XmlSchema -> System.Xml.Schema.XmlSchema
Public Function Add (schema As XmlSchema) As XmlSchema

Parametri

schema
XmlSchema

Oggetto XmlSchema da aggiungere alla raccolta.

Restituisce

XmlSchema

Oggetto XmlSchema.

Commenti

L'attributo targetNamespace viene usato per identificare questo schema.

Se lo schema da aggiungere contiene riferimenti ad altri spazi dei nomi (tramite include e import elementi), il livello di attendibilità dell'applicazione determina la modalità di risoluzione di questi altri spazi dei nomi. In .NET Framework versione 1.0 è sempre stato usato un valore predefinito XmlUrlResolver .

Fully trusted code: Per risolvere eventuali risorse esterne viene usata un'impostazione predefinita XmlUrlResolver senza credenziali utente. Gli schemi per questi altri spazi dei nomi vengono caricati solo a scopo di convalida. A differenza dello schema originale, questi altri schemi non vengono aggiunti in modo esplicito alla raccolta di schemi. Di conseguenza, non sono accessibili usando i metodi o le proprietà della raccolta. Se queste risorse esterne si trovano in una risorsa di rete che richiede l'autenticazione, usare un overload che accetta XmlResolver come uno dei relativi argomenti e specificare un XmlResolver oggetto con le credenziali necessarie.

Semi-trusted code: I riferimenti esterni non vengono risolti.

Nota

Se si XmlSchemaCollection accede tramite la XmlValidatingReader.Schemas proprietà , il Add metodo utilizza l'oggetto XmlResolver specificato dalla XmlValidatingReader.XmlResolver proprietà .

Importante

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

Vedi anche

Si applica a

Add(XmlSchemaCollection)

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

public:
 void Add(System::Xml::Schema::XmlSchemaCollection ^ schema);
public void Add (System.Xml.Schema.XmlSchemaCollection schema);
member this.Add : System.Xml.Schema.XmlSchemaCollection -> unit
Public Sub Add (schema As XmlSchemaCollection)

Parametri

schema
XmlSchemaCollection

XmlSchemaCollection che si desidera aggiungere a questo insieme.

Commenti

Se lo schema da aggiungere contiene riferimenti ad altri spazi dei nomi (tramite include gli elementi e import o l'attributo x-schema ), il livello di attendibilità dell'applicazione determina la modalità di risoluzione di questi altri spazi dei nomi. In .NET Framework versione 1.0 è sempre stato usato un valore predefinito XmlUrlResolver .

Fully trusted code: Per risolvere eventuali risorse esterne viene usata un'impostazione predefinita XmlUrlResolver senza credenziali utente. Gli schemi per questi altri spazi dei nomi vengono caricati solo a scopo di convalida. A differenza dello schema originale, questi altri schemi non vengono aggiunti in modo esplicito alla raccolta di schemi. Di conseguenza, non sono accessibili usando i metodi o le proprietà della raccolta. Se queste risorse esterne si trovano in una risorsa di rete che richiede l'autenticazione, usare un overload che accetta XmlResolver come uno dei relativi argomenti e specificare un XmlResolver oggetto con le credenziali necessarie.

Semi-trusted code: I riferimenti esterni non vengono risolti.

Nota

Se si XmlSchemaCollection accede tramite la XmlValidatingReader.Schemas proprietà , il Add metodo utilizza l'oggetto XmlResolver specificato dalla XmlValidatingReader.XmlResolver proprietà .

Importante

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

Si applica a

Add(String, String)

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

public:
 System::Xml::Schema::XmlSchema ^ Add(System::String ^ ns, System::String ^ uri);
public System.Xml.Schema.XmlSchema? Add (string? ns, string uri);
public System.Xml.Schema.XmlSchema Add (string ns, string uri);
member this.Add : string * string -> System.Xml.Schema.XmlSchema
Public Function Add (ns As String, uri As String) As XmlSchema

Parametri

ns
String

URI dello spazio dei nomi associato allo schema. Per gli schemi XML, corrisponderà in genere a targetNamespace.

uri
String

URL che specifica lo schema da caricare.

Restituisce

XmlSchema

XmlSchema aggiunto all'insieme di schemi. È null se lo schema aggiunto è uno schema XDR oppure in caso di errori di compilazione nello schema.

Eccezioni

Lo schema non è valido.

Esempio

Nell'esempio seguente vengono convalidati tre file XML usando gli schemi archiviati in XmlSchemaCollection.

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

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Schema;

public ref class SchemaCollectionSample
{
private:
   XmlTextReader^ reader;
   XmlValidatingReader^ vreader;
   Boolean m_success;

public:
   SchemaCollectionSample()
   {
      reader = nullptr;
      vreader = nullptr;
      m_success = true;

      //Load the schema collection.
      XmlSchemaCollection^ xsc = gcnew XmlSchemaCollection;
      String^ schema = "books.xsd";
      String^ schema1 = "schema1.xdr";
      xsc->Add( "urn:bookstore-schema", schema ); //XSD schema
      xsc->Add( "urn:newbooks-schema", schema1 ); //XDR schema
      String^ doc1 = "booksSchema.xml";
      String^ doc2 = "booksSchemaFail.xml";
      String^ doc3 = "newbooks.xml";

      //Validate the files using schemas stored in the collection.
      Validate( doc1, xsc ); //Should pass.
      Validate( doc2, xsc ); //Should fail.   
      Validate( doc3, xsc ); //Should fail. 
   }


private:
   void Validate( String^ filename, XmlSchemaCollection^ xsc )
   {
      m_success = true;
      Console::WriteLine();
      Console::WriteLine( "Validating XML file {0}...", filename );
      reader = gcnew XmlTextReader( filename );

      //Create a validating reader.
      vreader = gcnew XmlValidatingReader( reader );

      //Validate using the schemas stored in the schema collection.
      vreader->Schemas->Add( xsc );

      //Set the validation event handler
      vreader->ValidationEventHandler += gcnew ValidationEventHandler( this, &SchemaCollectionSample::ValidationCallBack );

      //Read and validate the XML data.
      while ( vreader->Read() )
      {}

      Console::WriteLine( "Validation finished. Validation {0}", (m_success == true ? (String^)"successful" : "failed") );
      Console::WriteLine();

      //Close the reader.
      vreader->Close();
   }

   void ValidationCallBack( Object^ /*sender*/, ValidationEventArgs^ args )
   {
      m_success = false;
      Console::Write( "\r\n\tValidation error: {0}", args->Message );
   }

};

int main()
{
   gcnew SchemaCollectionSample;
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Schema;

public class SchemaCollectionSample
{
  private const String doc1 = "booksSchema.xml";
  private const String doc2 = "booksSchemaFail.xml";
  private const String doc3 = "newbooks.xml";
  private const String schema = "books.xsd";
  private const String schema1 = "schema1.xdr";

  private XmlTextReader reader=null;
  private XmlValidatingReader vreader = null;
  private Boolean m_success = true;

  public SchemaCollectionSample ()
  {
    //Load the schema collection.
    XmlSchemaCollection xsc = new XmlSchemaCollection();
    xsc.Add("urn:bookstore-schema", schema);  //XSD schema
    xsc.Add("urn:newbooks-schema", schema1);  //XDR schema

    //Validate the files using schemas stored in the collection.
    Validate(doc1, xsc); //Should pass.
    Validate(doc2, xsc); //Should fail.
    Validate(doc3, xsc); //Should fail.
  }

  public static void Main ()
  {
      SchemaCollectionSample validation = new SchemaCollectionSample();
  }

  private void Validate(String filename, XmlSchemaCollection xsc)
  {

     m_success = true;
     Console.WriteLine();
     Console.WriteLine("Validating XML file {0}...", filename.ToString());
     reader = new XmlTextReader (filename);

     //Create a validating reader.
    vreader = new XmlValidatingReader (reader);

     //Validate using the schemas stored in the schema collection.
     vreader.Schemas.Add(xsc);

     //Set the validation event handler
     vreader.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
     //Read and validate the XML data.
     while (vreader.Read()){}
     Console.WriteLine ("Validation finished. Validation {0}", (m_success==true ? "successful" : "failed"));
     Console.WriteLine();

     //Close the reader.
     vreader.Close();
  }

  private void ValidationCallBack (object sender, ValidationEventArgs args)
  {
     m_success = false;

     Console.Write("\r\n\tValidation error: " + args.Message);
  }
}
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml
Imports System.Xml.Schema

Public Class SchemaCollectionSample
    Private doc1 As String = "booksSchema.xml"
    Private doc2 As String = "booksSchemaFail.xml"
    Private doc3 As String = "newbooks.xml"
    Private schema As String = "books.xsd"
    Private schema1 As String = "schema1.xdr"
    
    Private reader As XmlTextReader = Nothing
    Private vreader As XmlValidatingReader = Nothing
    Private m_success As Boolean = True
    
    Public Sub New()

            'Load the schema collection
            Dim xsc As New XmlSchemaCollection()
            xsc.Add("urn:bookstore-schema", schema) 'XSD schema
            xsc.Add("urn:newbooks-schema", schema1) 'XDR schema

            'Validate the files using schemas stored in the collection.
            Validate(doc1, xsc) 'Should pass.
            Validate(doc2, xsc) 'Should fail.   
            Validate(doc3, xsc) 'Should fail. 
        
    End Sub
    
    Public Shared Sub Main()
        Dim validation As New SchemaCollectionSample()
    End Sub
    
    Private Sub Validate(filename As String, xsc As XmlSchemaCollection)
        
            m_success = True
            Console.WriteLine()
            Console.WriteLine("Validating XML file {0}...", filename.ToString())
            reader = New XmlTextReader(filename)
            
            'Create a validating reader.
            vreader = New XmlValidatingReader(reader)
            
            'Use the schemas stored in the schema collection.
            vreader.Schemas.Add(xsc)
            
            'Set the validation event handler.
            AddHandler vreader.ValidationEventHandler, AddressOf ValidationCallBack
            'Read and validate the XML data.
            While vreader.Read()
            End While
            Console.WriteLine("Validation finished. Validation {0}", IIf(m_success, "successful", "failed"))
            Console.WriteLine()

            'Close the reader.
            vreader.Close()

    End Sub
       
    
    Private Sub ValidationCallBack(sender As Object, args As ValidationEventArgs)
        m_success = False
        
        Console.Write((ControlChars.CrLf & ControlChars.Tab & "Validation error: " & args.Message))
    End Sub
End Class

L'esempio usa i cinque file di input seguenti:

booksSchema.xml


<?xml version='1.0'?>
 <bookstore xmlns="urn:bookstore-schema">
   <book genre="autobiography">
     <title>The Autobiography of Benjamin Franklin</title>
     <author>
       <first-name>Benjamin</first-name>
       <last-name>Franklin</last-name>
     </author>
     <price>8.99</price>
   </book>
   <book genre="novel">
     <title>The Confidence Man</title>
     <author>
       <first-name>Herman</first-name>
       <last-name>Melville</last-name>
     </author>
     <price>11.99</price>
   </book>
 </bookstore>

booksSchemaFail.xml


<?xml version='1.0'?>
 <bookstore xmlns="urn:bookstore-schema">
   <book>
     <author>
       <first-name>Benjamin</first-name>
       <last-name>Franklin</last-name>
     </author>
   </book>
   <book genre="novel">
     <title>The Confidence Man</title>
     <author>
       <first-name>Herman</first-name>
       <last-name>Melville</last-name>
     </author>
     <price>11.99</price>
   </book>
   <book genre="philosophy">
     <title>The Gorgias</title>
     <author>
       <name>Plato</name>
     </author>
     <price>9.99</price>
   </book>
 </bookstore>

newbooks.xml


<?xml version='1.0'?>
<bookstore xmlns="urn:newbooks-schema">
  <book genre="novel" style="hardcover">
    <title>The Handmaid's Tale</title>
    <author>
      <first-name>Margaret</first-name>
      <last-name>Atwood</last-name>
    </author>
    <price>19.95</price>
  </book>
  <book genre="novel" style="other">
    <title>The Poisonwood Bible</title>
    <author>
      <first-name>Barbara</first-name>
      <last-name>Kingsolver</last-name>
    </author>
    <price>11.99</price>
  </book>
</bookstore>

books.xsd


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns="urn:bookstore-schema"
     elementFormDefault="qualified"
     targetNamespace="urn:bookstore-schema">
 
  <xsd:element name="bookstore" type="bookstoreType"/>
 
  <xsd:complexType name="bookstoreType">
   <xsd:sequence maxOccurs="unbounded">
    <xsd:element name="book"  type="bookType"/>
   </xsd:sequence>
  </xsd:complexType>
 
  <xsd:complexType name="bookType">
   <xsd:sequence>
    <xsd:element name="title" type="xsd:string"/>
    <xsd:element name="author" type="authorName"/>
    <xsd:element name="price"  type="xsd:decimal"/>
   </xsd:sequence>
   <xsd:attribute name="genre" type="xsd:string"/>
  </xsd:complexType>
 
  <xsd:complexType name="authorName">
   <xsd:sequence>
    <xsd:element name="first-name"  type="xsd:string"/>
    <xsd:element name="last-name" type="xsd:string"/>
   </xsd:sequence>
  </xsd:complexType>
 
 </xsd:schema>

schema1.xdr


<?xml version="1.0"?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes">
  <ElementType name="first-name" content="textOnly"/>
  <ElementType name="last-name" content="textOnly"/>
  <ElementType name="name" content="textOnly"/>
  <ElementType name="price" content="textOnly" dt:type="fixed.14.4"/>
  <ElementType name="author" content="eltOnly" order="one">
    <group order="seq">
      <element type="name"/>
    </group>
    <group order="seq">
      <element type="first-name"/>
      <element type="last-name"/>
    </group>
  </ElementType>
  <ElementType name="title" content="textOnly"/>
  <AttributeType name="genre" dt:type="string"/>
  <AttributeType name="style" dt:type="enumeration"
        dt:values="paperback hardcover"/>
  <ElementType name="book" content="eltOnly">
    <attribute type="genre" required="yes"/>
    <attribute type="style" required="yes"/>
    <element type="title"/>
    <element type="author"/>
    <element type="price"/>
  </ElementType>
  <ElementType name="bookstore" content="eltOnly">
    <element type="book"/>
  </ElementType>
</Schema>

Commenti

Se ns è già stato associato a un altro schema nella raccolta, lo schema da aggiungere sostituisce lo schema originale nella raccolta. Nel codice C# seguente, ad esempio, authors.xsd viene rimosso dalla raccolta e viene aggiunto names.xsd.

schemaColl.Add("urn:author", "authors.xsd");  
schemaColl.Add("urn:author", "names.xsd");  

Se ns è null e lo schema da aggiungere è un XML Schema, il Add metodo utilizza l'oggetto targetNamespace definito in XML Schema per identificare lo schema nella raccolta. Se lo schema da aggiungere contiene riferimenti ad altri spazi dei nomi (tramite include gli elementi e import o l'attributo x-schema ), il livello di attendibilità dell'applicazione determina la modalità di risoluzione di questi altri spazi dei nomi. In .NET Framework versione 1.0 è sempre stato usato un valore predefinito XmlUrlResolver .

Fully trusted code: Per risolvere eventuali risorse esterne viene usata un'impostazione predefinita XmlUrlResolver senza credenziali utente. Gli schemi per questi altri spazi dei nomi vengono caricati solo a scopo di convalida. A differenza dello schema originale, questi altri schemi non vengono aggiunti in modo esplicito alla raccolta di schemi. Di conseguenza, non sono accessibili usando i metodi o le proprietà della raccolta. Se queste risorse esterne si trovano in una risorsa di rete che richiede l'autenticazione, usare un overload che accetta XmlResolver come uno dei relativi argomenti e specificare un XmlResolver oggetto con le credenziali necessarie.

Semi-trusted code: I riferimenti esterni non vengono risolti.

Nota

Se si XmlSchemaCollection accede tramite la XmlValidatingReader.Schemas proprietà , il Add metodo utilizza l'oggetto XmlResolver specificato dalla XmlValidatingReader.XmlResolver proprietà .

Importante

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

Si applica a

Add(String, XmlReader)

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

public:
 System::Xml::Schema::XmlSchema ^ Add(System::String ^ ns, System::Xml::XmlReader ^ reader);
public System.Xml.Schema.XmlSchema? Add (string? ns, System.Xml.XmlReader reader);
public System.Xml.Schema.XmlSchema Add (string ns, System.Xml.XmlReader reader);
member this.Add : string * System.Xml.XmlReader -> System.Xml.Schema.XmlSchema
Public Function Add (ns As String, reader As XmlReader) As XmlSchema

Parametri

ns
String

URI dello spazio dei nomi associato allo schema. Per gli schemi XML, corrisponderà in genere a targetNamespace.

reader
XmlReader

XmlReader contenente lo schema da aggiungere.

Restituisce

XmlSchema

XmlSchema aggiunto all'insieme di schemi. È null se lo schema aggiunto è uno schema XDR oppure in caso di errori di compilazione nello schema.

Eccezioni

Lo schema non è valido.

Commenti

Se ns è già stato associato a un altro schema nella raccolta, lo schema da aggiungere sostituisce lo schema originale nella raccolta.

Se ns è null e lo schema da aggiungere è un XML Schema, il Add metodo utilizza l'oggetto targetNamespace definito in XML Schema per identificare lo schema nella raccolta.

Se lo schema da aggiungere contiene riferimenti ad altri spazi dei nomi (tramite include gli elementi e import o l'attributo x-schema ), il livello di attendibilità dell'applicazione determina la modalità di risoluzione di questi altri spazi dei nomi. In .NET Framework versione 1.0 è sempre stato usato un valore predefinito XmlUrlResolver .

Fully trusted code: Per risolvere eventuali risorse esterne viene usata un'impostazione predefinita XmlUrlResolver senza credenziali utente. Gli schemi per questi altri spazi dei nomi vengono caricati solo a scopo di convalida. A differenza dello schema originale, questi altri schemi non vengono aggiunti in modo esplicito alla raccolta di schemi. Di conseguenza, non sono accessibili usando i metodi o le proprietà della raccolta. Se queste risorse esterne si trovano in una risorsa di rete che richiede l'autenticazione, usare un overload che accetta XmlResolver come uno dei relativi argomenti e specificare un XmlResolver oggetto con le credenziali necessarie.

Semi-trusted code: I riferimenti esterni non vengono risolti.

Nota

Se si XmlSchemaCollection accede tramite la XmlValidatingReader.Schemas proprietà , il Add metodo utilizza l'oggetto XmlResolver specificato dalla XmlValidatingReader.XmlResolver proprietà .

Importante

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

Si applica a

Add(XmlSchema, XmlResolver)

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

public:
 System::Xml::Schema::XmlSchema ^ Add(System::Xml::Schema::XmlSchema ^ schema, System::Xml::XmlResolver ^ resolver);
public System.Xml.Schema.XmlSchema? Add (System.Xml.Schema.XmlSchema schema, System.Xml.XmlResolver? resolver);
public System.Xml.Schema.XmlSchema Add (System.Xml.Schema.XmlSchema schema, System.Xml.XmlResolver resolver);
member this.Add : System.Xml.Schema.XmlSchema * System.Xml.XmlResolver -> System.Xml.Schema.XmlSchema
Public Function Add (schema As XmlSchema, resolver As XmlResolver) As XmlSchema

Parametri

schema
XmlSchema

Oggetto XmlSchema da aggiungere alla raccolta.

resolver
XmlResolver

XmlResolver utilizzato per risolvere gli spazi dei nomi a cui si fa riferimento negli elementi include e import. Se è null, i riferimenti esterni non verranno risolti.

Restituisce

XmlSchema

XmlSchema aggiunto all'insieme di schemi.

Eccezioni

Lo schema non è valido.

Esempio

Nell'esempio seguente viene aggiunto uno schema alla raccolta. Un XmlUrlResolver oggetto viene passato al Add metodo che imposta le credenziali necessarie per accedere alle risorse esterne a cui si fa riferimento nello schema.

XmlSchemaCollection^ sc = gcnew XmlSchemaCollection;
sc->ValidationEventHandler += gcnew ValidationEventHandler( Sample::ValidationCallBack );

// Create a resolver with the necessary credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
System::Net::NetworkCredential^ nc;
nc = gcnew System::Net::NetworkCredential( UserName,SecurelyStoredPassword,Domain );
resolver->Credentials = nc;

// Add the new schema to the collection.
sc->Add( nullptr, gcnew XmlTextReader( "sample.xsd" ), resolver );
XmlSchemaCollection sc = new XmlSchemaCollection();
sc.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);

// Create a resolver with the necessary credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Add the new schema to the collection.
sc.Add("", new XmlTextReader("sample.xsd"), resolver);
Dim sc As XmlSchemaCollection = New XmlSchemaCollection()
AddHandler sc.ValidationEventHandler, AddressOf ValidationCallBack

' Create a resolver with the necessary credentials.
Dim resolver As XmlUrlResolver = New XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials

' Add the new schema to the collection.
sc.Add("", New XmlTextReader("sample.xsd"), resolver)

Commenti

L'attributo targetNamespace viene usato per identificare questo schema.

Se lo schema contiene include elementi e import che fanno riferimento ad altri spazi dei nomi, gli schemi per questi altri spazi dei nomi vengono caricati solo a scopo di convalida. A differenza dello schema originale, questi altri schemi non vengono aggiunti in modo esplicito alla raccolta di schemi. Di conseguenza, non sono accessibili usando i metodi o le proprietà della raccolta.

Importante

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

Vedi anche

Si applica a

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.

public:
 System::Xml::Schema::XmlSchema ^ Add(System::String ^ ns, System::Xml::XmlReader ^ reader, System::Xml::XmlResolver ^ resolver);
public System.Xml.Schema.XmlSchema? Add (string? ns, System.Xml.XmlReader reader, System.Xml.XmlResolver? resolver);
public System.Xml.Schema.XmlSchema Add (string ns, System.Xml.XmlReader reader, System.Xml.XmlResolver resolver);
member this.Add : string * System.Xml.XmlReader * System.Xml.XmlResolver -> System.Xml.Schema.XmlSchema
Public Function Add (ns As String, reader As XmlReader, resolver As XmlResolver) As XmlSchema

Parametri

ns
String

URI dello spazio dei nomi associato allo schema. Per gli schemi XML, corrisponderà in genere a targetNamespace.

reader
XmlReader

XmlReader contenente lo schema da aggiungere.

resolver
XmlResolver

XmlResolver utilizzato per risolvere gli spazi dei nomi a cui si fa riferimento negli elementi include e import o nell'attributo x-schema (schemi XDR). Se è null, i riferimenti esterni non verranno risolti.

Restituisce

XmlSchema

XmlSchema aggiunto all'insieme di schemi. È null se lo schema aggiunto è uno schema XDR oppure in caso di errori di compilazione nello schema.

Eccezioni

Lo schema non è valido.

Commenti

Se ns è già stato associato a un altro schema nella raccolta, lo schema aggiunto sostituisce lo schema originale nella raccolta.

Se ns e null lo schema aggiunto è un XML Schema, il Add metodo usa l'attributo targetNamespace definito nello schema XML per identificare lo schema nella raccolta.

Se lo schema aggiunto contiene riferimenti ad altri spazi dei nomi (tramite include e import elementi o attributo x-schema ), gli schemi per questi altri spazi dei nomi vengono caricati solo a scopo di convalida. A differenza dello schema originale, questi altri schemi non vengono aggiunti in modo esplicito alla raccolta di schemi. Di conseguenza, non sono accessibili usando nessuno dei metodi o delle proprietà della raccolta.

Importante

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

Vedi anche

Si applica a