Está en la página 1de 6

Ejercicios

1. Comprobar si el siguiente documento XML está bien formado y si es válido

<?xml version="1.0" encoding="utf-8"?>


<!DOCTYPE alumno [
<!ELEMENT alumno (edad, nombre)>
<!ELEMENT edad (#PCDATA)>
<!ELEMENT nombre (#PCDATA)>]>
<alumno>
<nombre>Juan</nombre>
<edad>20</edad>
</alumno>

2. Crear una DTD interna que se corresponda con la siguiente estructura de datos de un
documento XML

<sombrero>El sombrero es de
<material>fieltro</material> y es de color
<color>verde</color>
</sombrero>

3. Crear una DTD interna que se corresponda con la siguiente estructura de datos de un
documento XML
<libro>El libro está recogido en la colección <ubicacion/> con el Título siguiente <titulo>
Mi primer libro</titulo> sobre el autor <autor/> no tenemos mucha información. En el
libro <descripcion> cuento <a>la experiencia</a> de escribir un libro </descripcion> Hasta
la próxima</libro>

Comprueba si es válido en https://www.freeformatter.com/xml-validator-xsd.html


4. Crea una DTD interna que se corresponda con la siguiente estructura de datos de un
documento XML
<zumos>
<zumo>
<codigo>123456789</codigo>
<precio>2</precio>
</zumo>
<zumo>
<precio>4</precio>
</zumo>
</zumos>
5. Escribe un XML según la siguiente DTD
<!DOCTYPE directorio [
<!ELEMENT directorio (persona)+>
<!ELEMENT persona (#PCDATA)>
<!ATTLIST persona id ID #REQUIRED madre IDREF #IMPLIED padre IDREF #IMPLIED>
]>

6. Crear una DTD correspondiente a la siguiente estructura de datos de un documento XML


<articulo>
<articulo color="naranja">libreta</articulo>
<articulo color="naranja">carpeta</articulo>
<articulo >estuche</articulo>
</articulo>

7. Escribir un XML que utilice esta DTD de forma externa


<!ELEMENT %dato "(#PCDATA)">
<!ELEMENT alumno (nombre, edad?, ciudad)>
<!ELEMENT nombre %dato;>
<!ELEMENT edad EMPTY>
<!ELEMENT ciudad %dato;>

8. Escribir el XML y el DTD para un grupo de alumnos que quiere incluir nedesariamente un
logo en formato PNG y que su valor sea una entidad, en el formato de dicha entidad hay que
utilizar una notación, en este caso ‘png’. Se supone que en el sistema se tiene una aplicación
ejecutable capaz de procesar imágenes png.
9. Crear una DTD correspondiente a la siguiente estructura de datos de un documento XML
<bizcochos>
<ingredientes>
<ingrediente codigo="Hue">Huevos</ingrediente>
<ingrediente codigo="Pan">Panela</ingrediente>
<ingrediente codigo="Ace">Aceite</ingrediente>
<ingrediente codigo="Cal">Calabaza</ingrediente>
<ingrediente codigo="Har">Harina</ingrediente>
<ingrediente codigo="Lev">Levadura</ingrediente>
<ingrediente codigo="Cho">Chocolate</ingrediente>
</ingredientes>
<tipos>
<tipo nombre="Calabaza" ingredientes="Hue Pan Ace Cal Har Lev"/>
<tipo nombre="Chocolate" ingredientes="Hue Pan Ace Cal Har Lev Cho"/>
</tipos>
</bizcochos>

10. Modifica el siguiente documento XML para que sea válido (no modificar DTD)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE caballo [
<!ELEMENT caballo (nombre, raza, edad)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT raza (#PCDATA)>
<!ELEMENT edad EMPTY>
]>

<caballo>
<nombre>Pieza</nombre>
<raza>Apalusa</raza>
</caballo>

11. Modifica el siguiente documento XML para que sea válido (no modificar DTD)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE partes [
<!ELEMENT partes (secciones)>
<!ELEMENT secciones ANY>
<!ELEMENT letras (#PCDATA)>
]>

<secciones>
<letras>qwerty</letras>
TNC
<letras>ñlkjh</letras>
</secciones>

12. Modifica el siguiente documento XML para que sea válido (no modificar DTD)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE viajes [
<!ELEMENT viajes (portugal, noruega, suiza)>
<!ELEMENT portugal (ciudad+)>
<!ELEMENT noruega (ciudad+)>
<!ELEMENT suiza (ciudad+)>
<!ELEMENT ciudad (#PCDATA)>
]>

<viajes>
<portugal>
<lisboa/>
</portugal>
<noruega>
<bergen/>
<oslo/>
<trondheim/>
</noruega>
<suiza/>
</viajes>

13. Modifica el siguiente documento XML para que sea válido (no modificar DTD)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE productos [
<!ELEMENT productos (producto)*>
<!ELEMENT producto (identificacion, nombre)>
<!ELEMENT identificacion (#PCDATA | codigo | id)*>
<!ELEMENT codigo (#PCDATA)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT nombre (#PCDATA)>
]>

<productos>
<nombre>martillo</nombre>
<identificacion>
Quedan 14 unidades.
<codigo>MAR264</codigo>
</identificacion>
<identificacion>
<codigo>DES387</codigo>
<id>678984</id>
No hay stock.
<nombre>destornillador</nombre>
</identificacion>
</productos>

14. Modificar el DTD para que el siguiente XML sea válido (no modificar DTD)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ciudades [
<!ELEMENT ciudades (ciudad)>
<!ELEMENT ciudad (nombre, capital)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT capital EMPTY>
]>

<ciudades>
<ciudad>
<nombre>Madrid</nombre>
<capital/>
</ciudad>
<ciudad>
<nombre>Oporto</nombre>
</ciudad>
<ciudad>
<nombre>Róterdam</nombre>
</ciudad>
<ciudad>
<nombre>Londres</nombre>
<capital/>
</ciudad>
</ciudades>
15. Modificar el DTD para que el siguiente XML sea válido
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE socios [
<!ELEMENT socios (socio)*>
<!ELEMENT socio ((numero, clave)+, nombre, edad)>
<!ELEMENT clave (#PCDATA)>
<!ELEMENT edad (#PCDATA)>
<!ELEMENT nombre (#PCDATA)>
<!ELEMENT numero (#PCDATA)>
]>

<socios>
<socio>
<nombre>Carlos</nombre>
<edad>28</edad>
</socio>
<socio>
<numero>345</numero>
<nombre>Ana</nombre>
<edad>46</edad>
</socio>
<socio>
<clave>qWer1y</clave>
<nombre>Andrés</nombre>
</socio>
</socios>

16. Modifica el siguiente documento XML para que sea válido (no modificar DTD)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE articulos [
<!ELEMENT articulos (articulo)+>
<!ELEMENT articulo (#PCDATA)>
<!ATTLIST articulo color CDATA #FIXED "azul">
]>

<articulos>
<articulo nombre="rotulador" color="azul"/>
<articulo nombre="cuaderno"/>
<articulo nombre="carpeta" color="verde"/>
</articulos>

17. Modifica el siguiente documento XML para que sea válido (no modificar DTD)
<?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">Japón</pais>
<pais codpais="2">Portugal</pais>
<pais codpais="3">Perú</pais>
<pais codpais="4">Italia</pais>
</paises>
<ciudades>
<ciudad pais="1">Tokio</ciudad>
<ciudad>Oslo</ciudad>
<ciudad pais="">Teruel</ciudad>
<ciudad pais="1">Hiroshima</ciudad>
<ciudad pais="2">Lisboa</ciudad>
</ciudades>
</geografia>

18. Modificar el DTD para que el siguiente XML sea válido


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cine [
<!ELEMENT peliculas (pelicula)*>
<!ELEMENT pelicula (#PCDATA)>
<!ATTLIST pelicula codpel ID (P1 | P2 | P3 | P4) "P0">
<!ELEMENT actores (actor)*>
<!ELEMENT actor (#PCDATA)>
<!ATTLIST actor filmografia IDREF #REQUIRED>
]>

<cine>
<peliculas>
<pelicula>Avatar</pelicula>
<pelicula codpel="P1">Gran Torino</pelicula>
<pelicula codpel="P2">Invictus</pelicula>
<pelicula codpel="P3">Million dollar baby</pelicula>
<pelicula codpel="P4">Oblivion</pelicula>
<pelicula codpel="P5">Unforgiven</pelicula>
</peliculas>
<actores>
<actor filmografia="P1 P3 P5">Clint Eastwood</actor>
<actor filmografia="P2 P3 P4 P5">Morgan Freeman</actor>
<actor filmografia="P4">Tom Cruise</actor>
</actores>
</cine>

También podría gustarte