gototopgototop
 
Sei in: Home Page Corso XML Dichiarare elementi in uno schema xml

Dichiarare elementi in uno schema xml

Un elemento viene dichiarato con la seguente sintassi: <xsd:element>. Per quanto riguarda la dichiarazione di un elemento principale di un documento, lo si deve posizionare all' interno dell'elemento <xsd:schema>, al primo livello. Ecco un esempio di codice:

<?xml version="1.0"?>
<!-- Qui possiamo inserire il nome file.xsd -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="LIBRO">
Qui vanno tutte le dichiarazioni
</xsd:element>
</xsd:schema>

Gli elementi nidificati contenuti nell'elemento <xsd:element> definiscono il tipo dell' elemento LIBRO, come è stato visto nel file di esempio della lezione precedente. Con la dichiarazione dell' elemento si specifica un tipo semplice: <xsd:simpleType> oppure un tipo complesso: <xsd:complexType>.
In un tipo semplice un elemento può contenere solo dati di tipo carattere. L' elemento di tipo complesso può avere, oltre ai dati di tipo carattere, uno o più elementi secondari o attributi. Rivediamo il file di esempio della lezione precedente, in cui è stato definito l' elemento LIBRO, che è di tipo complesso.

Dichiarare un elemento con tipo semplice

Per dichiarare un elemento con tipo semplice, si deve assegnare il nome del tipo all' attributo type nel tag di inizio <xsd:element>. Per esempio, nello schema del file ".xsd" visto prima, all' elemento TITOLO è stato assegnato un tipo semplice predefinito, cioè: <xsd:string>, il quale consente di contenere qualsiasi sequenza di caratteri XML.

<xsd:element name="TITOLO" type="xsd:string"/>

Ci sono molti altri tipi semplici predefiniti che possono essere assegnati agli elementi oggetto di dichiarazioni. È possibile vedere un elenco al seguente link: http://www.w3.org/TR/xmlschema-0/.
In uno schema xsd si possono controllare le volte in cui un elemento deve essere dichiarato, attraverso le occorrenze; l' attributo che permette ciò è minOccurs (il numero minimo di occorrenze) e maxOccurs (numero massimo). Il loro valore predefinito è 1 e, se omesso, può apparire solo una volta nell' elemento. Nel file di esempio visto prima, ogni elemento TITOLO, AUTORE, COPERTINA, PAGINE e PREZZO è stato dichiarato solo una volta come elemento secondario di LIBRO. Se a maxOccurs fosse stato assegnato il valore unbounded, l' elemento puè essere dichiarato infinite volte. Esempio:

<xsd:element name="TITOLO" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />

L' elemento TITOLO può essere incluso un numero illimitato di volte oppure può essere omesso.

Dichiarare un elemento semplice definito

Nella dichiarazione di un elemento si può utilizzare un tipo derivato, già definito nello schema. Si prenda in considerazione il seguente codice:

     <xsd:element name="PREZZO" type="xsd:decimal"/>        	

Il tipo xsd:decimal consente di avere valori con la virgola; però è possibile definire un nuovo tipo per l' elemento LIBRO, cioè:

<xsd:element name="PREZZO" />
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:minExclusive value="0" />
<xsd:maxExclusive value="100" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>

Con questa dichiarazione all' elemento PREZZO viene assegnato un nuovo tipo definito che è stato ricavato da xsd:decimal. Un nuovo tipo semplice viene sempre definito utilizzando l' elemento di schema xsd:simpleType. Si può definire il tipo e, allo stesso tempo, assegnarlo all' elemento che si sta dichiarando tramite l' aggiunta dell' elemento xsd:simpleType e omettendo type all' interno di xsd:element, come nell' esempio della dichiarazione PREZZO. Un nuovo elemento è: xsd:restriction; esso specifica il tipo base, cioè il tipo di partenza , e include elementi speciali detti sfaccettature che indicano con precisione le restrizioni da applicare.

Nella prossima lezione si affronterà la dichiarazione di elementi di tipo complesso.

© www.extrowebsite.com - Grafica, layout, articoli e guide sono di esclusiva proprietà del webmaster - Tutti i diritti riservati