Gli ultimi tutorial di sviluppo web
 

XML Schema complexType Element


<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:
  • estensione - impedisce tipi complessi derivati ​​per estensione
  • restrizione - impedisce tipi complessi derivati ​​dalla restrizione
  • #all - impedisce a tutti i tipi complessi derivati
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.
  • estensione - impedisce di derivazione per estensione
  • restrizione - impedisce di derivazione per restrizione
  • #all - impedisca di derivazione
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