simpleType
Definisce un tipo semplice che determina i vincoli e le informazioni sui valori degli attributi o degli elementi che contengono solo testo.
<simpleType
final = (#all | (list | union | restriction))
id = ID
name = NCName
{any attributes with non-schema Namespace}...>
Content: (annotation?, (restriction | list | union))
</simpleType>
Attributi
final
Tipo di derivazione. L'attributo final impedisce il tipo di derivazione specificato per questo elemento simpleType. Il valore può contenere #all o un elenco costituito da un sottoinsieme di list, union o restriction.list Impedisce la derivazione tramite elenco. union Impedisce la derivazione tramite unione. restriction Impedisce la derivazione per restrizione. #all Impedisce tutte le derivazioni (elenco, unione e restrizione). Facoltativo.
id
ID dell'elemento. Il valore di id deve essere di tipo ID ed essere univoco all'interno del documento che contiene l'elemento.Facoltativo.
name
Nome del tipo. Il nome deve essere un NCName (No-Colon-Name), come indicato nella specifica relativa agli spazi dei nomi XML.Se specificato, il nome deve essere univoco in tutti gli elementi simpleType e complexType.
Obbligatorio se l'elemento simpleType è figlio dell'elemento schema. Non consentito negli altri casi.
Informazioni sull'elemento
Numero di occorrenze | Illimitato |
Elementi padre | attribute, element, list, restriction (simpleType), schema, union |
Contenuto | annotation, list, restriction (simpleType), union |
Osservazioni
I tipi semplici vengono definiti derivandoli da tipi semplici esistenti, ovvero tipi di dati incorporati e tipi semplici derivati. Un tipo semplice non può contenere elementi né disporre di attributi.
È possibile definire un tipo semplice utilizzando uno degli elementi che seguono.
restriction | Limita l'intervallo di possibili valori del tipo semplice a un sottoinsieme di quelli del tipo semplice ereditato. |
list | Definisce un tipo semplice contenente un elenco, separato da spazi vuoti, dei valori di un tipo semplice ereditato. |
union | Definisce un tipo semplice contenente un'unione dei valori di due o più tipi semplici ereditati. |
Una dichiarazione simpleType contenuta in un elemento complexType o attribute definisce tale tipo semplice nell'ambito del complexType o attribute che lo contiene. Una dichiarazione simpleType con l'elemento schema come padre ha un ambito globale all'interno di tale schema.
Dopo avere definito un tipo semplice, è possibile utilizzarlo in una dichiarazione di attributo o elemento o in una dichiarazione complexType, che può essere a sua volta utilizzata in una dichiarazione di elemento.
Esempi
Negli esempi che seguono vengono illustrate definizioni di tipi semplici che utilizzano gli elementi restriction, list e union.
Restriction
<xs:simpleType name="freezeboilrangeInteger">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
List
<xs:simpleType name="listOfDates">
<xs:list itemType="xs:date">
</xs:simpleType>
Union
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:attribute name="allframesize">
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="roadbikesize"/>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="mountainbikesize"/>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:attribute>
<xs:simpleType name="roadbikesize">
<xs:restriction base="xs:positiveInteger">
<xs:enumeration value="46"/>
<xs:enumeration value="52"/>
<xs:enumeration value="55"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="mountainbikesize">
<xs:restriction base="xs:string">
<xs:enumeration value="small"/>
<xs:enumeration value="medium"/>
<xs:enumeration value="large"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Vedere anche
Informazioni di riferimento sullo schema XML (XSD) | Elementi di uno schema XML
Per ulteriori informazioni, vedere il documento del W3C dal titolo XML Schema Part 1: Structures Recommendation all'indirizzo http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-simpleType/ (informazioni in lingua inglese).