XmlSchemaComplexType 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 |
|
AnyAttribute |
복합 형식의 XmlSchemaAnyAttribute 구성 요소에 대한 값을 가져오거나 설정합니다. |
Attributes |
복합 형식에 대한 특성 컬렉션을 가져옵니다. |
AttributeUses |
이 복합 형식과 해당 기본 형식의 모든 컴파일된 특성의 컬렉션을 가져옵니다. |
AttributeWildcard |
이 복합 형식과 해당 기본 형식에 대한 |
BaseSchemaType |
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.
컴파일 이후 개체 형식 또는 기본 제공 XSD(XML 스키마 정의 언어) 데이터 형식, simpleType 요소 또는 complexType 요소를 가져옵니다. 이 속성은 스키마 컴파일 이후 정보 집합 속성입니다. (다음에서 상속됨 XmlSchemaType) |
BaseXmlSchemaType |
이 스키마 형식의 기본 형식에 대한 컴파일 이후 값을 가져옵니다. (다음에서 상속됨 XmlSchemaType) |
Block |
|
BlockResolved |
형식이 스키마 유효성 검사 이후 정보 집합(infoset)에 컴파일된 후의 값을 가져옵니다. 이 값은 |
ContentModel |
이 복합 형식의 컴파일 이후 XmlSchemaContentModel을 가져오거나 설정합니다. |
ContentType |
컴파일 이후 값을 보유하는 복합 형식의 콘텐츠 모델을 가져옵니다. |
ContentTypeParticle |
ContentType 파티클의 컴파일 이후 값을 보유하는 파티클을 가져옵니다. |
Datatype |
복합 형식의 데이터 형식에 대한 컴파일 이후 값을 가져옵니다. (다음에서 상속됨 XmlSchemaType) |
DerivedBy |
이 요소가 해당 기본 형식에서 파생된 방법에 대한 컴파일 이후 정보를 가져옵니다. (다음에서 상속됨 XmlSchemaType) |
Final |
추가 파생이 허용되는지 여부를 나타내는 형식 파생의 최종 특성을 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaType) |
FinalResolved |
Final 속성의 컴파일 이후 값을 가져옵니다. (다음에서 상속됨 XmlSchemaType) |
Id |
문자열 ID를 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaAnnotated) |
IsAbstract |
|
IsMixed |
복합 형식이 혼합 콘텐츠 모델(콘텐츠 내의 태그)을 포함하는지 여부를 결정하는 정보를 가져오거나 설정합니다. |
LineNumber |
|
LinePosition |
|
Name |
유형의 이름을 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaType) |
Namespaces |
이 스키마 개체에 사용할 XmlSerializerNamespaces를 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaObject) |
Parent |
이 XmlSchemaObject의 부모를 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaObject) |
Particle |
compositor 형식을 XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll 또는 XmlSchemaSequence 클래스 중 하나로 가져오거나 설정합니다. |
QualifiedName |
이 형식의 |
SourceUri |
스키마를 로드한 파일의 소스 위치를 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaObject) |
TypeCode |
형식의 XmlTypeCode를 가져옵니다. (다음에서 상속됨 XmlSchemaType) |
UnhandledAttributes |
현재 스키마의 대상 네임스페이스에 속하지 않는 정규화된 특성을 가져오거나 설정합니다. (다음에서 상속됨 XmlSchemaAnnotated) |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |