Defines a top level complex type.
Complex Type Definitions provide for:
Constraining element information items by providing Attribute Declarations governing the appearance and content of attributes.
Constraining element information item children to be empty, or to conform to a specified element-only or mixed content model, or else constraining the character information item children to conform to a specified simple type definition.
Using the mechanisms of Type Definition Hierarchy to derive a complex type from another simple or complex type.
Specifying post-schema-validation infoset contributions for elements.
Limiting the ability to derive additional types from a given complex type.
Controlling the permission to substitute, in an instance, elements of a derived type for elements declared in a content model to be of a given complex type.
See more info at http://www.w3.org/TR/xmlschema-1/#element-complexType.
![]() | Tip |
---|---|
A complex type which is a base type to another type will be rendered with yellow background. |
Property Name | Description | Possible Values | Mentions |
---|---|---|---|
Name | The name of the complex type. Always required. | Any NCName | Only for global complex types. If missing, will be displayed as '[complexType]' in diagram. |
Base Type Definition | The name of the extended/restricted types. | Any from the declared simple or complex types. | For complex types with simple or complex content. |
Derivation Method | The derivation method. | restriction/ extension | Only when base type is set. If the base type is a simple type, the derivation method is always extension. |
Content | The content of the complex type. | simple/ complex | For complex types which extend/restrict a base type. It is automatically detected. |
Content Mixed | Specifies if the complex content model will be mixed. | true/false | For complex contents. |
Mixed | Specifies if the complex type content model will be mixed. | true/false | For global and anonymous complex types. |
Abstract | When set to 'true', this complex type cannot be used directly in the instance documents and needs to be substituted using an 'xsi:type' attribute. | true/false | For global and anonymous complex types. |
Block | Controls whether a substitution (either through a 'xsi:type' or substitution groups) can be performed for a complex type, which is an extension or a restriction of the current complex type. This attribute can only block such substitutions (it cannot "unblock" them), which can also be blocked in the element definition. The default value is defined by the 'blockDefault' attribute of xs:schema. | all, extension, restriction, extension restriction, [Empty] | For global complex types. |
Final | Controls whether the complex type can be further derived by extension or restriction to create new complex types. | all, extension, restriction, extension restriction, [Empty] | For global complex types. |
ID | The component id. | Any id | For all complex types. |
Component | The edited component name. | Not editable property. | For all complex types. |
Namespace | The component namespace. | Not editable property. | For all complex types. |
System ID | The component system id. | Not editable property. | For all complex types. |