Udostępnij za pośrednictwem


XmlSchemaCollection.Add Metoda

Definicja

Dodaje dany schemat do kolekcji schematów.

Przeciążenia

Add(XmlSchema)

Dodaje element XmlSchema do kolekcji.

Add(XmlSchemaCollection)

Dodaje do tej kolekcji wszystkie przestrzenie nazw zdefiniowane w danej kolekcji (w tym skojarzone ze nimi schematy).

Add(String, String)

Dodaje schemat znajdujący się według danego adresu URL do kolekcji schematów.

Add(String, XmlReader)

Dodaje schemat zawarty w XmlReader kolekcji schematów.

Add(XmlSchema, XmlResolver)

Dodaje element XmlSchema do kolekcji. Określona XmlResolver wartość służy do rozpoznawania wszelkich odwołań zewnętrznych.

Add(String, XmlReader, XmlResolver)

Dodaje schemat zawarty w XmlReader kolekcji schematów. Określona XmlResolver wartość służy do rozpoznawania wszelkich zasobów zewnętrznych.

Uwagi

Ważne

Klasa XmlSchemaCollection jest przestarzała w .NET Framework w wersji 2.0 i została zastąpiona przez klasęXmlSchemaSet.

Add(XmlSchema)

Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs

Dodaje element XmlSchema do kolekcji.

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

Parametry

schema
XmlSchema

Element XmlSchema do dodania do kolekcji.

Zwraca

Obiekt XmlSchema.

Uwagi

Atrybut służy do identyfikowania targetNamespace tego schematu.

Jeśli dodawany schemat zawiera odwołania do innych przestrzeni nazw (za pośrednictwem include i import ), poziom zaufania aplikacji określa sposób rozpoznawania tych innych przestrzeni nazw. (W .NET Framework w wersji 1.0 jest zawsze używana wartość domyślnaXmlUrlResolver).

Fully trusted code: Ustawienie domyślne XmlUrlResolver bez poświadczeń użytkownika służy do rozpoznawania jakichkolwiek zasobów zewnętrznych. Schematy dla tych innych przestrzeni nazw są ładowane tylko do celów weryfikacji. W przeciwieństwie do oryginalnego schematu te inne schematy nie są jawnie dodawane do kolekcji schematów. W związku z tym nie są one dostępne przy użyciu żadnej z metod lub właściwości kolekcji. Jeśli te zasoby zewnętrzne znajdują się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Semi-trusted code: Odwołania zewnętrzne nie są rozwiązywane.

Uwaga

Jeśli dostęp XmlSchemaCollection do obiektu jest uzyskiwany przy użyciu XmlValidatingReader.Schemas właściwości, Add metoda używa XmlResolver właściwości określonej przez XmlValidatingReader.XmlResolver tę właściwość.

Ważne

Klasa XmlSchemaCollection jest przestarzała w .NET Framework w wersji 2.0 i została zastąpiona przez klasęXmlSchemaSet.

Zobacz też

Dotyczy

Add(XmlSchemaCollection)

Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs

Dodaje do tej kolekcji wszystkie przestrzenie nazw zdefiniowane w danej kolekcji (w tym skojarzone ze nimi schematy).

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)

Parametry

schema
XmlSchemaCollection

Element XmlSchemaCollection , który chcesz dodać do tej kolekcji.

Uwagi

Jeśli dodany schemat zawiera odwołania do innych przestrzeni nazw (za pośrednictwem include elementów i import lub x-schema atrybutu), poziom zaufania aplikacji określa sposób rozpoznawania tych innych przestrzeni nazw. (W .NET Framework w wersji 1.0 jest zawsze używana wartość domyślnaXmlUrlResolver).

Fully trusted code: Ustawienie domyślne XmlUrlResolver bez poświadczeń użytkownika służy do rozpoznawania jakichkolwiek zasobów zewnętrznych. Schematy dla tych innych przestrzeni nazw są ładowane tylko do celów weryfikacji. W przeciwieństwie do oryginalnego schematu te inne schematy nie są jawnie dodawane do kolekcji schematów. W związku z tym nie są one dostępne przy użyciu żadnej z metod lub właściwości kolekcji. Jeśli te zasoby zewnętrzne znajdują się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Semi-trusted code: Odwołania zewnętrzne nie są rozwiązywane.

Uwaga

Jeśli dostęp XmlSchemaCollection do obiektu jest uzyskiwany przy użyciu XmlValidatingReader.Schemas właściwości, Add metoda używa XmlResolver właściwości określonej przez XmlValidatingReader.XmlResolver tę właściwość.

Ważne

