Saltar al contenido principal

Ejercicio 403

Consideremos el siguiente documento XML:

<biblioteca>
<libro codigo="123" ubicacion="estantería 1">
<autor>Miguel de Cervantes Saavedra</autor>
<titulo>El Quijote de la Mancha</titulo>
</libro>
<libro codigo="1023" ubicacion="estantería 3">
<autor>Pablo Neruda</autor>
<titulo>Veinte poemas de amor y una canción desesperada</titulo>
</libro>
</biblioteca>

Elabora un documento DTD que permita validar la estructura del documento XML anterior, teniendo en cuenta los siguientes aspectos:

  • La biblioteca puede tener un libro o más.
  • El atributo codigo es obligatorio.
  • El atributo ubicacion no es obligatorio.
Solución
XML
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE biblioteca SYSTEM "403.dtd">
<biblioteca>
<libro codigo="123" ubicacion="estantería 1">
<autor>Miguel de Cervantes Saavedra</autor>
<titulo>El Quijote de la Mancha</titulo>
</libro>
<libro codigo="1023" ubicacion="estantería 3">
<autor>Pablo Neruda</autor>
<titulo>Veinte poemas de amor y una canción desesperada</titulo>
</libro>
</biblioteca>
403.dtd
<!ELEMENT biblioteca (libro+)>
<!ELEMENT libro (autor, titulo)>
<!ATTLIST libro codigo CDATA #REQUIRED>
<!ATTLIST libro ubicacion CDATA #IMPLIED>
<!ELEMENT autor (#PCDATA)>
<!ELEMENT titulo (#PCDATA)>