Partager via


XmlSchemaCollection.Add Méthode

Définition

Ajoute le schéma donné à la collection de schémas.

Surcharges

Add(XmlSchema)

Ajoute le XmlSchema à la collection.

Add(XmlSchemaCollection)

Ajoute tous les espaces de noms définis dans la collection donnée (y compris les schémas associés) à cette collection.

Add(String, String)

Ajoute le schéma indiqué par l'URL donnée à la collection de schémas.

Add(String, XmlReader)

Ajoute le schéma contenu dans XmlReader à la collection de schémas.

Add(XmlSchema, XmlResolver)

Ajoute le XmlSchema à la collection. Le XmlResolver spécifié permet de résoudre les références externes.

Add(String, XmlReader, XmlResolver)

Ajoute le schéma contenu dans XmlReader à la collection de schémas. Le XmlResolver spécifié permet de résoudre les ressources externes.

Remarques

Important

La XmlSchemaCollection classe est obsolète dans .NET Framework version 2.0 et a été remplacée par la XmlSchemaSet classe.

Add(XmlSchema)

Ajoute le XmlSchema à la collection.

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

Paramètres

schema
XmlSchema

Objet XmlSchema à ajouter à la collection.

Retours

XmlSchema

Objet XmlSchema.

Remarques

L’attribut targetNamespace est utilisé pour identifier ce schéma.

Si le schéma ajouté contient des références à d’autres espaces de noms (via include et import éléments), le niveau d’approbation de l’application détermine comment ces autres espaces de noms sont résolus. (Dans .NET Framework version 1.0, une valeur par défaut XmlUrlResolver a toujours été utilisée).

Fully trusted code: Une valeur par défaut XmlUrlResolver sans informations d’identification utilisateur n’est utilisée pour résoudre toutes les ressources externes. Les schémas de ces autres espaces de noms sont chargés uniquement à des fins de validation. Contrairement au schéma d’origine, ces autres schémas ne sont pas explicitement ajoutés à la collection de schémas. Par conséquent, ils ne sont pas accessibles à l’aide d’aucune des méthodes ou propriétés de collection. Si ces ressources externes se trouvent sur une ressource réseau qui nécessite une authentification, utilisez une surcharge qui prend l’un XmlResolver de ses arguments et spécifiez une XmlResolver avec les informations d’identification nécessaires.

Semi-trusted code: Les références externes ne sont pas résolues.

Notes

Si l’accès XmlSchemaCollection est accessible à l’aide de la XmlValidatingReader.Schemas propriété, la Add méthode utilise la XmlResolver propriété spécifiée XmlValidatingReader.XmlResolver .

Important

La XmlSchemaCollection classe est obsolète dans .NET Framework version 2.0 et a été remplacée par la XmlSchemaSet classe.

Voir aussi

S’applique à

Add(XmlSchemaCollection)

Ajoute tous les espaces de noms définis dans la collection donnée (y compris les schémas associés) à cette collection.

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)

Paramètres

schema
XmlSchemaCollection

XmlSchemaCollection que vous souhaitez ajouter à la collection.

Remarques

Si le schéma ajouté contient des références à d’autres espaces de noms (par le biais include et import les éléments ou l’attribut x-schema ), le niveau d’approbation de l’application détermine la façon dont ces autres espaces de noms sont résolus. (Dans .NET Framework version 1.0, une valeur par défaut XmlUrlResolver a toujours été utilisée).

Fully trusted code: Une valeur par défaut XmlUrlResolver sans informations d’identification utilisateur n’est utilisée pour résoudre toutes les ressources externes. Les schémas de ces autres espaces de noms sont chargés uniquement à des fins de validation. Contrairement au schéma d’origine, ces autres schémas ne sont pas explicitement ajoutés à la collection de schémas. Par conséquent, ils ne sont pas accessibles à l’aide d’aucune des méthodes ou propriétés de collection. Si ces ressources externes se trouvent sur une ressource réseau qui nécessite une authentification, utilisez une surcharge qui prend l’un XmlResolver de ses arguments et spécifiez une XmlResolver avec les informations d’identification nécessaires.

Semi-trusted code: Les références externes ne sont pas résolues.

Notes

