Creazione della DTD per un documento XML ben formato

Occupiamoci di scrivere una DTD compatibile con il documento "dipartimento.xml", al fine di renderlo valido. Analizzando il codice del documento, si nota che esso rispetta questa struttura:

Inoltre è opportuno definire un'entità per il carattere "è", che chiamiamo egrave, come in HTML.

La DTD che esplicita queste regole è la seguente:

<!ELEMENT DOCENTI (PERSONA*)>
<!ELEMENT PERSONA (NOME,GRUPPO,TITOLO?,PUBBLICAZIONI,CURRICULUM)>
<!ELEMENT NOME (#PCDATA)>
<!ELEMENT GRUPPO (#PCDATA)>
<!ELEMENT TITOLO (#PCDATA)>
<!ELEMENT PUBBLICAZIONI (PUBBLICAZIONE+)>
<!ELEMENT PUBBLICAZIONE (#PCDATA)>
<!ELEMENT CURRICULUM (#PCDATA)>
<!ENTITY egrave "&#232;" >

Supponiamo di scrivere questa DTD in un file chiamato "dipartimento.dtd". Per associarla al documento, occorre inserire questa riga nel prologo:

<!DOCTYPE DOCENTI SYSTEM "dipartimento.dtd">

Abbiamo così ottenuto un documento XML valido.

Elencare tutti gli elementi e gli attributi e analizzarne il contenuto, al fine di scrivere una DTD compatibile, può diventare un lavoro lungo e difficile per documenti di grandi dimensioni. Una buona idea è quella di partire da DTD molto "larghe", per poi renderle più ristrette ed aderenti al documento. Per il nostro esempio, è giusta anche la definizione:

<!ELEMENT PERSONA (NOME|GRUPPO|TITOLO|PUBBLICAZIONI|CURRICULUM)*>

La semantica di questa definizione è molto povera, però è un buon punto di partenza per evitare errori ed ottenere in seguito una DTD più aderente al documento.

---

Slide precedenteProssima slideIndiceBibliografia

---

Altre slides: