XmlSchema クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
World Wide Web コンソーシアム (W3C) の『XML スキーマ、パート 1: 構造体』および『XML スキーマ、パート 2: データ型]』で指定されている XML スキーマのメモリ内表現です。
public ref class XmlSchema
public ref class XmlSchema : System::Xml::Schema::XmlSchemaObject
public class XmlSchema
public class XmlSchema : System.Xml.Schema.XmlSchemaObject
type XmlSchema = class
type XmlSchema = class
inherit XmlSchemaObject
Public Class XmlSchema
Public Class XmlSchema
Inherits XmlSchemaObject
- 継承
-
XmlSchema
- 継承
例
次の例では、スキーマ定義を作成します。
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
class XmlSchemaExamples
{
public:
static void Main()
{
XmlSchema^ schema = gcnew XmlSchema();
// <xs:element name="cat" type="xs:string"/>
XmlSchemaElement^ elementCat = gcnew XmlSchemaElement();
schema->Items->Add(elementCat);
elementCat->Name = "cat";
elementCat->SchemaTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="dog" type="xs:string"/>
XmlSchemaElement^ elementDog = gcnew XmlSchemaElement();
schema->Items->Add(elementDog);
elementDog->Name = "dog";
elementDog->SchemaTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="redDog" substitutionGroup="dog" />
XmlSchemaElement^ elementRedDog = gcnew XmlSchemaElement();
schema->Items->Add(elementRedDog);
elementRedDog->Name = "redDog";
elementRedDog->SubstitutionGroup = gcnew XmlQualifiedName("dog");
// <xs:element name="brownDog" substitutionGroup ="dog" />
XmlSchemaElement^ elementBrownDog = gcnew XmlSchemaElement();
schema->Items->Add(elementBrownDog);
elementBrownDog->Name = "brownDog";
elementBrownDog->SubstitutionGroup = gcnew XmlQualifiedName("dog");
// <xs:element name="pets">
XmlSchemaElement^ elementPets = gcnew XmlSchemaElement();
schema->Items->Add(elementPets);
elementPets->Name = "pets";
// <xs:complexType>
XmlSchemaComplexType^ complexType = gcnew XmlSchemaComplexType();
elementPets->SchemaType = complexType;
// <xs:choice minOccurs="0" maxOccurs="unbounded">
XmlSchemaChoice^ choice = gcnew XmlSchemaChoice();
complexType->Particle = choice;
choice->MinOccurs = 0;
choice->MaxOccursString = "unbounded";
// <xs:element ref="cat"/>
XmlSchemaElement^ catRef = gcnew XmlSchemaElement();
choice->Items->Add(catRef);
catRef->RefName = gcnew XmlQualifiedName("cat");
// <xs:element ref="dog"/>
XmlSchemaElement^ dogRef = gcnew XmlSchemaElement();
choice->Items->Add(dogRef);
dogRef->RefName = gcnew XmlQualifiedName("dog");
XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallbackOne);
schemaSet->Add(schema);
schemaSet->Compile();
XmlSchema^ compiledSchema;
for each (XmlSchema^ schema1 in schemaSet->Schemas())
{
compiledSchema = schema1;
}
XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager(gcnew NameTable());
nsmgr->AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
compiledSchema->Write(Console::Out, nsmgr);
}
static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args)
{
Console::WriteLine(args->Message);
}
};
int main()
{
XmlSchemaExamples::Main();
return 0;
};
using System;
using System.Xml;
using System.Xml.Schema;
class XMLSchemaExamples
{
public static void Main()
{
XmlSchema schema = new XmlSchema();
// <xs:element name="cat" type="xs:string"/>
XmlSchemaElement elementCat = new XmlSchemaElement();
schema.Items.Add(elementCat);
elementCat.Name = "cat";
elementCat.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="dog" type="xs:string"/>
XmlSchemaElement elementDog = new XmlSchemaElement();
schema.Items.Add(elementDog);
elementDog.Name = "dog";
elementDog.SchemaTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
// <xs:element name="redDog" substitutionGroup="dog" />
XmlSchemaElement elementRedDog = new XmlSchemaElement();
schema.Items.Add(elementRedDog);
elementRedDog.Name = "redDog";
elementRedDog.SubstitutionGroup = new XmlQualifiedName("dog");
// <xs:element name="brownDog" substitutionGroup ="dog" />
XmlSchemaElement elementBrownDog = new XmlSchemaElement();
schema.Items.Add(elementBrownDog);
elementBrownDog.Name = "brownDog";
elementBrownDog.SubstitutionGroup = new XmlQualifiedName("dog");
// <xs:element name="pets">
XmlSchemaElement elementPets = new XmlSchemaElement();
schema.Items.Add(elementPets);
elementPets.Name = "pets";
// <xs:complexType>
XmlSchemaComplexType complexType = new XmlSchemaComplexType();
elementPets.SchemaType = complexType;
// <xs:choice minOccurs="0" maxOccurs="unbounded">
XmlSchemaChoice choice = new XmlSchemaChoice();
complexType.Particle = choice;
choice.MinOccurs = 0;
choice.MaxOccursString = "unbounded";
// <xs:element ref="cat"/>
XmlSchemaElement catRef = new XmlSchemaElement();
choice.Items.Add(catRef);
catRef.RefName = new XmlQualifiedName("cat");
// <xs:element ref="dog"/>
XmlSchemaElement dogRef = new XmlSchemaElement();
choice.Items.Add(dogRef);
dogRef.RefName = new XmlQualifiedName("dog");
XmlSchemaSet schemaSet = new XmlSchemaSet();
schemaSet.ValidationEventHandler += new ValidationEventHandler(ValidationCallbackOne);
schemaSet.Add(schema);
schemaSet.Compile();
XmlSchema compiledSchema = null;
foreach (XmlSchema schema1 in schemaSet.Schemas())
{
compiledSchema = schema1;
}
XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");
compiledSchema.Write(Console.Out, nsmgr);
}
public static void ValidationCallbackOne(object sender, ValidationEventArgs args)
{
Console.WriteLine(args.Message);
}
}
Option Explicit On
Option Strict On
Imports System.Xml
Imports System.Xml.Schema
Class XMLSchemaExamples
Public Shared Sub Main()
Dim schema As New XmlSchema()
' <xs:element name="cat" type="xs:string"/>
Dim elementCat As New XmlSchemaElement()
schema.Items.Add(elementCat)
elementCat.Name = "cat"
elementCat.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:element name="dog" type="xs:string"/>
Dim elementDog As New XmlSchemaElement()
schema.Items.Add(elementDog)
elementDog.Name = "dog"
elementDog.SchemaTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
' <xs:element name="redDog" substitutionGroup="dog" />
Dim elementRedDog As New XmlSchemaElement()
schema.Items.Add(elementRedDog)
elementRedDog.Name = "redDog"
elementRedDog.SubstitutionGroup = New XmlQualifiedName("dog")
' <xs:element name="brownDog" substitutionGroup ="dog" />
Dim elementBrownDog As New XmlSchemaElement()
schema.Items.Add(elementBrownDog)
elementBrownDog.Name = "brownDog"
elementBrownDog.SubstitutionGroup = New XmlQualifiedName("dog")
' <xs:element name="pets">
Dim elementPets As New XmlSchemaElement()
schema.Items.Add(elementPets)
elementPets.Name = "pets"
' <xs:complexType>
Dim complexType As New XmlSchemaComplexType()
elementPets.SchemaType = complexType
' <xs:choice minOccurs="0" maxOccurs="unbounded">
Dim choice As New XmlSchemaChoice()
complexType.Particle = choice
choice.MinOccurs = 0
choice.MaxOccursString = "unbounded"
' <xs:element ref="cat"/>
Dim catRef As New XmlSchemaElement()
choice.Items.Add(catRef)
catRef.RefName = New XmlQualifiedName("cat")
' <xs:element ref="dog"/>
Dim dogRef As New XmlSchemaElement()
choice.Items.Add(dogRef)
dogRef.RefName = New XmlQualifiedName("dog")
Dim schemaSet As New XmlSchemaSet()
AddHandler schemaSet.ValidationEventHandler, AddressOf ValidationCallbackOne
schemaSet.Add(schema)
schemaSet.Compile()
Dim compiledSchema As XmlSchema = Nothing
For Each schema1 As XmlSchema In schemaSet.Schemas()
compiledSchema = schema1
Next
Dim nsmgr As New XmlNamespaceManager(New NameTable())
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
compiledSchema.Write(Console.Out, nsmgr)
End Sub
Public Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs)
Console.WriteLine(args.Message)
End Sub
End Class
前のコード例では、次の XML ファイルが生成されます。
<?xml version="1.0" encoding="IBM437"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="cat" type="xs:string"/>
<xs:element name="dog" type="xs:string"/>
<xs:element name="redDog" type="xs:string" substitutionGroup="dog"/>
<xs:element name="brownDog" type="xs:string" substitutionGroup ="dog" />
<xs:element name="pets">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="cat"/>
<xs:element ref="dog"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
注釈
重要
- 不明または信頼されていないソースまたは場所のスキーマは使用しないでください。 これにより、コードのセキュリティが損なわれます。
- XML スキーマ (インライン スキーマを含む) は、本質的にサービス拒否攻撃に対して脆弱です。信頼されていないシナリオでは受け入れないでください。
- クラス (クラスなど) を使用した結果として発生するXmlSchemaXmlSchemaException例外には、信頼されていないシナリオで公開すべきではない機密情報が含まれている場合があります。 たとえば、 の XmlSchemaException プロパティはSourceUri、例外の原因となったスキーマ ファイルへの URI パスを返します。 SourceUri信頼されていないシナリオでは、 プロパティを公開しないでください。 この機密情報が信頼されていないシナリオで公開されないように、例外を適切に処理する必要があります。
コンストラクター
XmlSchema() |
XmlSchema クラスの新しいインスタンスを初期化します。 |
フィールド
InstanceNamespace |
XML スキーマ インスタンスの名前空間。 このフィールドは定数です。 |
Namespace |
XML スキーマの名前空間。 このフィールドは定数です。 |
プロパティ
AttributeFormDefault |
スキーマのターゲット名前空間で宣言された属性の形式を取得または設定します。 |
AttributeGroups |
スキーマ内のすべてのグローバル属性グループについて、スキーマ コンパイル後の値を取得します。 |
Attributes |
スキーマ内のすべての属性について、スキーマ コンパイル後の値を取得します。 |
BlockDefault |
スキーマの |
ElementFormDefault |
スキーマのターゲット名前空間で宣言された要素の形式を取得または設定します。 |
Elements |
スキーマ内のすべての要素について、スキーマ コンパイル後の値を取得します。 |
FinalDefault |
スキーマのターゲット名前空間の要素および複合型に対し、 |
Groups |
スキーマ内のすべてのグループについて、スキーマ コンパイル後の値を取得します。 |
Id |
文字列 ID を取得または設定します。 |
Includes |
インクルードされたスキーマとインポートされたスキーマのコレクションを取得します。 |
IsCompiled |
スキーマがコンパイル済みかどうかを示します。 |
Items |
スキーマに含まれるスキーマ要素コレクションを取得します。新しい要素型を |
LineNumber |
|
LinePosition |
|
Namespaces |
このスキーマ オブジェクトと一緒に使用する XmlSerializerNamespaces を取得または設定します。 (継承元 XmlSchemaObject) |
Notations |
スキーマ内のすべての注釈について、スキーマ コンパイル後の値を取得します。 |
Parent |
この XmlSchemaObject の親を取得または設定します。 (継承元 XmlSchemaObject) |
SchemaTypes |
スキーマ内のすべてのスキーマ型について、スキーマ コンパイル後の値を取得します。 |
SourceUri |
スキーマを読み込んだファイルのソース位置を取得または設定します。 (継承元 XmlSchemaObject) |
TargetNamespace |
スキーマのターゲット名前空間の URI (Uniform Resource Identifier) を取得または設定します。 |
UnhandledAttributes |
スキーマのターゲット名前空間に属さない、修飾された属性を取得または設定します。 |
Version |
スキーマのバージョンを取得または設定します。 |
メソッド
Compile(ValidationEventHandler) |
古い.
古い.
古い.
XML SOM (Schema Object Model) を検証用のスキーマ情報にコンパイルします。 プログラムによって構築された SOM の構文および意味構造をチェックするために使用します。 意味検証チェックは、コンパイル時に実行されます。 |
Compile(ValidationEventHandler, XmlResolver) |
古い.
古い.
古い.
XML SOM (Schema Object Model) を検証用のスキーマ情報にコンパイルします。 プログラムによって構築された SOM の構文および意味構造をチェックするために使用します。 意味検証チェックは、コンパイル時に実行されます。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
Read(Stream, ValidationEventHandler) |
指定されたストリームから XML スキーマを読み取ります。 |
Read(TextReader, ValidationEventHandler) |
提供された TextReader から XML スキーマを読み込みます。 |
Read(XmlReader, ValidationEventHandler) |
提供された XmlReader から XML スキーマを読み込みます。 |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
Write(Stream) |
提供されたデータ ストリームに XML スキーマを書き込みます。 |
Write(Stream, XmlNamespaceManager) |
指定された Stream を使用し、指定された XmlNamespaceManager に XML スキーマを書き込みます。 |
Write(TextWriter) |
提供された TextWriter に XML スキーマを書き込みます。 |
Write(TextWriter, XmlNamespaceManager) |
提供された TextWriter に XML スキーマを書き込みます。 |
Write(XmlWriter) |
提供された XmlWriter に XML スキーマを書き込みます。 |
Write(XmlWriter, XmlNamespaceManager) |
提供された XmlWriter に XML スキーマを書き込みます。 |
適用対象
こちらもご覧ください
.NET