XmlSchemaCollection.Add XmlSchemaCollection.Add XmlSchemaCollection.Add XmlSchemaCollection.Add Method

定義

指定したスキーマをスキーマ コレクションに追加します。Adds the given schema into the schema collection.

オーバーロード

Add(XmlSchema) Add(XmlSchema) Add(XmlSchema) Add(XmlSchema)

XmlSchema をコレクションに追加します。Adds the XmlSchema to the collection.

Add(XmlSchemaCollection) Add(XmlSchemaCollection) Add(XmlSchemaCollection) Add(XmlSchemaCollection)

指定したコレクションで定義されたすべての名前空間 (関連付けられたスキーマを含む) をこのコレクションに追加します。Adds all the namespaces defined in the given collection (including their associated schemas) to this collection.

Add(String, String) Add(String, String) Add(String, String) Add(String, String)

指定した URL で配置されたスキーマをスキーマ コレクションに追加します。Adds the schema located by the given URL into the schema collection.

Add(String, XmlReader) Add(String, XmlReader) Add(String, XmlReader) Add(String, XmlReader)

XmlReader に格納されているスキーマをスキーマ コレクションに追加します。Adds the schema contained in the XmlReader to the schema collection.

Add(XmlSchema, XmlResolver) Add(XmlSchema, XmlResolver) Add(XmlSchema, XmlResolver) Add(XmlSchema, XmlResolver)

XmlSchema をコレクションに追加します。Adds the XmlSchema to the collection. 指定した XmlResolver は、外部参照を解決するために使用します。The specified XmlResolver is used to resolve any external references.

Add(String, XmlReader, XmlResolver) Add(String, XmlReader, XmlResolver) Add(String, XmlReader, XmlResolver) Add(String, XmlReader, XmlResolver)

XmlReader に格納されているスキーマをスキーマ コレクションに追加します。Adds the schema contained in the XmlReader to the schema collection. 指定した XmlResolver は、外部リソースを解決するために使用します。The specified XmlResolver is used to resolve any external resources.

注釈

重要

XmlSchemaCollectionクラスは、.NET Framework version 2.0 で廃止と代わられました、XmlSchemaSetクラス。The XmlSchemaCollection class is obsolete in the .NET Framework version 2.0 and has been replaced by the XmlSchemaSet class.

Add(XmlSchema) Add(XmlSchema) Add(XmlSchema) Add(XmlSchema)

XmlSchema をコレクションに追加します。Adds the XmlSchema to the collection.

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

パラメーター

schema
XmlSchema XmlSchema XmlSchema XmlSchema

コレクションに追加する XmlSchemaThe XmlSchema to add to the collection.

戻り値

XmlSchema オブジェクト。The XmlSchema object.

注釈

targetNamespace属性は、このスキーマを識別するために使用します。The targetNamespace attribute is used to identify this schema.

他の名前空間への参照が追加されているスキーマに含まれている場合 (を通じてincludeimport要素)、アプリケーションの信頼レベルは、これらの名前空間を解決する方法を決定します。If the schema being added contains references to other namespaces (through include and import elements), the trust level of the application determines how these other namespaces are resolved. (.NET Framework version 1.0 では、既定値でXmlUrlResolverが常に使用)。(In the .NET Framework version 1.0, a default XmlUrlResolver was always used).

Fully trusted code: 既定のXmlUrlResolverユーザーがいない資格情報は、外部リソースの解決に使用されます。Fully trusted code: A default XmlUrlResolver with no user credentials is used to resolve any external resources. これらの名前空間のスキーマは、検証の目的でのみ読み込まれます。The schemas for these other namespaces are loaded for validation purposes only. 元のスキーマとは異なり他のこれらのスキーマは明示的に追加されませんスキーマ コレクションに。Unlike the original schema, these other schemas are not explicitly added to the schema collection. 結果として、コレクションのメソッドまたはプロパティのいずれかを使用してアクセスはありません。As a result, they are not accessible using any of the collection methods or properties. 受け取るオーバー ロードを使用して、これらの外部リソースは、認証が必要なネットワーク リソースに存在する場合、XmlResolver引数の 1 つとして指定し、XmlResolverのために必要な資格情報を使用します。If these external resources are located on a network resource that requires authentication, use an overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Semi-trusted code: 外部参照は解決されません。Semi-trusted code: External references are not resolved.

注意

