XmlSchemaComplexType 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
按 WWW 联合会 (W3C) 指定的方式显示 complexType
来自 XML 架构的元素。 此类定义一个复杂类型,它确定属性集和元素的内容。
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 |
已过时。
已过时。
已过时。
获取编译后对象类型或内置 XML 架构定义语言 (XSD) 数据类型、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 |
获取组合类型或将其设置为 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) |