Element complexContent w XML Schema

Definicja i zastosowanie

Element <complexContent> definiuje rozszerzenie lub ograniczenie złożonego typu (zawierającego mieszane zawartość lub tylko elementy).

Informacje o elemencie

Liczba wystąpień Pojedynczy
Rodzic complexType
Zawartość

Opcjonalne. annotation

Obowiązkowe. Ma i tylko jeden z poniższych elementów: restriction (complexContent) lub extension (complexContent).

Gramatyka

<complexContent
id=ID
mixed=true|false
Jakiekolwiek atrybuty
>
(annotation?,(restriction|extension))
</complexContent>

(? Symbol deklaracji elementu może pojawiać się zero lub jeden raz wewnątrz elementu complexContent).

Atrybuty Opis
Id Opcjonalne. Określa unikalny ID tego elementu.
Mixed Opcjonalne. Określa, czy dane znakowe mogą pojawiać się między podelementami tego elementu complexType. Domyślna wartość to false.
Jakiekolwiek atrybuty Opcjonalne. Określa jakieś inne atrybuty z non-schematyczną przestrzenią nazw.

Przykład

W poniższym przykładzie znajduje się złożony typ "fullpersoninfo", który jest pochodną innego złożonego typu "personinfo", rozszerzanego przez trzy dodatkowe elementy:

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

W przykładzie powyższym, element "employee" musi zawierać w kolejności poniższe elementy: "firstname", "lastname", "address", "city" oraz "country".