Il linguaggio XSD è utilizzato per esprimere e definire qualunque tipo di informazione tramite un XSD_Schema e quindi deve offrire tantissime funzionalità e features per poter descrivere qualunque elemento XML in maniera particolareggiata e precisa.
Tra queste particolarità vi sono gli indicatori, di vario tipo come per esempio gli indicatori_di_frequenza o gli indicatori_di_raggruppamento.
Gli Indicatori di Ordinamento vengono utilizzati all'interno della dichiarazione <xs:complexType> per stabilire l'ordine, o la sequenza, con cui devono comparire gli elementi XML all'interno del loro parent. Essi sono:
- all;
- sequence;
- choice;
L'indicatore all
L'indicatore xs:all indica che gli elementi di un tipo complesso possono apparire in qualsiasi ordine. Definendo un Complex_Type in questa maniera:
<xs:complexType name="piantaItem">
<xs:all>
<xs:element name="nome" type="xs:string" />
<xs:element name="esterno" type="xs:boolean" />
</xs:all>
</xs:complexType>si stabilisce che nel documento XML è possibile avere:
<pianta> <nome>Geranio</nome> <esterno>true</esterno> </pianta>
Ma potrebbe essere anche cosi':
<pianta> <esterno>true</esterno> <nome>Geranio</nome> </pianta>
L'indicatore sequence
L'indicatore xs:sequence indica che gli elementi di un tipo complesso devono apparire nella esatta sequenza con cui sono stati definiti.
Se si definisce un elemento complex type in questo modo:
<xs:complexType name="piantaItem">
<xs:sequence>
<xs:element name="nome" type="xs:string" />
<xs:element name="esterno" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
L'elemento XML dovrebbe contenere esattamente:
<pianta> <nome>Geranio</nome> <esterno>true</esterno> </pianta>
L'indicatore choice
L'indicatore xs:choice indica che gli elementi di un tipo complesso sono alternativi tra di loro, ovvero la presenza di uno esclude automaticamente gli altri. Un elemento complex type cosi fatto:
<xs:complexType name="piantaItem">
<xs:choice>
<xs:element name="nome" type="xs:string" />
<xs:element name="esterno" type="xs:boolean" />
</xs:choice>
</xs:complexType>
Potrà contenere un solo elemento a scelta tra nome ed esterno:
<pianta> <esterno>true</esterno> </pianta> <pianta> <nome>Geranio</nome> </pianta> <pianta> <nome>Rosa</nome> </pianta>
Concludendo, gli indicatori di Ordinamento XSD sono molti utili in quanto rendono la definizione di una struttura rigida, quale uno Schema_XSD, molto flessibile.
Alla prossima, MA.
0 commenti:
Posta un commento
Non ti è chiaro qualcosa?
No problem, posta il tuo dubbio ;)
..... e ricordati di firmarlo!