Sdílet prostřednictvím


XmlSchemaCollection.Add Metoda

Definice

Přidá dané schéma do kolekce schémat.

Přetížení

Add(XmlSchema)

Přidá do XmlSchema kolekce.

Add(XmlSchemaCollection)

Přidá do této kolekce všechny obory názvů definované v dané kolekci (včetně jejich přidružených schémat).

Add(String, String)

Přidá schéma umístěné podle dané adresy URL do kolekce schématu.

Add(String, XmlReader)

Přidá schéma obsažené v XmlReader kolekci schémat.

Add(XmlSchema, XmlResolver)

Přidá do XmlSchema kolekce. XmlResolver Zadaný se používá k překladu externích odkazů.

Add(String, XmlReader, XmlResolver)

Přidá schéma obsažené v XmlReader kolekci schématu. Zadaná XmlResolver funkce slouží k překladu všech externích prostředků.

Poznámky

Důležité

Třída XmlSchemaCollection je zastaralá v rozhraní .NET Framework verze 2.0 a byla nahrazena XmlSchemaSet třídou.

Add(XmlSchema)

Přidá do XmlSchema kolekce.

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

Přidání XmlSchema do kolekce

Návraty

XmlSchema

Objekt XmlSchema

Poznámky

Atribut targetNamespace se používá k identifikaci tohoto schématu.

Pokud přidané schéma obsahuje odkazy na jiné obory názvů (prostřednictvím include a import prvky), úroveň důvěryhodnosti aplikace určuje způsob řešení těchto dalších oborů názvů. (V rozhraní .NET Framework verze 1.0 byla vždy použita výchozí XmlUrlResolver hodnota).

Fully trusted code: Výchozí XmlUrlResolver nastavení bez uživatelských přihlašovacích údajů se používá k překladu externích prostředků. Schémata pro tyto ostatní obory názvů se načítají pouze pro účely ověřování. Na rozdíl od původního schématu nejsou tato další schémata explicitně přidána do kolekce schémat. V důsledku toho nejsou přístupné pomocí žádné z metod nebo vlastností kolekce. Pokud jsou tyto externí prostředky umístěny v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a zadejte XmlResolver s potřebnými přihlašovacími údaji.

Semi-trusted code: Externí odkazy nejsou vyřešeny.

Poznámka

XmlSchemaCollection Pokud se k XmlValidatingReader.Schemas vlastnosti přistupuje, Add použije metoda XmlResolver určenou vlastnostíXmlValidatingReader.XmlResolver.

Důležité

Třída XmlSchemaCollection je zastaralá v rozhraní .NET Framework verze 2.0 a byla nahrazena XmlSchemaSet třídou.

Viz také

Platí pro

Add(XmlSchemaCollection)

Přidá do této kolekce všechny obory názvů definované v dané kolekci (včetně jejich přidružených schémat).

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

Do XmlSchemaCollection této kolekce chcete přidat.

Poznámky

Pokud přidané schéma obsahuje odkazy na jiné obory názvů (prostřednictvím include a import prvky nebo x-schema atribut), úroveň důvěryhodnosti aplikace určuje způsob řešení těchto dalších oborů názvů. (V rozhraní .NET Framework verze 1.0 byla vždy použita výchozí XmlUrlResolver hodnota).

Fully trusted code: Výchozí XmlUrlResolver nastavení bez uživatelských přihlašovacích údajů se používá k překladu externích prostředků. Schémata pro tyto ostatní obory názvů se načítají pouze pro účely ověřování. Na rozdíl od původního schématu nejsou tato další schémata explicitně přidána do kolekce schémat. V důsledku toho nejsou přístupné pomocí žádné z metod nebo vlastností kolekce. Pokud jsou tyto externí prostředky umístěny v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a zadejte XmlResolver s potřebnými přihlašovacími údaji.

Semi-trusted code: Externí odkazy nejsou vyřešeny.

Poznámka

XmlSchemaCollection Pokud se k XmlValidatingReader.Schemas vlastnosti přistupuje, Add použije metoda XmlResolver určenou vlastnostíXmlValidatingReader.XmlResolver.

