XmlSchemaSimpleTypeUnion クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
W3C (World Wide Web Consortium) によって指定された XML スキーマの単純型に対する union
要素を表します。 union
データ型を使用すると、simpleType
の内容を設定できます。 simpleType
要素の値は、この共用体で指定されている複数のデータ型のうちの、いずれか 1 つであることが必要です。 共用体型は常に派生型であり、許容するデータ型が複数指定されている必要があります。
public ref class XmlSchemaSimpleTypeUnion : System::Xml::Schema::XmlSchemaSimpleTypeContent
public class XmlSchemaSimpleTypeUnion : System.Xml.Schema.XmlSchemaSimpleTypeContent
type XmlSchemaSimpleTypeUnion = class
inherit XmlSchemaSimpleTypeContent
Public Class XmlSchemaSimpleTypeUnion
Inherits XmlSchemaSimpleTypeContent
- 継承
例
次の例は、クラスの XmlSchemaSimpleTypeUnion
使用を示しています。
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;
using namespace System::Xml::Schema;
ref class XMLSchemaExamples
{
private:
static void ValidationCallbackOne(Object^ sender, ValidationEventArgs^ args)
{
Console::WriteLine(args->Message);
}
public:
static void Main()
{
XmlSchema^ schema = gcnew XmlSchema();
//<xs:simpleType name="StringOrIntType">
XmlSchemaSimpleType^ StringOrIntType = gcnew XmlSchemaSimpleType();
StringOrIntType->Name = "StringOrIntType";
schema->Items->Add(StringOrIntType);
// <xs:union>
XmlSchemaSimpleTypeUnion^ union1 = gcnew XmlSchemaSimpleTypeUnion();
StringOrIntType->Content = union1;
// <xs:simpleType>
XmlSchemaSimpleType^ simpleType1 = gcnew XmlSchemaSimpleType();
union1->BaseTypes->Add(simpleType1);
// <xs:restriction base="xs:string"/>
XmlSchemaSimpleTypeRestriction^ restriction1 = gcnew XmlSchemaSimpleTypeRestriction();
restriction1->BaseTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
simpleType1->Content = restriction1;
// <xs:simpleType>
XmlSchemaSimpleType^ simpleType2 = gcnew XmlSchemaSimpleType();
union1->BaseTypes->Add(simpleType2);
// <xs:restriction base="xs:int"/>
XmlSchemaSimpleTypeRestriction^ restriction2 = gcnew XmlSchemaSimpleTypeRestriction();
restriction2->BaseTypeName = gcnew XmlQualifiedName("int", "http://www.w3.org/2001/XMLSchema");
simpleType2->Content = restriction2;
// <xs:element name="size" type="StringOrIntType"/>
XmlSchemaElement^ elementSize = gcnew XmlSchemaElement();
elementSize->Name = "size";
elementSize->SchemaTypeName = gcnew XmlQualifiedName("StringOrIntType");
schema->Items->Add(elementSize);
XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
schemaSet->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallbackOne);
schemaSet->Add(schema);
schemaSet->Compile();
XmlSchema^ compiledSchema = nullptr;
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);
}
};
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:simpleType name="StringOrIntType">
XmlSchemaSimpleType StringOrIntType = new XmlSchemaSimpleType();
StringOrIntType.Name = "StringOrIntType";
schema.Items.Add(StringOrIntType);
// <xs:union>
XmlSchemaSimpleTypeUnion union = new XmlSchemaSimpleTypeUnion();
StringOrIntType.Content = union;
// <xs:simpleType>
XmlSchemaSimpleType simpleType1 = new XmlSchemaSimpleType();
union.BaseTypes.Add(simpleType1);
// <xs:restriction base="xs:string"/>
XmlSchemaSimpleTypeRestriction restriction1 = new XmlSchemaSimpleTypeRestriction();
restriction1.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
simpleType1.Content = restriction1;
// <xs:simpleType>
XmlSchemaSimpleType simpleType2 = new XmlSchemaSimpleType();
union.BaseTypes.Add(simpleType2);
// <xs:restriction base="xs:int"/>
XmlSchemaSimpleTypeRestriction restriction2 = new XmlSchemaSimpleTypeRestriction();
restriction2.BaseTypeName = new XmlQualifiedName("int", "http://www.w3.org/2001/XMLSchema");
simpleType2.Content = restriction2;
// <xs:element name="size" type="StringOrIntType"/>
XmlSchemaElement elementSize = new XmlSchemaElement();
elementSize.Name = "size";
elementSize.SchemaTypeName = new XmlQualifiedName("StringOrIntType");
schema.Items.Add(elementSize);
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);
}
}
Imports System.Xml
Imports System.Xml.Schema
Class XMLSchemaExamples
Public Shared Sub Main()
Dim schema As New XmlSchema()
' <xs:simpleType name="StringOrIntType">
Dim StringOrIntType As New XmlSchemaSimpleType()
StringOrIntType.Name = "StringOrIntType"
schema.Items.Add(StringOrIntType)
' <xs:union>
Dim union As New XmlSchemaSimpleTypeUnion
StringOrIntType.Content = union
' <xs:simpleType>
Dim simpleType1 As New XmlSchemaSimpleType
union.BaseTypes.Add(simpleType1)
' <xs:restriction base="xs:string"/>
Dim restriction1 As New XmlSchemaSimpleTypeRestriction()
restriction1.BaseTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")
simpleType1.Content = restriction1
' <xs:simpleType>
Dim simpleType2 As New XmlSchemaSimpleType()
union.BaseTypes.Add(simpleType2)
' <xs:restriction base="xs:int"/>
Dim restriction2 As New XmlSchemaSimpleTypeRestriction()
restriction2.BaseTypeName = New XmlQualifiedName("int", "http://www.w3.org/2001/XMLSchema")
simpleType2.Content = restriction2
' <xs:element name="size" type="StringOrIntType"/>
Dim elementSize As New XmlSchemaElement()
elementSize.Name = "size"
elementSize.SchemaTypeName = New XmlQualifiedName("StringOrIntType")
schema.Items.Add(elementSize)
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:simpleType name="StringOrIntType">
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:string"/>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:int"/>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:element name="size" type="StringOrIntType"/>
</xs:schema>
注釈
union
型を使用すると、要素または属性値を、複数のアトミック型とリスト型の和集合から描画された 1 つの型の 1 つ以上のインスタンスにすることができます。
コンストラクター
XmlSchemaSimpleTypeUnion() |
XmlSchemaSimpleTypeUnion クラスの新しいインスタンスを初期化します。 |
プロパティ
Annotation |
|
BaseMemberTypes |
|
BaseTypes |
基本型のコレクションを取得します。 |
Id |
文字列 ID を取得または設定します。 (継承元 XmlSchemaAnnotated) |
LineNumber |
|
LinePosition |
|
MemberTypes |
このスキーマまたは指定した名前空間で示された別のスキーマで定義された組み込みデータ型または |
Namespaces |
このスキーマ オブジェクトと一緒に使用する XmlSerializerNamespaces を取得または設定します。 (継承元 XmlSchemaObject) |
Parent |
この XmlSchemaObject の親を取得または設定します。 (継承元 XmlSchemaObject) |
SourceUri |
スキーマを読み込んだファイルのソース位置を取得または設定します。 (継承元 XmlSchemaObject) |
UnhandledAttributes |
現在のスキーマのターゲット名前空間に属さない、修飾された属性を取得または設定します。 (継承元 XmlSchemaAnnotated) |
メソッド
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |