XmlSchemaComplexType Class
Represents the complexType element from XML Schema as specified by the World Wide Web Consortium (W3C). This class defines a complex type that determines the set of attributes and content of an element.
Assembly: System.Xml (in System.Xml.dll)
System.Xml.Schema::XmlSchemaObject
System.Xml.Schema::XmlSchemaAnnotated
System.Xml.Schema::XmlSchemaType
System.Xml.Schema::XmlSchemaComplexType
| Name | Description | |
|---|---|---|
![]() | XmlSchemaComplexType() | Initializes a new instance of the XmlSchemaComplexType class. |
| Name | Description | |
|---|---|---|
![]() | Annotation | Gets or sets the annotation property.(Inherited from XmlSchemaAnnotated.) |
![]() | AnyAttribute | Gets or sets the value for the XmlSchemaAnyAttribute component of the complex type. |
![]() | Attributes | Gets the collection of attributes for the complex type. |
![]() | AttributeUses | Gets the collection of all the complied attributes of this complex type and its base types. |
![]() | AttributeWildcard | Gets the post-compilation value for anyAttribute for this complex type and its base type(s). |
![]() | BaseSchemaType | Obsolete. Gets the post-compilation object type or the built-in XML Schema Definition Language (XSD) data type, simpleType element, or complexType element. This is a post-schema-compilation infoset property.(Inherited from XmlSchemaType.) |
![]() | BaseXmlSchemaType | Gets the post-compilation value for the base type of this schema type.(Inherited from XmlSchemaType.) |
![]() | Block | Gets or sets the block attribute. |
![]() | BlockResolved | Gets the value after the type has been compiled to the post-schema-validation information set (infoset). This value indicates how the type is enforced when xsi:type is used in the instance document. |
![]() | ContentModel | Gets or sets the post-compilation XmlSchemaContentModel of this complex type. |
![]() | ContentType | Gets the content model of the complex type which holds the post-compilation value. |
![]() | ContentTypeParticle | Gets the particle that holds the post-compilation value of the ContentType particle. |
![]() | Datatype | Gets the post-compilation value for the data type of the complex type.(Inherited from XmlSchemaType.) |
![]() | DerivedBy | Gets the post-compilation information on how this element was derived from its base type.(Inherited from XmlSchemaType.) |
![]() | Final | Gets or sets the final attribute of the type derivation that indicates if further derivations are allowed.(Inherited from XmlSchemaType.) |
![]() | FinalResolved | Gets the post-compilation value of the Final property.(Inherited from XmlSchemaType.) |
![]() | Id | Gets or sets the string id.(Inherited from XmlSchemaAnnotated.) |
![]() | IsAbstract | Gets or sets the information that determines if the complexType element can be used in the instance document. |
![]() | IsMixed | Gets or sets information that determines if the complex type has a mixed content model (markup within the content).(Overrides XmlSchemaType::IsMixed.) |
![]() | LineNumber | Gets or sets the line number in the file to which the schema element refers.(Inherited from XmlSchemaObject.) |
![]() | LinePosition | Gets or sets the line position in the file to which the schema element refers.(Inherited from XmlSchemaObject.) |
![]() | Name | Gets or sets the name of the type.(Inherited from XmlSchemaType.) |
![]() | Namespaces | Gets or sets the XmlSerializerNamespaces to use with this schema object.(Inherited from XmlSchemaObject.) |
![]() | Parent | Gets or sets the parent of this XmlSchemaObject.(Inherited from XmlSchemaObject.) |
![]() | Particle | Gets or sets the compositor type as one of the XmlSchemaGroupRef, XmlSchemaChoice, XmlSchemaAll, or XmlSchemaSequence classes. |
![]() | QualifiedName | Gets the qualified name for the type built from the Name attribute of this type. This is a post-schema-compilation property.(Inherited from XmlSchemaType.) |
![]() | SourceUri | Gets or sets the source location for the file that loaded the schema.(Inherited from XmlSchemaObject.) |
![]() | TypeCode | Gets the XmlTypeCode of the type.(Inherited from XmlSchemaType.) |
![]() | UnhandledAttributes | Gets or sets the qualified attributes that do not belong to the current schema's target namespace.(Inherited from XmlSchemaAnnotated.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
An element can be declared with a type attribute that refers to a complexType element that defines the structure, content, and attributes of that element.
The following example creates a complexType element.
#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; };
The following XML file is used for the preceding code example.
<?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>
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.


