Aracılığıyla paylaş


XmlSchemaCollection.Add Yöntem

Tanım

Verilen şemayı şema koleksiyonuna ekler.

Aşırı Yüklemeler

Add(XmlSchema)

öğesini XmlSchema koleksiyona ekler.

Add(XmlSchemaCollection)

Verilen koleksiyonda tanımlanan tüm ad alanlarını (ilişkili şemaları dahil) bu koleksiyona ekler.

Add(String, String)

Verilen URL tarafından bulunan şemayı şema koleksiyonuna ekler.

Add(String, XmlReader)

içinde bulunan şemayı XmlReader şema koleksiyonuna ekler.

Add(XmlSchema, XmlResolver)

öğesini XmlSchema koleksiyona ekler. Belirtilen XmlResolver , dış başvuruları çözümlemek için kullanılır.

Add(String, XmlReader, XmlResolver)

içinde bulunan şemayı XmlReader şema koleksiyonuna ekler. Belirtilen XmlResolver , dış kaynakları çözümlemek için kullanılır.

Açıklamalar

Önemli

sınıfıXmlSchemaCollection, .NET Framework sürüm 2.0'da kullanımdan kaldırılmıştır ve sınıfı tarafından XmlSchemaSet değiştirilmiştir.

Add(XmlSchema)

öğesini XmlSchema koleksiyona ekler.

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

Parametreler

schema
XmlSchema

XmlSchema koleksiyonuna eklenecek öğesini seçin.

Döndürülenler

XmlSchema

XmlSchema nesnesi.

Açıklamalar

targetNamespace özniteliği bu şemayı tanımlamak için kullanılır.

Eklenen şema diğer ad alanlarına (ve import öğeleri aracılığıylainclude) başvurular içeriyorsa, uygulamanın güven düzeyi bu diğer ad alanlarının nasıl çözümleneceğini belirler. (.NET Framework sürüm 1.0'da varsayılan değer XmlUrlResolver her zaman kullanılmıştır).

Fully trusted code: Dış kaynakları çözümlemek için kullanıcı kimlik bilgileri olmayan bir varsayılan XmlUrlResolver kullanılır. Bu diğer ad alanlarının şemaları yalnızca doğrulama amacıyla yüklenir. Özgün şemanın aksine, bu diğer şemalar şema koleksiyonuna açıkça eklenmez. Sonuç olarak, koleksiyon yöntemlerinden veya özelliklerinden herhangi biri kullanılarak erişilebilir değildir. Bu dış kaynaklar kimlik doğrulaması gerektiren bir ağ kaynağında bulunuyorsa, bağımsız değişkenlerinden biri olarak bir XmlResolver alan ve gerekli kimlik bilgileriyle bir belirten bir XmlResolver aşırı yükleme kullanın.

Semi-trusted code: Dış başvurular çözümlenmez.

Not

XmlSchemaCollection özelliği kullanılarak XmlValidatingReader.Schemas öğesine erişiliyorsa yöntemi özelliği Add tarafından belirtilen değerini XmlResolver XmlValidatingReader.XmlResolver kullanır.

Önemli

sınıfıXmlSchemaCollection, .NET Framework sürüm 2.0'da kullanımdan kaldırılmıştır ve sınıfı tarafından XmlSchemaSet değiştirilmiştir.

Ayrıca bkz.

Şunlara uygulanır

Add(XmlSchemaCollection)

Verilen koleksiyonda tanımlanan tüm ad alanlarını (ilişkili şemaları dahil) bu koleksiyona ekler.

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)

Parametreler

schema
XmlSchemaCollection

XmlSchemaCollection Bu koleksiyona eklemek istediğiniz.

Açıklamalar

