The complexType element defines a complex type. A complex type element is an XML element that contains other elements and/or attributes.
(The ? sign declares that the element can occur zero or one time, and the * sign declares that the element can occur zero or more times inside the complexType element)
|id||Optional. Specifies a unique ID for the element|
|name||Optional. Specifies a name for the element|
|abstract||Optional. Specifies whether the complex type can be used in an instance document. True indicates that an element cannot use this complex type directly but must use a complex type derived from this complex type. Default is false|
|mixed||Optional. Specifies whether character data is allowed to appear between the child elements of this complexType element. Default is false. If a simpleContent element is a child element, the mixed attribute is not allowed!|
|block||Optional. Prevents a complex type that has a specified type
of derivation from being used in place of this complex type. This value can
contain #all or a list that is a subset of extension or restriction:
|final||Optional. Prevents a specified type of derivation of this
complex type element. Can contain #all or a list that is a subset of
extension or restriction.
|any attributes||Optional. Specifies any other attributes with non-schema namespace|
The following example has an element named "note" that is of a complex type:
The following example has a complex type, "fullpersoninfo", that derives from another complex type, "personinfo", by extending the inherited type with three additional elements (address, city and country):
In the example above the "employee" element must contain, in sequence, the following elements: "firstname", "lastname", "address", "city", and "country".