場合、XmlSchemaCollectionを使用してアクセスされている、XmlValidatingReader.Schemasプロパティ、Addメソッドは、XmlResolverで指定された、XmlValidatingReader.XmlResolverプロパティ。If the XmlSchemaCollection is being accessed using the XmlValidatingReader.Schemas property, the Add method uses the XmlResolver specified by the XmlValidatingReader.XmlResolver property.

重要

XmlSchemaCollectionクラスは、.NET Framework version 2.0 で廃止と代わられました、XmlSchemaSetクラス。The XmlSchemaCollection class is obsolete in the .NET Framework version 2.0 and has been replaced by the XmlSchemaSet class.

こちらもご覧ください

Add(XmlSchemaCollection) Add(XmlSchemaCollection) Add(XmlSchemaCollection) Add(XmlSchemaCollection)

指定したコレクションで定義されたすべての名前空間 (関連付けられたスキーマを含む) をこのコレクションに追加します。Adds all the namespaces defined in the given collection (including their associated schemas) to this 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)

パラメーター

schema
XmlSchemaCollection XmlSchemaCollection XmlSchemaCollection XmlSchemaCollection

このコレクションに追加する XmlSchemaCollectionThe XmlSchemaCollection you want to add to this collection.

注釈

スキーマを追加するには、他の名前空間への参照が含まれている場合 (を通じてincludeimport要素、またはx-schema属性)、アプリケーションの信頼レベルは、これらの名前空間を解決する方法を決定します。If the schema being added contains references to other namespaces (through include and import elements or the x-schema attribute), the trust level of the application determines how these other namespaces are resolved. (.NET Framework version 1.0 では、既定値でXmlUrlResolverが常に使用)。(In the .NET Framework version 1.0, a default XmlUrlResolver was always used).

Fully trusted code: 既定のXmlUrlResolverユーザーがいない資格情報は、外部リソースの解決に使用されます。Fully trusted code: A default XmlUrlResolver with no user credentials is used to resolve any external resources. これらの名前空間のスキーマは、検証の目的でのみ読み込まれます。The schemas for these other namespaces are loaded for validation purposes only. 元のスキーマとは異なり他のこれらのスキーマは明示的に追加されませんスキーマ コレクションに。Unlike the original schema, these other schemas are not explicitly added to the schema collection. 結果として、コレクションのメソッドまたはプロパティのいずれかを使用してアクセスはありません。As a result, they are not accessible using any of the collection methods or properties. 受け取るオーバー ロードを使用して、これらの外部リソースは、認証が必要なネットワーク リソースに存在する場合、XmlResolver引数の 1 つとして指定し、XmlResolverのために必要な資格情報を使用します。If these external resources are located on a network resource that requires authentication, use an overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Semi-trusted code: 外部参照は解決されません。Semi-trusted code: External references are not resolved.

注意

場合、XmlSchemaCollectionを使用してアクセスされている、XmlValidatingReader.Schemasプロパティ、Addメソッドは、XmlResolverで指定された、XmlValidatingReader.XmlResolverプロパティ。If the XmlSchemaCollection is being accessed using the XmlValidatingReader.Schemas property, the Add method uses the XmlResolver specified by the XmlValidatingReader.XmlResolver property.

重要

XmlSchemaCollectionクラスは、.NET Framework version 2.0 で廃止と代わられました、XmlSchemaSetクラス。The XmlSchemaCollection class is obsolete in the .NET Framework version 2.0 and has been replaced by the XmlSchemaSet class.

Add(String, String) Add(String, String) Add(String, String) Add(String, String)

指定した URL で配置されたスキーマをスキーマ コレクションに追加します。Adds the schema located by the given URL into the schema collection.

