Ejercicio de DTD - Corregir errores de "geografia.xml"
El siguiente documento XML ("geografia.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 geografia [
<!ELEMENT geografia (paises, ciudades)>
<!ELEMENT paises (pais)*>
<!ELEMENT pais (#PCDATA)>
<!ATTLIST pais codpais ID #REQUIRED>
<!ELEMENT ciudades (ciudad)*>
<!ELEMENT ciudad (#PCDATA)>
<!ATTLIST ciudad pais IDREF #IMPLIED>
]>
<geografia>
<paises>
<pais codpais="1">Argentina</pais>
<pais codpais="2">Austria</pais>
<pais codpais="3">Japón</pais>
<pais codpais="4">Noruega</pais>
</paises>
<ciudades>
<ciudad pais="3">Osaka</ciudad>
<ciudad>Oslo</ciudad>
<ciudad pais="">Sevilla</ciudad>
<ciudad pais="3">Tokio</ciudad>
<ciudad pais="2">Viena</ciudad>
</ciudades>
</geografia>
Solución:
En este documento se almacena información sobre artículos.
<geografia>
<paises>
<pais codpais="ARG">Argentina</pais>
<pais codpais="AUS">Austria</pais>
<pais codpais="JAP">Japón</pais>
<pais codpais="NOR">Noruega</pais>
</paises>
<ciudades>
<ciudad pais="JAP">Osaka</ciudad>
<ciudad>Oslo</ciudad>
<ciudad>Sevilla</ciudad>
<ciudad pais="JAP">Tokio</ciudad>
<ciudad pais="AUS">Viena</ciudad>
</ciudades>
</geografia>
Errores detectados y corregidos
- Los valores del atributo codpais no pueden empezar por un número.
- El atributo pais es opcional (#IMPLIED), pero no puede estar vacío.