XML Schema <complexContent> Element

Definition und Verwendung

Der Elementtyp <complexContent> definiert die Erweiterung oder Beschränkung von komplexen Typen (entweder gemischt oder nur Elemente).

Elementinformation

Auftretenshäufigkeit einmal
Übergeordnetes Element complexType
Inhalt

Optionales. Annotation

Pflichtfeld. Es gibt genau einen der folgenden Elemente: restriction (complexContent) oder extension (complexContent).

Grammatik

<complexContent
id=ID
gemischt=true|false
jede Eigenschaft
>
(Annotation?,(Beschränkung|Erweiterung))
</complexContent>

(? Zeichen kann im complexContent-Element null oder einmal auftreten.)

Eigenschaft Beschreibung
id Optional. Definiert die eindeutige ID des Elements.
gemischt Optional. Definiert, ob Zeichenfolgen in den Unterelementen des complexType-Elements auftreten dürfen. Standardwert ist false.
jede Eigenschaft Optional. Definiert jede andere Eigenschaft mit non-schema Namensraum.

Beispiel

In diesem Beispiel gibt es einen komplexen Typ "fullpersoninfo", der durch die Erweiterung mit drei zusätzlichen Elementen vom abgeleiteten Typ "personinfo" abgeleitet wird:

<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>

Im obigen Beispiel muss das "employee"-Element in folgender Reihenfolge die folgenden Elemente enthalten: "firstname", "lastname", "address", "city" und "country".