Důležité

Třída XmlSchemaCollection je zastaralá v rozhraní .NET Framework verze 2.0 a byla nahrazena XmlSchemaSet třídou.

Platí pro

Add(String, String)

Přidá schéma umístěné podle dané adresy URL do kolekce schématu.

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

Identifikátor URI oboru názvů přidružený ke schématu. U schémat XML to obvykle bude targetNamespace.

uri
String

Adresa URL, která určuje schéma, které se má načíst.

Návraty

XmlSchema

Přidání XmlSchema do kolekce schématu; null pokud je přidané schéma XDR nebo pokud ve schématu dochází k chybám kompilace.

Výjimky

Schéma není platné schéma.

Příklady

Následující příklad ověří tři soubory XML pomocí schémat uložených v souboru 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

Ukázka používá následující pět vstupních souborů:

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>

Poznámky

Pokud ns již bylo přidruženo k jinému schématu v kolekci, nahradí přidané schéma původní schéma v kolekci. Například v následujícím kódu jazyka C# se autor.xsd odebere z kolekce a přidá se názvy.xsd.

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

Pokud ns je null a přidané schéma je schéma XML, Add metoda používá targetNamespace definované ve schématu XML k identifikaci schématu v kolekci. Pokud přidané schéma obsahuje odkazy na jiné obory názvů (prostřednictvím include a import prvky nebo x-schema atribut), úroveň důvěryhodnosti aplikace určuje způsob řešení těchto dalších oborů názvů. (V rozhraní .NET Framework verze 1.0 byla vždy použita výchozí XmlUrlResolver hodnota).

Fully trusted code: Výchozí XmlUrlResolver nastavení bez uživatelských přihlašovacích údajů se používá k překladu externích prostředků. Schémata pro tyto ostatní obory názvů se načítají pouze pro účely ověřování. Na rozdíl od původního schématu nejsou tato další schémata explicitně přidána do kolekce schémat. V důsledku toho nejsou přístupné pomocí žádné z metod nebo vlastností kolekce. Pokud jsou tyto externí prostředky umístěny v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a zadejte XmlResolver s potřebnými přihlašovacími údaji.

Semi-trusted code: Externí odkazy nejsou vyřešeny.

Poznámka

XmlSchemaCollection Pokud se k XmlValidatingReader.Schemas vlastnosti přistupuje, Add použije metoda XmlResolver určenou vlastnostíXmlValidatingReader.XmlResolver.

Důležité

Třída XmlSchemaCollection je zastaralá v rozhraní .NET Framework verze 2.0 a byla nahrazena XmlSchemaSet třídou.

Platí pro

Add(String, XmlReader)

Přidá schéma obsažené v XmlReader kolekci schémat.

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

Identifikátor URI oboru názvů přidružený ke schématu. U schémat XML to obvykle bude targetNamespace.

reader
XmlReader

XmlReader obsahující schéma, které chcete přidat.

Návraty

XmlSchema

Přidání XmlSchema do kolekce schématu; null pokud je přidané schéma XDR nebo pokud ve schématu dochází k chybám kompilace.

Výjimky

Schéma není platné schéma.

Poznámky

Pokud ns již bylo přidruženo k jinému schématu v kolekci, nahradí přidané schéma původní schéma v kolekci.

Pokud ns je null a přidané schéma je schéma XML, Add metoda používá targetNamespace definované ve schématu XML k identifikaci schématu v kolekci.

Pokud přidané schéma obsahuje odkazy na jiné obory názvů (prostřednictvím include a import prvky nebo x-schema atribut), úroveň důvěryhodnosti aplikace určuje způsob řešení těchto dalších oborů názvů. (V rozhraní .NET Framework verze 1.0 byla vždy použita výchozí XmlUrlResolver hodnota).

