<Schema di riferimento XML completo
Definizione e utilizzo
L'elemento complexType definisce un tipo complesso. Un elemento tipo complesso è un elemento XML che contiene altri elementi e / o attributi.
Informazioni elemento
- Parent elements: elemento, ridefinire lo schema
Sintassi
<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>
(L'? Segno dichiara che l'elemento può verificarsi zero o una volta, e il segno * dichiara che l'elemento può verificarsi zero o più volte all'interno dell'elemento complexType)
Attributo | Descrizione |
---|---|
id | Facoltativo. Specifica un ID univoco per l'elemento |
name | Facoltativo. Specifica un nome per l'elemento |
abstract | Facoltativo. Specifica se il tipo complesso può essere utilizzato in un documento di istanza. True indica che un elemento non può utilizzare questo tipo complesso direttamente ma deve utilizzare un tipo complesso derivato da questo tipo complesso. Il valore predefinito è falso |
mixed | Facoltativo. Specifica se i dati di carattere è permesso di apparire tra gli elementi figli di questo elemento complexType. Il valore predefinito è falso. Se un elemento simpleContent è un elemento secondario, il mixed attributo non è consentito! |
block | Facoltativo. Impedisce un tipo complesso che ha un tipo specificato di derivazione sia utilizzato al posto di questo tipo complesso. Questo valore può contenere #all o un elenco che è un sottoinsieme di proroga o di restrizione:
|
final | Facoltativo. Impedisce un tipo di derivazione di questo elemento tipo complesso specificato. Può contenere #all o un elenco che è un sottoinsieme di proroga o di restrizione.
|
any attributes | Facoltativo. Specifica qualsiasi altro attributo con i non-schema namespace |
esempio 1
Il seguente esempio ha un elemento denominato "note" che è di tipo complesso:
<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>
esempio 2
L'esempio che segue è un tipo complesso, "fullpersoninfo" , che deriva da un altro tipo complesso, "personinfo" , estendendo il tipo ereditata con tre elementi aggiuntivi (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>
Nell'esempio precedente il "employee" elemento deve contenere, in sequenza, i seguenti elementi: "firstname" , "lastname" , "address" , "city" e "country" .
<Schema di riferimento XML completo