Saltar la navegación

4.5.- Formas de Declarar un DTD

Existen dos formas de declarar un DTD:

  • Interna
  • Externa

Interna

Si el DTD es declarado dentro del fichero XML, este debe ser envuelto dentro de la definición <!DOCTYPE>

<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend</body>
</note>

(fuente: https://www.w3schools.com/xml/xml_dtd_intro.asp )

Externa

El DTD está escrito en un fichero diferente al del XML que contiene los datos. En este caso, el XML debe referenciar al DTD en la definición <!DOCTYPE>

Datos.xml

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

note.dtd

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>