public:
 System::Xml::Schema::XmlSchema ^ Add(System::String ^ ns, System::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

パラメーター

ns
String String String String

スキーマに関連付けられた名前空間 URI。The namespace URI associated with the schema. XML スキーマの場合、通常これは targetNamespace です。For XML Schemas, this will typically be the targetNamespace.

uri
String String String String

読み込むスキーマを指定する URL。The URL that specifies the schema to load.

戻り値

スキーマ コレクションに追加される XmlSchema。追加されるスキーマが XDR スキーマであるか、またはスキーマにコンパイル エラーがある場合は nullThe XmlSchema added to the schema collection; null if the schema being added is an XDR schema or if there are compilation errors in the schema.

例外

スキーマが、有効なスキーマではありません。The schema is not a valid schema.

次の例では、検証の 3 つの XML ファイルに格納されているスキーマを使用して、XmlSchemaCollectionします。The following example validates three XML files using schemas stored in the 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
Imports System.IO
Imports System.Xml
Imports System.Xml.Schema
Imports Microsoft.VisualBasic

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 'New
    
    Public Shared Sub Main()
        Dim validation As New SchemaCollectionSample()
    End Sub 'Main
    
    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 'Validate
       
    
    Private Sub ValidationCallBack(sender As Object, args As ValidationEventArgs)
        m_success = False
        
        Console.Write((ControlChars.CrLf & ControlChars.Tab & "Validation error: " & args.Message))
    End Sub 'ValidationCallBack 
End Class 'SchemaCollectionSample

サンプルでは、次の 5 つの入力ファイルを使用します。The sample uses the following five input files:

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>

注釈

場合ns関連付けが既にコレクション内の別のスキーマに追加されるスキーマがコレクション内の元のスキーマを置き換えます。If ns has already been associated with another schema in the collection, the schema being added replaces the original schema in the collection. たとえばでは、次の C# コード、authors.xsd がコレクションから削除され、names.xsd が追加されます。For example, in the following C# code, authors.xsd is removed from the collection and names.xsd is added.

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

場合nsnull、XML スキーマが追加されると、Addメソッドは、targetNamespaceコレクション内のスキーマを識別するために、XML スキーマで定義します。If ns is null and the schema being added is an XML Schema, the Add method uses the targetNamespace defined in the XML Schema to identify the schema in the collection. スキーマを追加するには、他の名前空間への参照が含まれている場合 (を通じてincludeimport要素、またはx-schema属性)、アプリケーションの信頼レベルは、これらの名前空間を解決する方法を決定します。If the schema being added contains references to other namespaces (through include and import elements or the x-schema attribute), the trust level of the application determines how these other namespaces are resolved. (.NET Framework version 1.0 では、既定値でXmlUrlResolverが常に使用)。(In the .NET Framework version 1.0, a default XmlUrlResolver was always used).

Fully trusted code: 既定のXmlUrlResolverユーザーがいない資格情報は、外部リソースの解決に使用されます。Fully trusted code: A default XmlUrlResolver with no user credentials is used to resolve any external resources. これらの名前空間のスキーマは、検証の目的でのみ読み込まれます。The schemas for these other namespaces are loaded for validation purposes only. 元のスキーマとは異なり他のこれらのスキーマは明示的に追加されませんスキーマ コレクションに。Unlike the original schema, these other schemas are not explicitly added to the schema collection. 結果として、コレクションのメソッドまたはプロパティのいずれかを使用してアクセスはありません。As a result, they are not accessible using any of the collection methods or properties. 受け取るオーバー ロードを使用して、これらの外部リソースは、認証が必要なネットワーク リソースに存在する場合、XmlResolver引数の 1 つとして指定し、XmlResolverのために必要な資格情報を使用します。If these external resources are located on a network resource that requires authentication, use an overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Semi-trusted code: 外部参照は解決されません。Semi-trusted code: External references are not resolved.

注意

場合、XmlSchemaCollectionを使用してアクセスされている、XmlValidatingReader.Schemasプロパティ、Addメソッドは、XmlResolverで指定された、XmlValidatingReader.XmlResolverプロパティ。If the XmlSchemaCollection is being accessed using the XmlValidatingReader.Schemas property, the Add method uses the XmlResolver specified by the XmlValidatingReader.XmlResolver property.

重要

XmlSchemaCollectionクラスは、.NET Framework version 2.0 で廃止と代わられました、XmlSchemaSetクラス。The XmlSchemaCollection class is obsolete in the .NET Framework version 2.0 and has been replaced by the XmlSchemaSet class.

Add(String, XmlReader) Add(String, XmlReader) Add(String, XmlReader) Add(String, XmlReader)

XmlReader に格納されているスキーマをスキーマ コレクションに追加します。Adds the schema contained in the XmlReader to the schema collection.

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);
member this.Add : string * System.Xml.XmlReader -> System.Xml.Schema.XmlSchema
Public Function Add (ns As String, reader As XmlReader) As XmlSchema

パラメーター

ns
String String String String

スキーマに関連付けられた名前空間 URI。The namespace URI associated with the schema. XML スキーマの場合、通常これは targetNamespace です。For XML Schemas, this will typically be the targetNamespace.

