XML Skema kompleksType Element
❮ Voltooi XML-skemaverwysing
Definisie en gebruik
Die complexType-element definieer 'n komplekse tipe. 'n Komplekse tipe element is 'n XML-element wat ander elemente en/of eienskappe bevat.
Elementinligting
- Ouerelemente: element, herdefinieer, skema
Sintaksis
<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>
(Die ? teken verklaar dat die element nul of een keer kan voorkom, en die * teken verklaar dat die element nul of meer keer binne die kompleksType element kan voorkom)
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
Die volgende voorbeeld het 'n element genaamd "noot" wat van 'n komplekse tipe 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
Die volgende voorbeeld het 'n komplekse tipe, "fullpersoninfo", wat afkomstig is van 'n ander komplekse tipe, "personinfo", deur die oorgeërfde tipe uit te brei met drie bykomende elemente (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 die voorbeeld hierbo moet die "werknemer"-element in volgorde die volgende elemente bevat: "voornaam", "van", "adres", "stad" en "land".
❮ Voltooi XML-skemaverwysing