Si l’accès XmlSchemaCollection est accessible à l’aide de la XmlValidatingReader.Schemas propriété, la Add méthode utilise la XmlResolver propriété spécifiée XmlValidatingReader.XmlResolver .

Important

La XmlSchemaCollection classe est obsolète dans .NET Framework version 2.0 et a été remplacée par la XmlSchemaSet classe.

S’applique à

Add(String, String)

Ajoute le schéma indiqué par l'URL donnée à la collection de schémas.

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

Paramètres

ns
String

URI d'espace de noms associé au schéma. Pour les schémas XML, il s'agit généralement de targetNamespace.

uri
String

URL qui spécifie le schéma à charger.

Retours

XmlSchema

XmlSchema ajouté à la collection de schémas ; null si le schéma ajouté est de type XDR (XML-Data Reduced), ou si celui-ci présente des erreurs de compilation.

Exceptions

Le schéma n'est pas valide.

Exemples

L’exemple suivant valide trois fichiers XML à l’aide de schémas stockés dans le 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’exemple utilise les cinq fichiers d’entrée suivants :

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>

Remarques

S’il ns a déjà été associé à un autre schéma dans la collection, le schéma ajouté remplace le schéma d’origine dans la collection. Par exemple, dans le code C# suivant, les auteurs.xsd sont supprimés de la collection et des noms.xsd sont ajoutés.

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

Si ns le schéma est null ajouté et est un schéma XML, la Add méthode utilise la targetNamespace méthode définie dans le schéma XML pour identifier le schéma dans la collection. Si le schéma ajouté contient des références à d’autres espaces de noms (par le biais include et import les éléments ou l’attribut x-schema ), le niveau d’approbation de l’application détermine la façon dont ces autres espaces de noms sont résolus. (Dans .NET Framework version 1.0, une valeur par défaut XmlUrlResolver a toujours été utilisée).

Fully trusted code: Une valeur par défaut XmlUrlResolver sans informations d’identification utilisateur n’est utilisée pour résoudre toutes les ressources externes. Les schémas de ces autres espaces de noms sont chargés uniquement à des fins de validation. Contrairement au schéma d’origine, ces autres schémas ne sont pas explicitement ajoutés à la collection de schémas. Par conséquent, ils ne sont pas accessibles à l’aide d’aucune des méthodes ou propriétés de collection. Si ces ressources externes se trouvent sur une ressource réseau qui nécessite une authentification, utilisez une surcharge qui prend l’un XmlResolver de ses arguments et spécifiez une XmlResolver avec les informations d’identification nécessaires.

Semi-trusted code: Les références externes ne sont pas résolues.

Notes

Si l’accès XmlSchemaCollection est accessible à l’aide de la XmlValidatingReader.Schemas propriété, la Add méthode utilise la XmlResolver propriété spécifiée XmlValidatingReader.XmlResolver .

Important

La XmlSchemaCollection classe est obsolète dans .NET Framework version 2.0 et a été remplacée par la XmlSchemaSet classe.

S’applique à

Add(String, XmlReader)

Ajoute le schéma contenu dans XmlReader à la collection de schémas.

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

Paramètres

ns
String

URI d'espace de noms associé au schéma. Pour les schémas XML, il s'agit généralement de targetNamespace.

reader
XmlReader

XmlReader contenant le schéma à ajouter.

Retours

XmlSchema

XmlSchema ajouté à la collection de schémas ; null si le schéma ajouté est de type XDR (XML-Data Reduced), ou si celui-ci présente des erreurs de compilation.

Exceptions

Le schéma n'est pas valide.

Remarques

S’il ns a déjà été associé à un autre schéma dans la collection, le schéma ajouté remplace le schéma d’origine dans la collection.

Si ns le schéma est null ajouté et est un schéma XML, la Add méthode utilise la targetNamespace méthode définie dans le schéma XML pour identifier le schéma dans la collection.

Si le schéma ajouté contient des références à d’autres espaces de noms (par le biais include et import les éléments ou l’attribut x-schema ), le niveau d’approbation de l’application détermine la façon dont ces autres espaces de noms sont résolus. (Dans .NET Framework version 1.0, une valeur par défaut XmlUrlResolver a toujours été utilisée).

