Tutoriales de informática - Abrirllave.com

Abrirllave.com

Ejercicio de DTD - Corregir errores de "pizzas.xml"

El siguiente documento XML ("pizzas.xml") está bien formado. Sin embargo, no es válido. Para que lo sea, realizar los cambios necesarios en dicho documento, pero sin modificar la DTD interna.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pizzas [
   <!ELEMENT pizzas (ingredientes, tipos)>
   <!ELEMENT ingredientes (ingrediente)*>
      <!ELEMENT ingrediente (#PCDATA)>
         <!ATTLIST ingrediente coding ID #REQUIRED>
   <!ELEMENT tipos (tipo)*>
      <!ELEMENT tipo EMPTY>
         <!ATTLIST tipo nombre CDATA #REQUIRED>
         <!ATTLIST tipo ingredientes IDREFS #REQUIRED>
]>

<pizzas>
   <ingredientes>
      <ingrediente coding="HUE">Huevo</ingrediente>
      <ingrediente coding="CHA">Champiñón</ingrediente>
      <ingrediente coding="CHO">Chorizo</ingrediente>
      <ingrediente coding="CAL">Calabacín</ingrediente>
      <ingrediente coding="JAM">Jamón de York</ingrediente>
   </ingredientes>
   <tipos>
      <tipo nombre="Fantástica" ingredientes="CAL, CHA, ZAN"/>
      <tipo nombre="Sabrosa" ingredientes="CHA, CHO, JAM, HUE"/>
   </tipos>
</pizzas>

Solución:

En este documento se almacena información sobre pizzas.

<pizzas>
   <ingredientes>
      <ingrediente coding="HUE">Huevo</ingrediente>
      <ingrediente coding="CHA">Champiñón</ingrediente>
      <ingrediente coding="CHO">Chorizo</ingrediente>
      <ingrediente coding="CAL">Calabacín</ingrediente>
      <ingrediente coding="JAM">Jamón de York</ingrediente>
      <ingrediente coding="ZAN">Zanahoria</ingrediente>
   </ingredientes>
   <tipos>
      <tipo nombre="Fantástica" ingredientes="CAL CHA ZAN"/>
      <tipo nombre="Sabrosa" ingredientes="CHA CHO JAM HUE"/>
   </tipos>
</pizzas>

Errores detectados y corregidos