Fully trusted code: Výchozí XmlUrlResolver nastavení bez uživatelských přihlašovacích údajů se používá k překladu externích prostředků. Schémata pro tyto ostatní obory názvů se načítají pouze pro účely ověřování. Na rozdíl od původního schématu nejsou tato další schémata explicitně přidána do kolekce schémat. V důsledku toho nejsou přístupné pomocí žádné z metod nebo vlastností kolekce. Pokud jsou tyto externí prostředky umístěny v síťovém prostředku, který vyžaduje ověření, použijte přetížení, které přebírá XmlResolver jako jeden z jeho argumentů a zadejte XmlResolver s potřebnými přihlašovacími údaji.

Semi-trusted code: Externí odkazy nejsou vyřešeny.

Poznámka

XmlSchemaCollection Pokud se k XmlValidatingReader.Schemas vlastnosti přistupuje, Add použije metoda XmlResolver určenou vlastnostíXmlValidatingReader.XmlResolver.

Důležité

Třída XmlSchemaCollection je zastaralá v rozhraní .NET Framework verze 2.0 a byla nahrazena XmlSchemaSet třídou.

Platí pro

Add(XmlSchema, XmlResolver)

Přidá do XmlSchema kolekce. XmlResolver Zadaný se používá k překladu externích odkazů.

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

Přidání XmlSchema do kolekce

resolver
XmlResolver

Používá XmlResolver se k překladu oborů názvů odkazovaných na objekty include a import prvky. Pokud ano null, externí odkazy se nepřeloží.

Návraty

XmlSchema

Přidáno XmlSchema do kolekce schémat.

Výjimky

Schéma není platné schéma.

Příklady

Následující příklad přidá schéma do kolekce. Předá XmlUrlResolver Add se metodě, která nastaví nezbytné přihlašovací údaje potřebné pro přístup k jakýmkoli externím prostředkům odkazovaným ve schématu.

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)

Poznámky

Atribut targetNamespace se používá k identifikaci tohoto schématu.

Pokud schéma obsahuje include a import prvky odkazují na jiné obory názvů, načtou se schémata pro tyto další obory názvů pouze pro účely ověřování. Na rozdíl od původního schématu nejsou tato další schémata explicitně přidána do kolekce schémat. V důsledku toho nejsou přístupné pomocí žádné z metod nebo vlastností kolekce.

Důležité

Třída XmlSchemaCollection je zastaralá v rozhraní .NET Framework verze 2.0 a byla nahrazena XmlSchemaSet třídou.

Viz také

Platí pro

Add(String, XmlReader, XmlResolver)

Přidá schéma obsažené v XmlReader kolekci schématu. Zadaná XmlResolver funkce slouží k překladu všech externích prostředků.

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

Identifikátor URI oboru názvů přidružený ke schématu. Pro schémata XML to obvykle bude targetNamespace.

reader
XmlReader

XmlReader obsahující schéma, které chcete přidat.

resolver
XmlResolver

Používá XmlResolver se k řešení oborů názvů odkazovaných v include prvcích nebo x-schema import atributech (schématech XDR). Pokud ano null, externí odkazy se nevyřeší.

Návraty

XmlSchema

Přidání XmlSchema do kolekce schématu; null pokud je přidané schéma XDR nebo pokud ve schématu dochází k chybám kompilace.

Výjimky

Schéma není platné schéma.

Poznámky

Pokud ns už bylo v kolekci přidruženo k jinému schématu, nahradí přidané schéma původní schéma v kolekci.

Pokud ns je null schéma, které se přidává, je schéma XML, Add metoda používá targetNamespace atribut definovaný ve schématu XML k identifikaci schématu v kolekci.

Pokud přidané schéma obsahuje odkazy na jiné obory názvů (prostřednictvím include a import prvky nebo x-schema atribut), schémata pro tyto další obory názvů se načtou pouze pro účely ověřování. Na rozdíl od původního schématu nejsou tato další schémata explicitně přidána do kolekce schémat. V důsledku toho nejsou přístupné pomocí žádné metody nebo vlastností kolekce.

Důležité

Třída XmlSchemaCollection je zastaralá v rozhraní .NET Framework verze 2.0 a byla nahrazena XmlSchemaSet třídou.

Viz také

Platí pro