Fully trusted code: Une valeur par défaut XmlUrlResolver sans informations d’identification utilisateur n’est utilisée pour résoudre toutes les ressources externes. Les schémas de ces autres espaces de noms sont chargés uniquement à des fins de validation. Contrairement au schéma d’origine, ces autres schémas ne sont pas explicitement ajoutés à la collection de schémas. Par conséquent, ils ne sont pas accessibles à l’aide d’aucune des méthodes ou propriétés de collection. Si ces ressources externes se trouvent sur une ressource réseau qui nécessite une authentification, utilisez une surcharge qui prend l’un XmlResolver de ses arguments et spécifiez une XmlResolver avec les informations d’identification nécessaires.

Semi-trusted code: Les références externes ne sont pas résolues.

Notes

Si l’accès XmlSchemaCollection est accessible à l’aide de la XmlValidatingReader.Schemas propriété, la Add méthode utilise la XmlResolver propriété spécifiée XmlValidatingReader.XmlResolver .

Important

La XmlSchemaCollection classe est obsolète dans .NET Framework version 2.0 et a été remplacée par la XmlSchemaSet classe.

S’applique à

Add(XmlSchema, XmlResolver)

Ajoute le XmlSchema à la collection. Le XmlResolver spécifié permet de résoudre les références externes.

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

Paramètres

schema
XmlSchema

Objet XmlSchema à ajouter à la collection.

resolver
XmlResolver

XmlResolver utilisé pour résoudre les espaces de noms référencés par les éléments include et import. Si la valeur est null, les ressources externes ne sont pas résolues.

Retours

XmlSchema

XmlSchema ajouté à la collection de schémas.

Exceptions

Le schéma n'est pas valide.

Exemples

L’exemple suivant ajoute un schéma à la collection. Une XmlUrlResolver méthode définit Add les informations d’identification nécessaires pour accéder à toutes les ressources externes référencées dans le schéma.

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)

Remarques

L’attribut targetNamespace est utilisé pour identifier ce schéma.

Si le schéma contient et import les include éléments qui référencent d’autres espaces de noms, les schémas de ces autres espaces de noms sont chargés uniquement à des fins de validation. Contrairement au schéma d’origine, ces autres schémas ne sont pas explicitement ajoutés à la collection de schémas. Par conséquent, ils ne sont pas accessibles à l’aide d’aucune des méthodes ou propriétés de collection.

Important

La XmlSchemaCollection classe est obsolète dans .NET Framework version 2.0 et a été remplacée par la XmlSchemaSet classe.

Voir aussi

S’applique à

Add(String, XmlReader, XmlResolver)

Ajoute le schéma contenu dans XmlReader à la collection de schémas. Le XmlResolver spécifié permet de résoudre les ressources externes.

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

Paramètres

ns
String

URI d'espace de noms associé au schéma. Pour les schémas XML, il s'agit généralement de targetNamespace.

reader
XmlReader

XmlReader contenant le schéma à ajouter.

resolver
XmlResolver

XmlResolver utilisé pour résoudre les espaces de noms référencés par les éléments include et import, ou par l'attribut x-schema (schémas XDR). Si la valeur est null, les ressources externes ne sont pas résolues.

Retours

XmlSchema

XmlSchema ajouté à la collection de schémas ; null si le schéma ajouté est de type XDR (XML-Data Reduced), ou si celui-ci présente des erreurs de compilation.

Exceptions

Le schéma n'est pas valide.

Remarques

S’il ns a déjà été associé à un autre schéma dans la collection, le schéma ajouté remplace le schéma d’origine dans la collection.

Si ns le schéma est null ajouté et est un schéma XML, la Add méthode utilise l’attribut targetNamespace défini dans le schéma XML pour identifier le schéma dans la collection.

Si le schéma ajouté contient des références à d’autres espaces de noms (par le biais include et import les éléments ou l’attribut x-schema ), les schémas de ces autres espaces de noms sont chargés uniquement à des fins de validation. Contrairement au schéma d’origine, ces autres schémas ne sont pas explicitement ajoutés à la collection de schémas. Par conséquent, ils ne sont pas accessibles à l’aide d’aucune des méthodes ou propriétés de collection.

Important

La XmlSchemaCollection classe est obsolète dans .NET Framework version 2.0 et a été remplacée par la XmlSchemaSet classe.

Voir aussi

S’applique à