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