  |
Deve avere un elemento radice |
  |
Tag accoppiati esattamente |
  |
no <b><i></b></i> |
Visti gli elementi base, esaminiamo adesso la struttura
di un documento XML. Ogni documento XML deve avere innanzitutto una
dichiarazione all'inizio del documento, descritta più
avanti. Un'altra regola fondamentale è che l'intero corpo di un
documento deve essere contenuto dentro un unico tag, detto
radice. Per esempio i documenti HTML sono tutti contenuti in un
unico tag, appunto <HTML>. Questa regola dovrebbe valere anche
per i documenti HTML, ma in pratica, siccome molti browser perdonano gli
errori, a volte non viene seguita.
L'XML richiede regole di struttura rigide: ovvero ogni
volta che un tag viene aperto deve venir chiuso dopo che tutti
i tag eventualmente aperti nel corpo sono stati a loro volta
chiusi. Come le parentesi in una espressione matematica, se uno apre
una parentesi quadra e una graffa, deve chiudere la graffa prima della
quadra. Anche questa regola dovrebbe valere per l'HTML, ma in pratica
i browser perdonano sequenze errate come
<b><i>errore!</b></i>. Per esempio
sequenze di questo genere vengono prodotto dall'esportazione HTML da
certe versioni di noti Word Processor. In XML questo non è
consentito.
  |
Tag senza corpo terminati esplicitamente |
  |
<separator></separator> |
  |
abbreviazione: <separator/> |
L'XML, a differenza dell'HTML, non ha tag
predefiniti. Per questo motivo non è possibile distinguere
a priori tra tag singoli e tag accoppiati. Per esempio in
HTML abbiamo tag come H1 che sono sempre accoppiati, ma
esistono anche altri tag, come IMG, che non prevedono un
corpo. Per questo motivo, in XML tutti i tag devono essere
accoppiati. Un tag che comincia deve avere eventualmente un
corpo vuoto e un tag terminatore corrispondente. Poiché
può essere abbastanza noioso scrivere sempre
esplicitamente <img></img> per ogni tag
che ha un corpo vuoto, è disponibile una comoda
abbreviazione, ovvero <img/>.
|