次の方法で共有


XmlSchemaInclude クラス

外部スキーマの宣言や定義を含めるクラス。それらを格納するスキーマの処理で使用できるようにします。W3C (World Wide Web Consortium) include 要素を表します。

この型のすべてのメンバの一覧については、XmlSchemaInclude メンバ を参照してください。

System.Object
   System.Xml.Schema.XmlSchemaObject
      System.Xml.Schema.XmlSchemaExternal
         System.Xml.Schema.XmlSchemaInclude

Public Class XmlSchemaInclude
   Inherits XmlSchemaExternal
[C#]
public class XmlSchemaInclude : XmlSchemaExternal
[C++]
public __gc class XmlSchemaInclude : public XmlSchemaExternal
[JScript]
public class XmlSchemaInclude extends XmlSchemaExternal

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

含めるスキーマ ドキュメントは、次の条件のいずれか 1 つを満たしている必要があります。

含めるスキーマは、格納するスキーマ ドキュメントと同じターゲット名前空間を持っている必要があります。

OR

含めるスキーマは、指定した targetNamespace を持つことができません。つまり、 targetNamespace 属性が null である必要があります。

XmlSchemaInclude は、同じターゲット名前空間を持つ (または指定したターゲット名前空間がない)、含めるスキーマのすべてのスキーマ コンポーネントを格納するスキーマに追加します。

使用例

[Visual Basic, C#, C++] include 要素を作成する例を次に示します。

 
Imports System
Imports System.Collections
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports System.Xml.Schema


Public Class ImportIncludeSample
         
   Private Shared Sub ValidationCallBack(sender As Object, args As ValidationEventArgs)
      
      If args.Severity = XmlSeverityType.Warning Then
         Console.Write("WARNING: ")
      Else
         If args.Severity = XmlSeverityType.Error Then
            Console.Write("ERROR: ")
         End If 
      End If
      Console.WriteLine(args.Message)
   End Sub 'ValidationCallBack
      
   
   Public Shared Sub Main()
            
      Dim schema As New XmlSchema()      
      schema.ElementFormDefault = XmlSchemaForm.Qualified      
      schema.TargetNamespace = "http://www.w3.org/2001/05/XMLInfoset"

      ' <xs:import namespace="http://www.example.com/IPO" />             
      Dim import As New XmlSchemaImport()
      import.Namespace = "http://www.example.com/IPO"      
      schema.Includes.Add(import)
       
      ' <xs:include schemaLocation="example.xsd" />     
      Dim include As New XmlSchemaInclude()
      include.SchemaLocation = "example.xsd"      
      schema.Includes.Add(include)

      
      schema.Compile(AddressOf ValidationCallBack)
      Dim nsmgr as XmlNamespaceManager = new XmlNamespaceManager(new NameTable())
      nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
      schema.Write(Console.Out, nsmgr)

   End Sub 'Main 
End Class 'ImportIncludeSample ' Main() 

'ImportIncludeSample

[C#] 
using System;
using System.Collections;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.Schema;

public class ImportIncludeSample {

    private static void ValidationCallBack(object sender, ValidationEventArgs args ){

    if(args.Severity == XmlSeverityType.Warning)
        Console.Write("WARNING: ");
    else if(args.Severity == XmlSeverityType.Error)
        Console.Write("ERROR: ");
    
    Console.WriteLine(args.Message);
    }    
               
            
    public static void Main() {
               
          
        XmlSchema schema = new XmlSchema();         
        schema.ElementFormDefault = XmlSchemaForm.Qualified;
        schema.TargetNamespace = "http://www.w3.org/2001/05/XMLInfoset";
        
        // <xs:import namespace="http://www.example.com/IPO" />                            
        XmlSchemaImport import = new XmlSchemaImport();
        import.Namespace = "http://www.example.com/IPO";       
        schema.Includes.Add(import);
            
        // <xs:include schemaLocation="example.xsd" />               
        XmlSchemaInclude include = new XmlSchemaInclude();
        include.SchemaLocation = "example.xsd";        
        schema.Includes.Add(include);
                    
        schema.Compile(new ValidationEventHandler(ValidationCallBack)); 
        XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
        nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
        schema.Write(Console.Out, nsmgr);
            
    }/* Main() */ 

} //ImportIncludeSample

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Collections;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Xsl;
using namespace System::Xml::Schema;

__gc public class ImportIncludeSample
{
public:
    static void ValidationCallBack(Object* /*sender*/, ValidationEventArgs * args)
    {
        if (args -> Severity == XmlSeverityType::Warning)
            Console::Write(S"WARNING: ");
        else if (args -> Severity == XmlSeverityType::Error)
            Console::Write(S"ERROR: ");
        Console::WriteLine(args -> Message);
    }
}; // ImportIncludeSample

int main()
{
    XmlSchema* schema = new XmlSchema();
    schema -> ElementFormDefault = XmlSchemaForm::Qualified;
    schema -> TargetNamespace = S"http://www.w3.org/2001/05/XMLInfoset";

    // <xs:import namespace=S"http://www.example.com/IPO" />
    XmlSchemaImport* import = new XmlSchemaImport();
    import -> Namespace = S"http://www.example.com/IPO";
    schema -> Includes->Add(import);

    // <xs:include schemaLocation=S"example.xsd" />
    XmlSchemaInclude* include = new XmlSchemaInclude();
    include -> SchemaLocation = S"example.xsd";
    schema -> Includes->Add(include);

    schema -> Compile(new ValidationEventHandler(schema, ImportIncludeSample::ValidationCallBack));
    XmlNamespaceManager* nsmgr = new XmlNamespaceManager(new NameTable());
    nsmgr -> AddNamespace(S"xs", S"http://www.w3.org/2001/XMLSchema");
    schema -> Write(Console::Out, nsmgr);
}  // main

[Visual Basic, C#, C++] このコード例に対して生成される XML を次に示します。

<?xml version="1.0" encoding="IBM437"?>
<schema elementFormDefault="qualified" targetNamespace="http://www.w3.org/2001/05/XMLInfoset" xmlns="http://www.w3.org/2001/XMLSchema">
  <import namespace="http://www.example.com/IPO" />
  <include schemaLocation="example.xsd" />
</schema>

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Xml.Schema

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Xml (System.Xml.dll 内)

参照

XmlSchemaInclude メンバ | System.Xml.Schema 名前空間