다음을 통해 공유


XmlSchemaComplexType 클래스

정의

W3C(World Wide Web 컨소시엄)에서 지정한 대로 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 하는 형식 특성으로 요소를 선언할 수 있습니다.

생성자

XmlSchemaComplexType()

XmlSchemaComplexType 클래스의 새 인스턴스를 초기화합니다.

속성

Annotation

annotation 속성을 가져오거나 설정합니다.

(다음에서 상속됨 XmlSchemaAnnotated)
AnyAttribute

복합 형식의 XmlSchemaAnyAttribute 구성 요소에 대한 값을 가져오거나 설정합니다.

Attributes

복합 형식에 대한 특성 컬렉션을 가져옵니다.

AttributeUses

이 복합 형식과 해당 기본 형식의 모든 컴파일된 특성의 컬렉션을 가져옵니다.

AttributeWildcard

이 복합 형식과 해당 기본 형식에 대한 anyAttribute의 컴파일 이후 값을 가져옵니다.

BaseSchemaType
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.

컴파일 이후 개체 형식 또는 기본 제공 XSD(XML 스키마 정의 언어) 데이터 형식, simpleType 요소 또는 complexType 요소를 가져옵니다. 이 속성은 스키마 컴파일 이후 정보 집합 속성입니다.

(다음에서 상속됨 XmlSchemaType)
BaseXmlSchemaType

이 스키마 형식의 기본 형식에 대한 컴파일 이후 값을 가져옵니다.

(다음에서 상속됨 XmlSchemaType)
Block

block 특성을 가져오거나 설정합니다.

BlockResolved

형식이 스키마 유효성 검사 이후 정보 집합(infoset)에 컴파일된 후의 값을 가져옵니다. 이 값은 xsi:type이 인스턴스 문서에서 사용되는 경우 형식이 적용되는 방법을 나타냅니다.

ContentModel

이 복합 형식의 컴파일 이후 XmlSchemaContentModel을 가져오거나 설정합니다.

ContentType

컴파일 이후 값을 보유하는 복합 형식의 콘텐츠 모델을 가져옵니다.

ContentTypeParticle

ContentType 파티클의 컴파일 이후 값을 보유하는 파티클을 가져옵니다.

Datatype

복합 형식의 데이터 형식에 대한 컴파일 이후 값을 가져옵니다.

(다음에서 상속됨 XmlSchemaType)
DerivedBy

이 요소가 해당 기본 형식에서 파생된 방법에 대한 컴파일 이후 정보를 가져옵니다.

(다음에서 상속됨 XmlSchemaType)
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

compositor 형식을 XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll 또는 XmlSchemaSequence 클래스 중 하나로 가져오거나 설정합니다.

QualifiedName

이 형식의 Name 특성으로부터 만들어진 형식에 대한 정규화된 이름을 가져옵니다. 이 속성은 스키마 컴파일 이후 속성입니다.

(다음에서 상속됨 XmlSchemaType)
SourceUri

스키마를 로드한 파일의 소스 위치를 가져오거나 설정합니다.

(다음에서 상속됨 XmlSchemaObject)
TypeCode

형식의 XmlTypeCode를 가져옵니다.

(다음에서 상속됨 XmlSchemaType)
UnhandledAttributes

현재 스키마의 대상 네임스페이스에 속하지 않는 정규화된 특성을 가져오거나 설정합니다.

(다음에서 상속됨 XmlSchemaAnnotated)

메서드

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상