Tutoriales de informática - Abrirllave.com

Abrirllave.com

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

El siguiente documento XML ("elementos.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 elementos [
   <!ELEMENT elementos (pcdata*, any+, vacio)>
   <!ELEMENT pcdata (#PCDATA)>
   <!ELEMENT any (ANY)>
   <!ELEMENT vacío (EMPTY)>
]>

<elementos>
   <any/>
   <vacio/>
</elementos>

Solución 1:

En este documento se almacena información sobre elementos.

<!DOCTYPE elementos [
   <!ELEMENT elementos (pcdata*, any+, vacio)>
   <!ELEMENT pcdata (#PCDATA)>
   <!ELEMENT any ANY>
   <!ELEMENT vacio EMPTY>
]>

Errores detectados y corregidos en la DTD

Solución 2: considerando "ANY" y "EMPTY" como elementos en vez de tipos

<!DOCTYPE elementos [
   <!ELEMENT elementos (pcdata*, any+, vacio)>
   <!ELEMENT pcdata (#PCDATA)>
   <!ELEMENT any (ANY*)>
   <!ELEMENT ANY (#PCDATA)>
   <!ELEMENT vacio (EMPTY*)>
   <!ELEMENT EMPTY (#PCDATA)>
]>

Así, se podría escribir, por ejemplo:

<elementos>
   <any>
      <ANY>Elemento ANY</ANY>
   </any>
   <vacio>
         <EMPTY>Elemento EMPTY</EMPTY>
   </vacio>
</elementos>