XML Schema complexType Element
❮ Volledige XML-schemareferentie
Definitie en gebruik
Het element complexType definieert een complex type. Een complex type element is een XML-element dat andere elementen en/of attributen bevat.
Elementinformatie
- Bovenliggende elementen: element, herdefiniëren, schema
Syntaxis
<complexType
id=ID
name=NCName
abstract=true|false
mixed=true|false
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
any attributes
>
(annotation?,(simpleContent|complexContent|((group|all|
choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?))))
</complexType>
(Het ?-teken geeft aan dat het element nul of één keer kan voorkomen, en het *-teken geeft aan dat het element nul of meer keer kan voorkomen binnen het complexType-element)
Attribute | Description |
---|---|
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 |
voorbeeld 1
Het volgende voorbeeld heeft een element met de naam "note" dat van een complex type is:
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Voorbeeld 2
Het volgende voorbeeld heeft een complex type, "fullpersoninfo", dat is afgeleid van een ander complex type, "personinfo", door het geërfde type uit te breiden met drie extra elementen (adres, stad en land):
<xs:element name="employee" type="fullpersoninfo"/>
<xs:complexType name="personinfo">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="fullpersoninfo">
<xs:complexContent>
<xs:extension base="personinfo">
<xs:sequence>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
In het bovenstaande voorbeeld moet het element "employee" achtereenvolgens de volgende elementen bevatten: "voornaam", "achternaam", "adres", "plaats" en "land".
❮ Volledige XML-schemareferentie