XmlSchemaSimpleTypeUnion クラス
アセンブリ: System.Xml (system.xml.dll 内)



XmlSchemaSimpleTypeUnion クラスを使用する例を次に示します。
Imports System 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
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); } }
このコード例に対して生成される 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>

System.Xml.Schema.XmlSchemaObject
System.Xml.Schema.XmlSchemaAnnotated
System.Xml.Schema.XmlSchemaSimpleTypeContent
System.Xml.Schema.XmlSchemaSimpleTypeUnion


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- XmlSchemaSimpleTypeUnion クラスのページへのリンク