Ejercicio de DTD - Corregir errores de "declaraciones.xml"
El siguiente documento XML ("declaraciones.xml") está bien formado. Sin embargo, no es válido. Para que lo sea, realizar los cambios necesarios en la DTD interna de dicho documento.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE declaraciones [
<!ELEMENT declaraciones (consonante | tipo_de_dato | variable)>
<!ELEMENT consonante (#PCDATA)>
<!ATTLIST consonante valor CDATA #REQUIRED>
<!ELEMENT tipo_de_dato (#PCDATA)>
<!ELEMENT variable (#PCDATA)>
<!ATTLIST variable tipo CDATA #REQUIRED>
]>
<declaraciones>
<consonante valor="3.141592">PI</consonante>
<variable tipo="real">radio</variable>
<variable>area</variable>
<variable>longitud</variable>
</declaraciones>
Solución:
En este documento se almacena información sobre declaraciones.
<!DOCTYPE declaraciones [
<!ELEMENT declaraciones (consonante | tipo_de_dato | variable)*>
<!ELEMENT consonante (#PCDATA)>
<!ATTLIST consonante valor CDATA #REQUIRED>
<!ELEMENT tipo_de_dato (#PCDATA)>
<!ELEMENT variable (#PCDATA)>
<!ATTLIST variable tipo CDATA #IMPLIED>
]>
Errores detectados y corregidos en la DTD
- Con * o + se tiene que indicar que los elementos "consonante", "tipo_de_dato" y "variable" pueden aparecer varias veces.
- No es obligatorio indicar el tipo de una variable. Por tanto, el atributo valor, en vez de declararlo #REQUIRED, tiene que ser #IMPLIED.