Home
XML – Documenti validi

18 Ottobre 2001

XML – Documenti validi

di

In XML è possibile definire una grammatica specifica per un certo documento. Vediamo come.

Nell’articolo della settimana scorsa abbiamo terminato di definire le regole sintattiche del linguaggio XML, definendo “ben formato” un documento rispondente a tali regole.

Iniziamo subito con il dire che tutti quelli che mi hanno spedito la soluzione del piccolo problema posto la settimana scorsa hanno fatto un ottimo lavoro.
Vediamo la soluzione: l’unico documento XML in grado di essere visualizzato dal browser nel modo indicato ha il seguente codice sorgente:




E Commerciale
&
&

Apice
'
'

Maggiore
>
>

Minore
<
&lt;

Virgolette
"
&quot;

/

Tale documento è ovviamente ben formato, in caso contrario non sarebbe visualizzabile dal browser, ma genererebbe un messaggio di errore durante la fase di parsificazione.

Grammatiche personalizzate

Proviamo adesso ad esaminare il caso in cui volessimo produrre un documento XML formato nel modo seguente:




xxx
xxx
xxx
xxxxx
xxx
xxx
xxx

/

Il documento in questione dovrebbe seguire, oltre le normali regole sintattiche XML, anche una serie di regole semantiche, cioè di grammatica, in particolare:

  • Ci può essere un numero imprecisato di elementi
  • Il valore dell’attributo tipo=”aaa” dell’elemento persona deve essere contenuto nell’insieme finito (Amico | Collega | Parente), questo significa che non saranno utilizzabili valori differenti.

Un esempio valido di tale documento è il seguente:




Mario
Rossi
Viale Monza 256 – Milano
20100
02-1234567
333-1234567
[email protected]


Matteo
Bianchi
C.so Francia 221/1 – Vercelli
13100
0161-1234567
347-1234567
[email protected]


Giancarlo
Verdi
Viale Garibaldi, 53 – Torino
10100
011-1234567
328-1234567
[email protected]

/

Documenti validi

Per ottenere che il documento XML in questione sia considerato utilizzabile, cioè valido, soltanto nel caso in cui segua le sopra descritte regole semantiche, è necessario descriverne una grammatica attraverso uno dei modi seguenti:

  • DTD (Document Type Definition)
  • XML-Schema

Entrambi i metodi sopra indicati consentono di descrivere una grammatica da adattare al documento XML.

Vediamone un esempio:

Se si vuole utilizzare DTD per fornire la grammatica per il documento XML, sarà necessario scrivere un file rubrica.dtd fatto nel modo seguente:


tipo (Amico | Collega | Parente) #REQUIRED
>








/

Una volta creato questo file sarà necessario indicare al documento XML che deve seguire unna precisa grammatica semantica. Questo è fattibile nel modo seguente:





/

A questo punto si definisce “ben formato” il documento che segue le regole sintattiche e si definisce “valido” il documento che segue le regole semantiche descritte nel file DTD collegato al documento XML.

La sintassi DTD sarà analizzata più a fondo in uno dei prossimi articoli.

L’altra opzione h per la descrizione di una grammatica è XML-Schema, specifica appena approvata dal W3C.
XML-Schema è una specifica molto più potente di quella DTD, che offre un numero illimitato di possibilità.

Un possibile schema XML in grado di validare il documento XML di esempio è il seguente:

Come si può vedere a colpo d’occhio, la sintassi di XML-Schema è ben più prolissa di quella di DTD.
Questo è dovuto, come dicevamo, alle immense possibilità date da questo secondo formalismo per definire una grammatica per la validazione dei documenti XML.

Per collegare il documento XML con il suo schema si usa la sintassi seguente:













































/

Dopo quanto detto, vediamo se siete in grado di rispondere alle due seguenti domande:

  • Esistono documenti validi che non siano ben formati?
  • Esistono documento ben formati che non siano validi?

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.