<Vollständige XML - Schema - Referenz
Definition und Verwendung
Das complextype-Element definiert einen komplexen Typ. Ein komplexer Typ Element ist ein XML-Element, das andere Elemente und / oder Attribute enthält.
Elementinformationen
- Parent elements: Element, neu zu definieren, Schema
Syntax
<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>
(Das? Zeichen erklärt, dass das Element Null oder eine Zeit auftreten kann, und das * Zeichen erklärt, dass das Element null oder mehrere Male innerhalb des complextype-Element auftreten können)
Attribut | Beschreibung |
---|---|
id | Optional. Gibt eine eindeutige ID für das Element |
name | Optional. Gibt einen Namen für das Element |
abstract | Optional. Gibt an, ob der komplexe Typ kann in einem Instanzdokument verwendet werden. True gibt an, dass ein Element nicht diese komplexe Art direkt verwenden können, aber eine komplexe Art von dieser komplexen Typ abgeleitet verwenden. Die Standardeinstellung ist false |
mixed | Optional. Gibt an, ob Zeichendaten zwischen dem Kind zu erscheinen Elemente dieses complextype-Element erlaubt ist. Die Standardeinstellung ist false. Wenn ein Element simple ein untergeordnetes Element ist, das mixed ist Attribut nicht erlaubt! |
block | Optional. Verhindert einen komplexen Typ, die einen bestimmten Typ der Ableitung hat von anstelle dieses komplexen Typs verwendet wird. Dieser Wert kann #all oder eine Liste enthalten, die eine Teilmenge der Erweiterung oder Einschränkung ist:
|
final | Optional. Verhindert, dass eine bestimmte Art von Ableitung dieses komplexen Typ Element. Kann enthalten #all oder eine Liste, die eine Teilmenge der Erweiterung oder Einschränkung ist.
|
any attributes | Optional. Gibt alle anderen Attribute, die nicht-Schema-Namensraum |
Beispiel 1
Das folgende Beispiel hat ein Element namens "note" , die von einem komplexen Typ ist:
<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>
Beispiel 2
Das folgende Beispiel hat einen komplexen Typ, "fullpersoninfo" , die von einem anderen komplexen Typ ableitet, "personinfo" , durch die geerbte Typ mit drei zusätzlichen Elemente erstrecken (address, city and country) :
<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 dem obigen Beispiel der "employee" Element muss in der angegebenen Reihenfolge die folgenden Elemente enthalten: "firstname" , "lastname" , "address" , "city" und "country" .
<Vollständige XML - Schema - Referenz