reader
XmlReader XmlReader XmlReader XmlReader

追加するスキーマを格納する XmlReaderXmlReader containing the schema to add.

戻り値

スキーマ コレクションに追加される XmlSchema。追加されるスキーマが XDR スキーマであるか、またはスキーマにコンパイル エラーがある場合は nullThe XmlSchema added to the schema collection; null if the schema being added is an XDR schema or if there are compilation errors in the schema.

例外

スキーマが、有効なスキーマではありません。The schema is not a valid schema.

注釈

場合ns関連付けが既にコレクション内の別のスキーマに追加されるスキーマがコレクション内の元のスキーマを置き換えます。If ns has already been associated with another schema in the collection, the schema being added replaces the original schema in the collection.

場合nsnull、XML スキーマが追加されると、Addメソッドは、targetNamespaceコレクション内のスキーマを識別するために、XML スキーマで定義します。If ns is null and the schema being added is an XML Schema, the Add method uses the targetNamespace defined in the XML Schema to identify the schema in the collection.

スキーマを追加するには、他の名前空間への参照が含まれている場合 (を通じてincludeimport要素、またはx-schema属性)、アプリケーションの信頼レベルは、これらの名前空間を解決する方法を決定します。If the schema being added contains references to other namespaces (through include and import elements or the x-schema attribute), the trust level of the application determines how these other namespaces are resolved. (.NET Framework version 1.0 では、既定値でXmlUrlResolverが常に使用)。(In the .NET Framework version 1.0, a default XmlUrlResolver was always used).

Fully trusted code: 既定のXmlUrlResolverユーザーがいない資格情報は、外部リソースの解決に使用されます。Fully trusted code: A default XmlUrlResolver with no user credentials is used to resolve any external resources. これらの名前空間のスキーマは、検証の目的でのみ読み込まれます。The schemas for these other namespaces are loaded for validation purposes only. 元のスキーマとは異なり他のこれらのスキーマは明示的に追加されませんスキーマ コレクションに。Unlike the original schema, these other schemas are not explicitly added to the schema collection. 結果として、コレクションのメソッドまたはプロパティのいずれかを使用してアクセスはありません。As a result, they are not accessible using any of the collection methods or properties. 受け取るオーバー ロードを使用して、これらの外部リソースは、認証が必要なネットワーク リソースに存在する場合、XmlResolver引数の 1 つとして指定し、XmlResolverのために必要な資格情報を使用します。If these external resources are located on a network resource that requires authentication, use an overload that takes an XmlResolver as one of its arguments and specify an XmlResolver with the necessary credentials.

Semi-trusted code: 外部参照は解決されません。Semi-trusted code: External references are not resolved.

注意

場合、XmlSchemaCollectionを使用してアクセスされている、XmlValidatingReader.Schemasプロパティ、Addメソッドは、XmlResolverで指定された、XmlValidatingReader.XmlResolverプロパティ。If the XmlSchemaCollection is being accessed using the XmlValidatingReader.Schemas property, the Add method uses the XmlResolver specified by the XmlValidatingReader.XmlResolver property.

重要

XmlSchemaCollectionクラスは、.NET Framework version 2.0 で廃止と代わられました、XmlSchemaSetクラス。The XmlSchemaCollection class is obsolete in the .NET Framework version 2.0 and has been replaced by the XmlSchemaSet class.

Add(XmlSchema, XmlResolver) Add(XmlSchema, XmlResolver) Add(XmlSchema, XmlResolver) Add(XmlSchema, XmlResolver)

XmlSchema をコレクションに追加します。Adds the XmlSchema to the collection. 指定した XmlResolver は、外部参照を解決するために使用します。The specified XmlResolver is used to resolve any external references.

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

パラメーター

schema
XmlSchema XmlSchema XmlSchema XmlSchema

コレクションに追加する XmlSchemaThe XmlSchema to add to the collection.

resolver
XmlResolver XmlResolver XmlResolver XmlResolver

include 要素および import 要素で参照される名前空間を解決するために使用される XmlResolverThe XmlResolver used to resolve namespaces referenced in include and import elements. これが null の場合は、外部参照が解決されません。If this is null, external references are not resolved.

戻り値

スキーマ コレクションに追加する XmlSchemaThe XmlSchema added to the schema collection.

例外

スキーマが、有効なスキーマではありません。The schema is not a valid schema.