Klasa XmlSchemaCollection jest przestarzała w .NET Framework w wersji 2.0 i została zastąpiona przez klasęXmlSchemaSet.

Dotyczy

Add(String, String)

Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs

Dodaje schemat znajdujący się według danego adresu URL do kolekcji schematów.

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

Parametry

ns
String

Identyfikator URI przestrzeni nazw skojarzony ze schematem. W przypadku schematów XML zazwyczaj będzie targetNamespaceto .

uri
String

Adres URL określający schemat do załadowania.

Zwraca

Dodany XmlSchema do kolekcji schematów, null jeśli dodawany schemat jest schematem XDR lub jeśli w schemacie występują błędy kompilacji.

Wyjątki

Schemat nie jest prawidłowym schematem.

Przykłady

Poniższy przykład weryfikuje trzy pliki XML przy użyciu schematów przechowywanych w pliku 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

W przykładzie użyto następujących pięciu plików wejściowych:

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>

Uwagi

Jeśli ns schemat został już skojarzony z innym schematem w kolekcji, dodany schemat zastępuje oryginalny schemat w kolekcji. Na przykład w poniższym kodzie języka C# element authors.xsd jest usuwany z kolekcji i nazwy.xsd jest dodawany.

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

Jeśli ns element jest null i dodawany schemat jest schematem XML, Add metoda używa targetNamespace metody zdefiniowanej w schemacie XML w celu zidentyfikowania schematu w kolekcji. Jeśli dodany schemat zawiera odwołania do innych przestrzeni nazw (za pośrednictwem include elementów i import lub x-schema atrybutu), poziom zaufania aplikacji określa sposób rozpoznawania tych innych przestrzeni nazw. (W .NET Framework w wersji 1.0 jest zawsze używana wartość domyślnaXmlUrlResolver).

Fully trusted code: Ustawienie domyślne XmlUrlResolver bez poświadczeń użytkownika służy do rozpoznawania jakichkolwiek zasobów zewnętrznych. Schematy dla tych innych przestrzeni nazw są ładowane tylko do celów weryfikacji. W przeciwieństwie do oryginalnego schematu te inne schematy nie są jawnie dodawane do kolekcji schematów. W związku z tym nie są one dostępne przy użyciu żadnej z metod lub właściwości kolekcji. Jeśli te zasoby zewnętrzne znajdują się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Semi-trusted code: Odwołania zewnętrzne nie są rozwiązywane.

Uwaga

Jeśli dostęp XmlSchemaCollection do obiektu jest uzyskiwany przy użyciu XmlValidatingReader.Schemas właściwości, Add metoda używa XmlResolver właściwości określonej przez XmlValidatingReader.XmlResolver tę właściwość.

Ważne

Klasa XmlSchemaCollection jest przestarzała w .NET Framework w wersji 2.0 i została zastąpiona przez klasęXmlSchemaSet.

Dotyczy

Add(String, XmlReader)

Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs

Dodaje schemat zawarty w XmlReader kolekcji schematów.

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

Parametry

ns
String

Identyfikator URI przestrzeni nazw skojarzony ze schematem. W przypadku schematów XML zazwyczaj będzie targetNamespaceto .

reader
XmlReader

XmlReader zawierające schemat do dodania.

Zwraca

Dodany XmlSchema do kolekcji schematów, null jeśli dodawany schemat jest schematem XDR lub jeśli w schemacie występują błędy kompilacji.

Wyjątki

Schemat nie jest prawidłowym schematem.

Uwagi

Jeśli ns schemat został już skojarzony z innym schematem w kolekcji, dodany schemat zastępuje oryginalny schemat w kolekcji.

Jeśli ns element jest null i dodawany schemat jest schematem XML, Add metoda używa targetNamespace metody zdefiniowanej w schemacie XML w celu zidentyfikowania schematu w kolekcji.

Jeśli dodany schemat zawiera odwołania do innych przestrzeni nazw (za pośrednictwem include elementów i import lub x-schema atrybutu), poziom zaufania aplikacji określa sposób rozpoznawania tych innych przestrzeni nazw. (W .NET Framework w wersji 1.0 jest zawsze używana wartość domyślnaXmlUrlResolver).

Fully trusted code: Ustawienie domyślne XmlUrlResolver bez poświadczeń użytkownika służy do rozpoznawania jakichkolwiek zasobów zewnętrznych. Schematy dla tych innych przestrzeni nazw są ładowane tylko do celów weryfikacji. W przeciwieństwie do oryginalnego schematu te inne schematy nie są jawnie dodawane do kolekcji schematów. W związku z tym nie są one dostępne przy użyciu żadnej z metod lub właściwości kolekcji. Jeśli te zasoby zewnętrzne znajdują się w zasobie sieciowym, który wymaga uwierzytelniania, użyj przeciążenia, które przyjmuje XmlResolver jako jeden z jego argumentów i określ element XmlResolver z wymaganymi poświadczeniami.