Eklenen şema diğer ad alanlarına (ve import öğeleri veya x-schema özniteliği aracılığıylainclude) başvurular içeriyorsa, uygulamanın güven düzeyi bu diğer ad alanlarının nasıl çözümleneceğini belirler. (.NET Framework sürüm 1.0'da varsayılan değer XmlUrlResolver her zaman kullanılmıştır).

Fully trusted code: Dış kaynakları çözümlemek için kullanıcı kimlik bilgileri olmayan bir varsayılan XmlUrlResolver kullanılır. Bu diğer ad alanlarının şemaları yalnızca doğrulama amacıyla yüklenir. Özgün şemanın aksine, bu diğer şemalar şema koleksiyonuna açıkça eklenmez. Sonuç olarak, koleksiyon yöntemlerinden veya özelliklerinden herhangi biri kullanılarak erişilebilir değildir. Bu dış kaynaklar kimlik doğrulaması gerektiren bir ağ kaynağında bulunuyorsa, bağımsız değişkenlerinden biri olarak bir XmlResolver alan ve gerekli kimlik bilgileriyle bir belirten bir XmlResolver aşırı yükleme kullanın.

Semi-trusted code: Dış başvurular çözümlenmez.

Not

XmlSchemaCollection özelliği kullanılarak XmlValidatingReader.Schemas öğesine erişiliyorsa yöntemi özelliği Add tarafından belirtilen değerini XmlResolver XmlValidatingReader.XmlResolver kullanır.

Önemli

sınıfıXmlSchemaCollection, .NET Framework sürüm 2.0'da kullanımdan kaldırılmıştır ve sınıfı tarafından XmlSchemaSet değiştirilmiştir.

Şunlara uygulanır

Add(String, String)

Verilen URL tarafından bulunan şemayı şema koleksiyonuna ekler.

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

Parametreler

ns
String

Şemayla ilişkili ad alanı URI'si. XML Şemaları için bu genellikle olur targetNamespace.

uri
String

Yüklendiği şemayı belirten URL.

Döndürülenler

XmlSchema

Şema XmlSchema koleksiyonuna eklenen; null eklenen şema bir XDR şemasıysa veya şemada derleme hataları varsa.

Özel durumlar

Şema geçerli bir şema değil.

Örnekler

Aşağıdaki örnek, içinde XmlSchemaCollectiondepolanan şemaları kullanarak üç XML dosyasını doğrular.

#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

Örnek aşağıdaki beş giriş dosyasını kullanır:

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>

Açıklamalar

Koleksiyondaki başka bir şemayla zaten ilişkilendirilmişse ns , eklenen şema koleksiyondaki özgün şemanın yerini alır. Örneğin, aşağıdaki C# kodunda authors.xsd koleksiyonundan kaldırılır ve names.xsd eklenir.

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

ise ns null ve eklenen şema bir XML Şeması ise yöntemi, Add koleksiyondaki şemayı targetNamespace tanımlamak için XML Şeması'nda tanımlanan öğesini kullanır. Eklenen şema diğer ad alanlarına (ve import öğeleri veya x-schema özniteliği aracılığıylainclude) başvurular içeriyorsa, uygulamanın güven düzeyi bu diğer ad alanlarının nasıl çözümleneceğini belirler. (.NET Framework sürüm 1.0'da varsayılan değer XmlUrlResolver her zaman kullanılmıştır).

Fully trusted code: Dış kaynakları çözümlemek için kullanıcı kimlik bilgileri olmayan bir varsayılan XmlUrlResolver kullanılır. Bu diğer ad alanlarının şemaları yalnızca doğrulama amacıyla yüklenir. Özgün şemanın aksine, bu diğer şemalar şema koleksiyonuna açıkça eklenmez. Sonuç olarak, koleksiyon yöntemlerinden veya özelliklerinden herhangi biri kullanılarak erişilebilir değildir. Bu dış kaynaklar kimlik doğrulaması gerektiren bir ağ kaynağında bulunuyorsa, bağımsız değişkenlerinden biri olarak bir XmlResolver alan ve gerekli kimlik bilgileriyle bir belirten bir XmlResolver aşırı yükleme kullanın.

Semi-trusted code: Dış başvurular çözümlenmez.

Not

XmlSchemaCollection özelliği kullanılarak XmlValidatingReader.Schemas öğesine erişiliyorsa yöntemi özelliği Add tarafından belirtilen değerini XmlResolver XmlValidatingReader.XmlResolver kullanır.

Önemli

sınıfıXmlSchemaCollection, .NET Framework sürüm 2.0'da kullanımdan kaldırılmıştır ve sınıfı tarafından XmlSchemaSet değiştirilmiştir.

Şunlara uygulanır

Add(String, XmlReader)

içinde bulunan şemayı XmlReader şema koleksiyonuna ekler.

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

Parametreler

ns
String

Şemayla ilişkili ad alanı URI'si. XML Şemaları için bu genellikle olur targetNamespace.

reader
XmlReader

XmlReader eklenecek şemayı içerir.

Döndürülenler

XmlSchema

Şema XmlSchema koleksiyonuna eklenen; null eklenen şema bir XDR şemasıysa veya şemada derleme hataları varsa.

Özel durumlar

Şema geçerli bir şema değil.

Açıklamalar

Koleksiyondaki başka bir şemayla zaten ilişkilendirilmişse ns , eklenen şema koleksiyondaki özgün şemanın yerini alır.

ise ns null ve eklenen şema bir XML Şeması ise yöntemi, Add koleksiyondaki şemayı targetNamespace tanımlamak için XML Şeması'nda tanımlanan öğesini kullanır.

