eXtensible Markup Language Tutorial - by Marco Giannì
Capitolo IV: Ampliare i documenti XML

Struttura del documento dello schema

Un documento XML di base è composto da un prologo e da un elemento Document. Anche il documento dello schema XML-Data è composto da questi componenti. Esiste tuttavia una differenza tra i due, ossia che un documento dello schema non contiene alcuna DTD. La struttura del documento è infatti definita all'interno di un elemento Schema che costituisce l'elemento Document, o Root, in una definizione di schema.

Questo documento può essere utilizzato nel seguente modo:

<?xml version="1.0"?>
<Schema name="nomeschema" xmlns="urn:schemas-microsoft-com:xml-data">
 <!-- Qui vi sono le dichiarazioni -->
 <ElementType name="nomeelemento" content="tipocontent"/>
</Schema>

L'elemento Schema deve essere derivato dallo spazio del nome xml-data urn:schemas-microsoft-com:xml-data. Non è necessario dichiarare lo spazio del nome nel prologo dello schema.

Le dichiarazioni dello schema possono avere aree di validità diverse. Questo significa che possono essere sia dichiarazioni di primo livello sia dichiarazioni di livello locale. L'area di validità di una dichiarazione identifica dove e come viene utilizzato un elemento dichiarato all'interno di un documento dello schema.

DICHIARAZIONI DI PRIMO LIVELLO

Le dichiarazioni di primo livello includono qualsiasi tipo di elemento o di attributo dichiarato all'interno dell'elemento Schema. I tipi di elemento o attributo dichiarati nell'area di validità di primo livello possono essere indicati nella dichiarazione del contenuto di altri tipi di elemento presenti nello stesso schema. Ad esempio, nello schema che segue, il nome del tipo di elemento è dichiarato al primo livello e ne facciamo riferimento anche nella dichiarazione del tipo di elemento Plant:

<Schema name="wildflowers" xmlns="urn:schemas-microsoft-com:xml-data">
 <ElementType name="name" content="textOnly"/>

 <ElementType name="plant">
  <element type="name"/>
 </ElementType>
</Schema>

DICHIARAZIONI DI LIVELLO LOCALE

Una dichiarazione che appare all'interno di un'altra dichiarazione, che non è di primo livello, è considerata di area di validità di livello locale. E' possibile fare riferimento alla dichiarazione di livello locale solo all'interno della dichiarazione in cui è contenuta. Ad esempio, se aggiungiamo una dichiarazione dell'attributo di livello locale alla dichiarazione del tipo di elemento Plant otteniamo quanto segue:

<Schema name="wildflowers" xmlns="urn:schemas-microsoft-com:xml-data">
 <ElementType name="name" content="textOnly"/>

 <ElementType name="plant">
  <element type="name"/>
  <attribute name="bestseller" values="yes no"/>
 </ElementType>
</Schema>

L'attributo bestseller può essere utilizzato solo nella dichiarazione del tipo di elemento Plant.

<indietro home page avanti>

Copyright © 2000-2005. Tutti i diritti sono riservati. Per informazioni: mgianni@infinito.it