Ejercicio de DTD - Corregir errores de "lugares.xml"
El siguiente documento XML ("lugares.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 lugares [
<!ELEMENT lugares ANY*>
]>
<lugares>En el <lugar>polo norte</lugar> hace mucho frío. Pero, en el <lugar>desierto del Sahara</lugar> hace mucho calor.</lugares>
Solución 1: declarando "lugares" de tipo ANY
En este documento se almacena información sobre lugares.
<!DOCTYPE lugares [
<!ELEMENT lugares ANY>
<!ELEMENT lugar (#PCDATA)>
]>
Errores detectados y corregidos en la DTD
- ANY no puede escribirse con un *.
- Además, hay que declarar el elemento "lugar" de tipo (#PCDATA).
Solución 2: sin declarar "lugares" de tipo ANY
<!DOCTYPE lugares [
<!ELEMENT lugares (#PCDATA | lugar)*>
<!ELEMENT lugar (#PCDATA)>
]>
- Con (#PCDATA | lugar)* se ha indicado que el elemento "lugares" puede contener varios elementos #PCDATA y "lugar".
- También, en esta solución, es necesario declarar el elemento "lugar" de tipo (#PCDATA).