Home
XML – Documenti ben formati

11 Ottobre 2001

XML – Documenti ben formati

di

Nell'articolo della settimana scorsa abbiamo scoperto cos'è un documento XML e abbiamo analizzato le regole di base della sua sintassi

Come abbiamo visto non si tratta di regole particolarmente complesse, ma per chi è abituato ad HTML, che non prevede troppi controlli formali, ci sarà certamente da fare attenzione per non incappare in errori sintattici.

Un esempio di quanto detto è contenuto nell’esempio pubblicato nell’articolo precedente.
Quanti di voi hanno provato a visualizzare quel documento all’interno di un browser si saranno accorti del seguente errore:

Impossibile visualizzare la pagina XML
Previsto un carattere di punto e virgola (;). Riga 5, posizione 26

XML Tutto&Oltre
-------------------------^
/

Complimenti ai molti che, oltre ad essersi accorti dello scherzetto, hanno anche proposto l’unica soluzione possibile.

La natura dell’errore sta nel fatto che in XML, come in tutti i linguaggi di markup e di programmazione, esistono caratteri speciali che vengono utilizzati per scopi particolari e che non sono quindi visualizzabili direttamente.

Nel nostro caso in XML, così come in HTML, esistono stringhe di testo che hanno la funzione di generalizzare alcuni caratteri speciali che hanno codifiche differenti a seconda dei sistemi e delle piattaforme sulle quali questi vengono visualizzati.

Il carattere che ha generato l’eccezione nel nostro esempio è &.
Esattamente come accade in HTML, il carattere & viene utilizzato da XML per la codifica di caratteri speciali, quali ad esempio l’apice, le doppie virgolette, il minore, il maggiore e lo stesso carattere &.

In particolare questi vengono codificati utilizzando le seguenti sequenze:

  • <
  • >
  • &

Appare chiaro, quindi, come il carattere & non possa essere inserito direttamente all’interno di un documento XML, ma debba essere codificato attraverso la sequenza prevista: “&” seguito da “amp;”.

Il documento di esempio dell’articolo precedente assume dunque la forma seguente:

Steven Holzner
XML Tutto&Oltre
Apogeo
98.000
50,61

In questo articolo vedremo quanto è importante seguire la sintassi quando si costruiscono documenti o flussi di dati XML e nei prossimi articoli vedremo come questa sintassi possa essere affiancata da controlli di tipo strutturale del documento stesso. L’obiettivo sarà creare un linguaggio di markup personalizzato utilizzando le funzionalità del metalinguaggio XML.

Documenti ben formati

Come abbiamo visto un documento XML, per essere considerato tale, deve seguire le regole di sintassi stabilite dal W3C in sede di stesura della specifica.

Le regole di sintassi sono piuttosto semplici:

  • un documento deve contenere uno o più elementi
  • ciascun elemento deve annidare correttamente al suo interno gli elementi figli
  • devono essere seguite le regole di base di XML
  • i caratteri speciali devono essere sostituiti dalle rispettive sequenze di codifica

Tornando al documento che ben conosciamo:

Steven Holzner
XML Tutto&Oltre
Apogeo
98.000
50,61

vediamo qualche esempio di documento che non è “ben formato”:

L’esempio seguente:

<p><!--?xml version="1.0"?--> ...</P>

non è ben formato, infatti non rispetta il vincolo per cui l’uguaglianza tra tag debba essere case sensitive.

Chiaramente anche un documento vuoto, o che contiene al limite soltanto l’intestazione non è ben formato, in quanto non rispetta la regola che prevede la presenza di almeno un elemento.

In generale possiamo dire, quindi, che un documento è ben formato se segue le regole sintattiche di specifica, in caso contrario non sarà possibile visualizzarlo utilizzando un browser XML.

Diamo infine un’occhiata al seguente output di un browser XML:

E Commerciale
&

Apice
'

Maggiore
>

Minore
<

Virgolette
"

Quanti di voi saranno in grado di produrre un documento XML ben formato che venga visualizzato dal browser come descritto?

L'autore

  • Massimo Canducci
    Massimo Canducci vanta oltre 25 anni di esperienza nel campo dell'innovazione e della digital transformation ed è Chief Innovation Officer per Engineering Ingegneria Informatica. È docente alla Singularity University, l'Università di Torino e l'Università di Pavia, e insegna in master MBA.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.

Libri che potrebbero interessarti

Tutti i libri

XML

Conoscere il linguaggio XML significa poter comunicare veramente con tutti

12,26

12,90€ -5%

di Massimo Canducci

Programmare con PHP 7

41,25

59,99€ -31%

33,25

35,00€ -5%

24,99

di Steve Prettyman