Neueste Web-Entwicklung Tutorials
 

XML Schema complex Element


<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:
  • Erweiterung - verhindert komplexe Typen durch Erweiterung abgeleitet
  • Einschränkung - verhindert, dass komplexe Typen durch Einschränkung abgeleitet
  • #all - verhindert, dass alle abgeleiteten komplexen Typen
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.
  • Erweiterung - verhindert Ableitung durch Erweiterung
  • Einschränkung - verhindert Ableitung durch Einschränkung
  • #all - verhindert jegliche Ableitung
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