XmlSchemaComplexType クラス

定義

W3C (World Wide Web Consortium) によって指定された XML スキーマの complexType 要素を表します。 このクラスは、要素の属性およびコンテンツのセットを決定する複合型を定義します。

public ref class XmlSchemaComplexType : System::Xml::Schema::XmlSchemaType
public class XmlSchemaComplexType : System.Xml.Schema.XmlSchemaType
type XmlSchemaComplexType = class
    inherit XmlSchemaType
Public Class XmlSchemaComplexType
Inherits XmlSchemaType
継承

次の例では、要素を complexType 作成します。

#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="stringElementWithAnyAttribute">
        XmlSchemaElement^ element = gcnew XmlSchemaElement();
        schema->Items->Add(element);
        element->Name = "stringElementWithAnyAttribute";

        // <xs:complexType>
        XmlSchemaComplexType^ complexType = gcnew XmlSchemaComplexType();
        element->SchemaType = complexType;

        // <xs:simpleContent>
        XmlSchemaSimpleContent^ simpleContent = gcnew XmlSchemaSimpleContent();
        complexType->ContentModel = simpleContent;

        // <extension base= "xs:string">
        XmlSchemaSimpleContentExtension^ extension = gcnew XmlSchemaSimpleContentExtension();
        simpleContent->Content = extension;
        extension->BaseTypeName = gcnew XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:anyAttribute namespace="##targetNamespace"/>
        XmlSchemaAnyAttribute^ anyAttribute = gcnew XmlSchemaAnyAttribute();
        extension->AnyAttribute = anyAttribute;
        anyAttribute->Namespace = "##targetNamespace";

        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="stringElementWithAnyAttribute">
        XmlSchemaElement element = new XmlSchemaElement();
        schema.Items.Add(element);
        element.Name = "stringElementWithAnyAttribute";

        // <xs:complexType>
        XmlSchemaComplexType complexType = new XmlSchemaComplexType();
        element.SchemaType = complexType;

        // <xs:simpleContent>
        XmlSchemaSimpleContent simpleContent = new XmlSchemaSimpleContent();
        complexType.ContentModel = simpleContent;

        // <extension base= "xs:string">
        XmlSchemaSimpleContentExtension extension = new XmlSchemaSimpleContentExtension();
        simpleContent.Content = extension;
        extension.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");

        // <xs:anyAttribute namespace="##targetNamespace"/>
        XmlSchemaAnyAttribute anyAttribute = new XmlSchemaAnyAttribute();
        extension.AnyAttribute = anyAttribute;
        anyAttribute.Namespace = "##targetNamespace";

        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:element name="stringElementWithAnyAttribute">
        Dim element As New XmlSchemaElement()
        schema.Items.Add(element)
        element.Name = "stringElementWithAnyAttribute"

        ' <xs:complexType>
        Dim complexType As New XmlSchemaComplexType()
        element.SchemaType = complexType

        ' <xs:simpleContent>
        Dim simpleContent As New XmlSchemaSimpleContent()
        complexType.ContentModel = simpleContent

        ' <extension base="xs:string">
        Dim extension As New XmlSchemaSimpleContentExtension()
        simpleContent.Content = extension
        extension.BaseTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema")

        ' <xs:anyAttribute namespace="##targetNamespace"/>
        Dim anyAttribute As New XmlSchemaAnyAttribute()
        extension.AnyAttribute = anyAttribute
        anyAttribute.Namespace = "##targetNamespace"

        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="stringElementWithAnyAttribute">
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:anyAttribute namespace="##targetNamespace"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>
</xs:schema>

注釈

要素は、その要素の構造、コンテンツ、および属性を complexType 定義する要素を参照する type 属性を使用して宣言できます。

コンストラクター

XmlSchemaComplexType()

XmlSchemaComplexType クラスの新しいインスタンスを初期化します。

プロパティ

Annotation

annotation プロパティを取得または設定します。

(継承元 XmlSchemaAnnotated)
AnyAttribute

複合型の XmlSchemaAnyAttribute コンポーネントの値を取得または設定します。

Attributes

複合型の属性のコレクションを取得します。

AttributeUses

この複合型およびその基本型について、コンパイル済みのすべての属性のコレクションを取得します。

AttributeWildcard

この複合型およびその基本型について、anyAttribute のコンパイル後の値を取得します。

BaseSchemaType
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

組み込み XML スキーマ定義言語 (XSD: XML Schema Definition Language) データ型、simpleType 要素、または complexType 要素のコンパイル後のオブジェクト型を取得します。 これは、スキーマ コンパイル後の infoset プロパティです。

(継承元 XmlSchemaType)
BaseXmlSchemaType

このスキーマ型の基本型に対応するコンパイル後の値を取得します。

(継承元 XmlSchemaType)
Block

block 属性を取得または設定します。

BlockResolved

型がスキーマ検証後の情報セット (infoset) にコンパイルされた後の値を取得します。 この値は、インスタンス ドキュメントで xsi:type が使用される場合に、型がどのように適用されるかを示します。

ContentModel

この複合型について、コンパイル後の XmlSchemaContentModel を取得または設定します。

ContentType

コンパイル後の値を保持する複合型のコンテンツ モデルを取得します。

ContentTypeParticle

ContentType パーティクルのコンパイル後の値を保持するパーティクルを取得します。

Datatype

複合型のデータ型に対応するコンパイル後の値を取得します。

(継承元 XmlSchemaType)
DerivedBy

この要素が基本型から派生された方法に関するコンパイル後の情報を取得します。

(継承元 XmlSchemaType)
Final

さらに派生が可能かどうかを示す、型派生の final 属性を取得または設定します。

(継承元 XmlSchemaType)
FinalResolved

Final プロパティのコンパイル後の値を取得します。

(継承元 XmlSchemaType)
Id

文字列 ID を取得または設定します。

(継承元 XmlSchemaAnnotated)
IsAbstract

complexType 要素をインスタンス ドキュメントで使用できるかどうかを決定する情報を取得または設定します。

IsMixed

複合型が混合コンテンツ モデル (コンテンツ内のマークアップ) を持つかどうかを決定する情報を取得または設定します。

LineNumber

schema 要素が参照するファイルの行番号を取得または設定します。

(継承元 XmlSchemaObject)
LinePosition

schema 要素が参照するファイルの行番号を取得または設定します。

(継承元 XmlSchemaObject)
Name

型の名前を取得します。値の設定も可能です。

(継承元 XmlSchemaType)
Namespaces

このスキーマ オブジェクトと一緒に使用する XmlSerializerNamespaces を取得または設定します。

(継承元 XmlSchemaObject)
Parent

この XmlSchemaObject の親を取得または設定します。

(継承元 XmlSchemaObject)
Particle

XmlSchemaGroupRefXmlSchemaChoiceXmlSchemaAll、または XmlSchemaSequence の各クラスの 1 つとして、コンポジター型を取得または設定します。

QualifiedName

この型の Name 属性から構築された型の限定名を取得します。 これは、スキーマ コンパイル後のプロパティです。

(継承元 XmlSchemaType)
SourceUri

スキーマを読み込んだファイルのソース位置を取得または設定します。

(継承元 XmlSchemaObject)
TypeCode

型の XmlTypeCode を取得します。

(継承元 XmlSchemaType)
UnhandledAttributes

現在のスキーマのターゲット名前空間に属さない、修飾された属性を取得または設定します。

(継承元 XmlSchemaAnnotated)

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象