Eklenen şema diğer ad alanlarına (ve import öğeleri veya x-schema özniteliği aracılığıylainclude) başvurular içeriyorsa, uygulamanın güven düzeyi bu diğer ad alanlarının nasıl çözümleneceğini belirler. (.NET Framework sürüm 1.0'da varsayılan değer XmlUrlResolver her zaman kullanılmıştır).

Fully trusted code: Dış kaynakları çözümlemek için kullanıcı kimlik bilgileri olmayan bir varsayılan XmlUrlResolver kullanılır. Bu diğer ad alanlarının şemaları yalnızca doğrulama amacıyla yüklenir. Özgün şemanın aksine, bu diğer şemalar şema koleksiyonuna açıkça eklenmez. Sonuç olarak, koleksiyon yöntemlerinden veya özelliklerinden herhangi biri kullanılarak erişilebilir değildir. Bu dış kaynaklar kimlik doğrulaması gerektiren bir ağ kaynağında bulunuyorsa, bağımsız değişkenlerinden biri olarak bir XmlResolver alan ve gerekli kimlik bilgileriyle bir belirten bir XmlResolver aşırı yükleme kullanın.

Semi-trusted code: Dış başvurular çözümlenmez.

Not

XmlSchemaCollection özelliği kullanılarak XmlValidatingReader.Schemas öğesine erişiliyorsa yöntemi özelliği Add tarafından belirtilen değerini XmlResolver XmlValidatingReader.XmlResolver kullanır.

Önemli

sınıfıXmlSchemaCollection, .NET Framework sürüm 2.0'da kullanımdan kaldırılmıştır ve sınıfı tarafından XmlSchemaSet değiştirilmiştir.

Şunlara uygulanır

Add(XmlSchema, XmlResolver)

öğesini XmlSchema koleksiyona ekler. Belirtilen XmlResolver , dış başvuruları çözümlemek için kullanılır.

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

Parametreler

schema
XmlSchema

XmlSchema koleksiyonuna eklenecek öğesini seçin.

resolver
XmlResolver

ve XmlResolver import öğelerinde başvuruda bulunan ad alanlarını çözümlemek include için kullanılır. Bu ise null, dış başvurular çözümlenmez.

Döndürülenler

XmlSchema

şema XmlSchema koleksiyonuna eklendi.

Özel durumlar

Şema geçerli bir şema değil.

Örnekler

Aşağıdaki örnek koleksiyona bir şema ekler. , XmlUrlResolver şemada Add başvurulan dış kaynaklara erişmek için gereken kimlik bilgilerini ayarlayan yöntemine geçirilir.

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)

Açıklamalar

targetNamespace özniteliği bu şemayı tanımlamak için kullanılır.

Şema diğer ad alanlarına başvuran ve import öğeleri içeriyorsainclude, bu diğer ad alanlarının şemaları yalnızca doğrulama amacıyla yüklenir. Özgün şemanın aksine, bu diğer şemalar şema koleksiyonuna açıkça eklenmez. Sonuç olarak, koleksiyon yöntemlerinden veya özelliklerinden herhangi biri kullanılarak erişilebilir değildir.

Önemli

sınıfıXmlSchemaCollection, .NET Framework sürüm 2.0'da kullanımdan kaldırılmıştır ve sınıfı tarafından XmlSchemaSet değiştirilmiştir.

Ayrıca bkz.

Şunlara uygulanır

Add(String, XmlReader, XmlResolver)

içinde bulunan şemayı XmlReader şema koleksiyonuna ekler. Belirtilen XmlResolver , dış kaynakları çözümlemek için kullanılır.

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

Parametreler

ns
String

Şemayla ilişkili ad alanı URI'si. XML Şemaları için bu genellikle olur targetNamespace.

reader
XmlReader

XmlReader eklenecek şemayı içerir.

resolver
XmlResolver

ve XmlResolver öğelerinde x-schema veya özniteliğinde include import başvuruda bulunan ad alanlarını çözümlemek için kullanılır (XDR şemaları). Bu ise null, dış başvurular çözümlenmez.

Döndürülenler

XmlSchema

Şema XmlSchema koleksiyonuna eklenen; null eklenen şema bir XDR şemasıysa veya şemada derleme hataları varsa.

Özel durumlar

Şema geçerli bir şema değil.

Açıklamalar

Koleksiyondaki başka bir şemayla zaten ilişkilendirilmişse ns , eklenen şema koleksiyondaki özgün şemanın yerini alır.

ise ns null ve eklenen şema bir XML Şeması ise yöntemi, Add koleksiyondaki şemayı targetNamespace tanımlamak için XML Şemasında tanımlanan özniteliğini kullanır.

Eklenen şema diğer ad alanlarına (ve import öğeleri veya x-schema özniteliği aracılığıylainclude) başvurular içeriyorsa, bu diğer ad alanlarının şemaları yalnızca doğrulama amacıyla yüklenir. Özgün şemanın aksine, bu diğer şemalar şema koleksiyonuna açıkça eklenmez. Sonuç olarak, koleksiyon yöntemlerinden veya özelliklerinden herhangi biri kullanılarak erişilebilir değildir.

Önemli

sınıfıXmlSchemaCollection, .NET Framework sürüm 2.0'da kullanımdan kaldırılmıştır ve sınıfı tarafından XmlSchemaSet değiştirilmiştir.

Ayrıca bkz.

Şunlara uygulanır