次の例では、スキーマをコレクションに追加します。The following example adds a schema to the collection. XmlUrlResolverに渡される、Addスキーマで参照されている外部リソースにアクセスするために必要なために必要な資格情報を設定するメソッド。An XmlUrlResolver is passed to the Add method which sets the necessary credentials required to access any external resources referenced in the schema.

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

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

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

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

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

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

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

注釈

targetNamespace属性は、このスキーマを識別するために使用します。The targetNamespace attribute is used to identify this schema.

スキーマが含まれている場合includeimport検証目的のみでのこれらの名前空間が読み込まれるは、他の名前空間のスキーマを参照する要素。If the schema contains include and import elements that reference other namespaces, the schemas for these other namespaces are loaded for validation purposes only. 元のスキーマとは異なり他のこれらのスキーマは明示的に追加されませんスキーマ コレクションに。Unlike the original schema, these other schemas are not explicitly added to the schema collection. 結果として、コレクションのメソッドまたはプロパティのいずれかを使用してアクセスはありません。As a result, they are not accessible using any of the collection methods or properties.

重要

XmlSchemaCollectionクラスは、.NET Framework version 2.0 で廃止と代わられました、XmlSchemaSetクラス。The XmlSchemaCollection class is obsolete in the .NET Framework version 2.0 and has been replaced by the XmlSchemaSet class.

こちらもご覧ください

Add(String, XmlReader, XmlResolver) Add(String, XmlReader, XmlResolver) Add(String, XmlReader, XmlResolver) Add(String, XmlReader, XmlResolver)

XmlReader に格納されているスキーマをスキーマ コレクションに追加します。Adds the schema contained in the XmlReader to the schema collection. 指定した XmlResolver は、外部リソースを解決するために使用します。The specified XmlResolver is used to resolve any external resources.

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);
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

パラメーター

ns
String String String String

スキーマに関連付けられた名前空間 URI。The namespace URI associated with the schema. XML スキーマの場合、通常これは targetNamespace です。For XML Schemas, this will typically be the targetNamespace.

reader
XmlReader XmlReader XmlReader XmlReader

追加するスキーマを格納する XmlReaderXmlReader containing the schema to add.

resolver
XmlResolver XmlResolver XmlResolver XmlResolver

include 要素、import 要素、または x-schema 属性 (XDR スキーマ) で参照される名前空間を解決するために使用される XmlResolverThe XmlResolver used to resolve namespaces referenced in include and import elements or x-schema attribute (XDR schemas). これが null の場合は、外部参照が解決されません。If this is null, external references are not resolved.

戻り値

スキーマ コレクションに追加される XmlSchema。追加されるスキーマが XDR スキーマであるか、またはスキーマにコンパイル エラーがある場合は nullThe XmlSchema added to the schema collection; null if the schema being added is an XDR schema or if there are compilation errors in the schema.

例外

スキーマが、有効なスキーマではありません。The schema is not a valid schema.

注釈

場合ns関連付けが既にコレクション内の別のスキーマに追加されるスキーマがコレクション内の元のスキーマを置き換えます。If ns has already been associated with another schema in the collection, the schema being added replaces the original schema in the collection.

場合nsnull、XML スキーマが追加されると、Addメソッドは、targetNamespace属性コレクション内のスキーマを識別するために、XML スキーマで定義します。If ns is null and the schema being added is an XML Schema, the Add method uses the targetNamespace attribute defined in the XML Schema to identify the schema in the collection.

他の名前空間への参照が追加されているスキーマに含まれている場合 (を通じてincludeimport要素、またはx-schema属性)、これらの名前空間のスキーマ検証目的のみに読み込まれます。If the schema being added contains references to other namespaces (through include and import elements or the x-schema attribute), the schemas for these other namespaces are loaded for validation purposes only. 元のスキーマとは異なり他のこれらのスキーマは明示的に追加されませんスキーマ コレクションに。Unlike the original schema, these other schemas are not explicitly added to the schema collection. 結果として、コレクションのメソッドまたはプロパティのいずれかを使用してアクセスはありません。As a result, they are not accessible using any of the collection methods or properties.

重要

XmlSchemaCollectionクラスは、.NET Framework version 2.0 で廃止と代わられました、XmlSchemaSetクラス。The XmlSchemaCollection class is obsolete in the .NET Framework version 2.0 and has been replaced by the XmlSchemaSet class.

こちらもご覧ください

適用対象