<Pełna XML Schema Reference
Definicja i Wykorzystanie
Element complexType definiuje typ złożony. Złożony elementem typu jest elementem XML, który zawiera inne elementy i / lub atrybuty.
Element informacji
- Parent elements: element przedefiniować, schema
Składnia
<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>
(Znak? Deklaruje, że element może wystąpić zero lub jeden raz, a * Znak deklaruje, że element może wystąpić zero lub więcej razy wewnątrz elementu complexType)
Atrybut | Opis |
---|---|
id | Opcjonalny. Określa unikatowy identyfikator dla elementu |
name | Opcjonalny. Określa nazwę elementu |
abstract | Opcjonalny. Określa czy typ złożony może być stosowany, na przykład dokumentu. True oznacza, że dany element nie może korzystać z tego typu złożonego bezpośrednio, ale musi użyć typu złożonego pochodzące z tego typu złożonego. Domyślnie jest fałszywy |
mixed | Opcjonalny. Określa, czy dane znakowe może pojawić pomiędzy elementów potomnych tego elementu complexType. Domyślnie jest fałszywe. Jeśli simpleContent element jest elementem dziecko, tym mixed atrybut nie jest dozwolona! |
block | Opcjonalny. Zapobiega typu złożonego, który posiada określony typ pochodnej zostały użyte w miejscu tego typu złożonego. Wartość ta może zawierać #all lub listę, która jest podzbiorem rozszerzenia lub ograniczenia:
|
final | Opcjonalny. Zapobiega określony rodzaj pozyskiwania tego złożonego elementu typu. Może zawierać #all lub listę, która jest podzbiorem rozszerzenia lub ograniczenia.
|
any attributes | Opcjonalny. Określa atrybuty z innych przestrzeni nazw nie schematu |
Przykład 1
Poniższy przykład zawiera element o nazwie "note" , że jest typu złożonego:
<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>
Przykład 2
Poniższy przykład ma złożoną typ "fullpersoninfo" , która wywodzi się z innego typu złożonego, "personinfo" , poprzez rozszerzenie odziedziczony typ z trzema dodatkowymi elementami (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>
W powyższym przykładzie "employee" elementu musi zawierać w kolejności, następujące elementy: "firstname" , "lastname" , "address" , "city" i "country" .
<Pełna XML Schema Reference