DTD (Documen Type Definition)

Els arxius DTD (DocumenType Definition) defineixen l’estructura i les regles que ha de seguir un document XML, com si fos un “manual d’instruccions” per validar-ne el contingut. S’utilitzen per garantir que el document XML segueixi una organització concreta, especificant quins elements i atributs pot contenir, en quin ordre, i quin tipus de dades s’hi poden introduir.

Exemple de document DTD inscripció.dtd

01. <!ELEMENT inscripcio (alumne+)>
02. <!ELEMENT alumne (dni, nom, curs, telefon, email)>
03. <!ELEMENT dni (#PCDATA)>
04. <!ELEMENT nom (#PCDATA)>
04. <!ELEMENT curs (#PCDATA)>
05. <!ATTLIST telefon tipus (mobil|fixe) #REQUIRED>
06. <!ELEMENT telefon (#PCDATA)>
07. <!ELEMENT email (#PCDATA)>

01. <!ELEMENT inscripcio (alumne+)> El document ha de tenir un element principal, anomenat inscripcio, que conté un o més elements alumne (el signe + indica que poden haver-hi un o més elements).

02.<!ELEMENT alumne (dni, nom, curs, telefon, email)> Cada alumne té cinc elements obligatoris: dni, nom, curs, telefon i email, i han d’estar en aquest ordre.

<!ELEMENT dni (#PCDATA)>, <!ELEMENT nom (#PCDATA)>, <!ELEMENT curs (#PCDATA)>, <!ELEMENT telefon (#PCDATA)>, <!ELEMENT email (#PCDATA)> Aquests elements contenen PCDATA (Parsed Character Data), és a dir, text. Cada un és un camp d’informació textual com ara el DNI, el nom, el curs, el telèfon i l’email de l’alumne.

05. <!ATTLIST telefon tipus (mobil|fixe) #REQUIRED> L’element telefon ha de tenir un atribut anomenat tipus que indica si el telèfon és mobil o fixe, i aquest atribut és obligatori (#REQUIRED).

Aquest DTD estableix que un document XML sobre inscripcions ha de tenir una estructura concreta: cada inscripció conté un o més alumnes, i cada alumne té un DNI, un nom, un curs, un telèfon (amb atribut de tipus), i un email. El DTD s’assegura que tots aquests elements existeixin i segueixin l’estructura definida.

Escrit per grigol@xtec.cat