Semi-trusted code: Odwołania zewnętrzne nie są rozwiązywane.

Uwaga

Jeśli dostęp XmlSchemaCollection do obiektu jest uzyskiwany przy użyciu XmlValidatingReader.Schemas właściwości, Add metoda używa XmlResolver właściwości określonej przez XmlValidatingReader.XmlResolver tę właściwość.

Ważne

Klasa XmlSchemaCollection jest przestarzała w .NET Framework w wersji 2.0 i została zastąpiona przez klasęXmlSchemaSet.

Dotyczy

Add(XmlSchema, XmlResolver)

Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs

Dodaje element XmlSchema do kolekcji. Określona XmlResolver wartość służy do rozpoznawania wszelkich odwołań zewnętrznych.

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

Parametry

schema
XmlSchema

Element XmlSchema do dodania do kolekcji.

resolver
XmlResolver

Służy do rozpoznawania XmlResolver przestrzeni nazw, do których odwołuje się element include i import . Jeśli jest nullto , odwołania zewnętrzne nie zostaną rozwiązane.

Zwraca

Element XmlSchema dodany do kolekcji schematów.

Wyjątki

Schemat nie jest prawidłowym schematem.

Przykłady

Poniższy przykład dodaje schemat do kolekcji. Element XmlUrlResolver jest przekazywany do Add metody, która ustawia wymagane poświadczenia wymagane do uzyskania dostępu do wszystkich zasobów zewnętrznych, do których odwołuje się schemat.

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)

Uwagi

Atrybut służy do identyfikowania targetNamespace tego schematu.

Jeśli schemat zawiera include i import elementy odwołujące się do innych przestrzeni nazw, schematy dla tych innych przestrzeni nazw są ładowane tylko do celów weryfikacji. W przeciwieństwie do oryginalnego schematu te inne schematy nie są jawnie dodawane do kolekcji schematów. W związku z tym nie są one dostępne przy użyciu żadnej z metod lub właściwości kolekcji.

Ważne

Klasa XmlSchemaCollection jest przestarzała w .NET Framework w wersji 2.0 i została zastąpiona przez klasęXmlSchemaSet.

Zobacz też

Dotyczy

Add(String, XmlReader, XmlResolver)

Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs
Źródło:
XmlSchemaCollection.cs

Dodaje schemat zawarty w XmlReader kolekcji schematów. Określona XmlResolver wartość służy do rozpoznawania wszelkich zasobów zewnętrznych.

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

Parametry

ns
String

Identyfikator URI przestrzeni nazw skojarzony ze schematem. W przypadku schematów XML zazwyczaj będzie targetNamespaceto .

reader
XmlReader

XmlReader zawierające schemat do dodania.

resolver
XmlResolver

Służy do rozpoznawania XmlResolver przestrzeni nazw przywołynych w include elementach i import elementach lub x-schema atrybutach (schematy XDR). Jeśli jest nullto , odwołania zewnętrzne nie zostaną rozwiązane.

Zwraca

Dodany XmlSchema do kolekcji schematów, null jeśli dodawany schemat jest schematem XDR lub jeśli w schemacie występują błędy kompilacji.

Wyjątki

Schemat nie jest prawidłowym schematem.

Uwagi

Jeśli ns schemat został już skojarzony z innym schematem w kolekcji, dodany schemat zastępuje oryginalny schemat w kolekcji.

Jeśli ns element jest null i dodawany schemat jest schematem XML, Add metoda używa targetNamespace atrybutu zdefiniowanego w schemacie XML w celu zidentyfikowania schematu w kolekcji.

Jeśli dodawany schemat zawiera odwołania do innych przestrzeni nazw (za pośrednictwem include i i import lub x-schema atrybutu), schematy dla tych innych przestrzeni nazw są ładowane tylko do celów weryfikacji. W przeciwieństwie do oryginalnego schematu te inne schematy nie są jawnie dodawane do kolekcji schematów. W związku z tym nie są one dostępne przy użyciu żadnej z metod lub właściwości kolekcji.

Ważne

Klasa XmlSchemaCollection jest przestarzała w .NET Framework w wersji 2.0 i została zastąpiona przez klasęXmlSchemaSet.

Zobacz też

Dotyczy