sábado, 6 de junio de 2009

Practica 4

En esta práctica he intentado hacer un xml que me sirva para, posteriormente usarlo como base de datos para una librería.

El xml empleado para hacer el dtd es el siguiente:



<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE biblioteca PUBLIC "Biblioteca/Filmoteca" "practica4.dtd">
<biblioteca>
<libro titulo="El señor de los anillos" autor="Tolkien" genero="Novela Fantastica">
<personaje nombre="Frodo Bolson">
Es un hobbit, hijo de Drogo Bolsón y Prímula Brandigamo y nacido el 22 de septiembre del año 2968 de la Tercera Edad del Sol. Llamado también "Portador del Anillo", Frodo fue el encargado de llevar el Anillo Único hasta el Monte del Destino para destruirlo.
</personaje>
<personaje nombre="Gandalf">
Es un espíritu Maia, uno de los Ainur menores, enviado a la Tierra Media durante la Tercera Edad del Sol para ayudar a sus habitantes en la lucha contra el Señor Oscuro Sauron. Allí adoptó el aspecto de un anciano de barba luenga y de color blanca grisácea, vestido con una gran capa gris, un sombrero puntiagudo de color azul y un gran cayado.
</personaje>

<personaje nombre="Aragorn">
Era capitán de los montaraces del norte, segundo de ese nombre, hijo de Arathorn II y de Gilraen, apodado Trancos en Bree, conocido como Thorongil (el "Aguila de la estrella") en Rohan y Gondor en los días de Thengel y Ecthelion II, de niño conocido en Rivendel como Estel ("Esperanza"), capitán de los Pueblos Libres durante la Guerra del Anillo y después, gobernante del Reino Unificado de Gondor y Arnor bajo el nombre de Elessar Telcontar.
</personaje>
<sinopsis>
La historia de El Señor de los Anillos se desarrolla en la Tercera Edad de la Tierra Media, un lugar ficticio poblado por Hombres y otras razas humanoides (Hobbits, Elfos y Enanos), así como por muchas otras criaturas reales y fantásticas. La novela cuenta el viaje del protagonista principal, el hobbit Frodo Bolsón, para destruir el Anillo Único y la consiguiente guerra que provocará el enemigo para recuperarlo, ya que es la principal fuente de poder de su creador, el Señor Oscuro Sauron.
</sinopsis>
</libro>
<libro titulo="La isla del tesoro" autor="Robert Louis Stevenson" genero="Novela Aventuras">
<personaje nombre="Jim Hawkins">
Es el joven que protagoniza la novela
</personaje>
<personaje nombre="Billy Bones">
Viejo marinero que se aloja en "El Almirante Benbow". En su cofre estaba el mapa del tesoro de Flint, por ello atrae a muchos piratas. Fiel consumidor de ron y grog, muere de un infarto en la taberna poco antes del asalto de los piratas.
</personaje>
<sinopsis>
Jim Hawkins es un adolescente que junto a sus padres trabaja en la posada del Almirante Benbow. Un día aparece un marinero con la mejilla cortada, cuya única posesión es un viejo cofre. La posada recibe la visita de un marinero ciego la misma noche que el padre de Jim muere. Éste amenaza a Bones diciéndole que más tarde él y sus esbirros le atacaran...
</sinopsis>
</libro>
<pelicula titulo="Underworld" fecha="2003">
<personaje nombre="Selene" actor="Kate Beckinsale">
Es una vampiro experta en el uso de muchas armas, medievales y modernas, especialmente el Walther P99 (pistola semi-automática). Se enamoró de Michael Corvin, el primer híbrido vampiro-licántropo.
</personaje>
<sinopsis>
Durante siglos, dos razas han ido evolucionan-do en lo más profundo del mundo de los huma-nos: los aristocráticos y sofisticados vampiros, y los brutales licántropos (hombres lobo). Para la humanidad, su existencia ha estado siem-pre dentro del universo mitológico. Sin embargo, estas razas de no-che son enemigos mortales la una de la otra, condenados a librar una guerra secreta hasta que sólo una de las dos quede en pie. En medio de este conflicto ancestral, una guerrera vampiro, Selene (Kate Beckinsale), descubre una conspiración de los licántropos para secuestrar a un joven doctor humano, Michael Corvin (Scott Speedman). Tras seguir a éste por toda la ciudad, entabla una in-sólita relación con él, y cuando los hombres se deciden a atacar, Selene se interpone entre las bestiales criaturas y el doctor. Mien-tras corre contra el tiempo intentando salvar a Michael y desmontar la trama urdida alrededor del humano por los licántropos, Selene descubre un secreto con terroríficas repercusiones para ambas tri-bus: un plan para desarrollar una nueva especie invencible que combina los poderes de ambos tipos de criaturas, carente a su vez de cualquiera de sus puntos débiles. Este hecho decantaría la ba-lanza a favor de los hombres lobo, quienes han llevado siempre las de perder en la guerra que llevan siglos librando.
</sinopsis>
</pelicula>
<pelicula titulo="El señor de la guerra" fecha="2005">
<personaje nombre="Yuri Orlov" actor="Nicolas Cage">
</personaje>
<sinopsis>
"El señor de la guerra" es una historia de aventuras y acción basada en un hecho real que supera a la ficción, situada en el mundo globalizado de la trata de armas. La película explora una consecuencia poco conocida del final de la Guerra Fría, la enorme cantidad de armas que de repente quedó disponible en los antiguos estados soviéticos para vender a los países en desarrollo (sobre todo de África), el negocio que significaba esto para los países desarrollados como Estados Unidos, China o la Unión Europea, y las inmensas sumas de dinero amasadas por los traficantes de armas que las encubrieron a éstos países que finaciaban guerras.

La película sigue las incansables aventuras del traficante de armas Yuri Orlov (Viktor Bout en la realidad), interpretado por Nicolas Cage y de su hermano Vitaly Orlov (Sergei Bout en la realidad) interpretado por Jared Leto . A través de algunas de las zonas de guerra más peligrosas, Yuri lucha por escapar de un implacable agente de la Interpol, de sus rivales en el negocio y hasta de alguno de sus clientes que incluyen a muchos de los más importantes dictadores. Finalmente, Yuri debe enfrentarse también a su propia conciencia.
</sinopsis>
</pelicula>
<pelicula titulo="El señor de la guerra" fecha="2005">
<personaje nombre="Randall 'Memphis' Raines" actor="Nicolas Cage">
</personaje>
<personaje nombre="Sara 'Sway' Wayland" actor="Angelina Jolie">
</personaje>
<sinopsis>
La película trata sobre un ex ladrón de coches llamado Randall "Memphis" Raines. Hace ya tiempo que Randall ha dejado atrás su pasado delictivo, pero recibe la visita de un amigo suyo que le informa sobre un hombre llamado Raymond Vincent Calitri, el cual ha raptado a su hermano y le amenazó con matarlo. Para salvar a su hermano menor, se ve obligado a hacer lo que mejor sabe: robar coches, tendrá que robar nada menos que 50 coches en una sola noche. Memphis se apresura a reunir a su vieja banda y los desafía a una carrera a toda velocidad para dar el último gran golpe.
</sinopsis>
</pelicula>
</biblioteca>


A partir de este documento generamos el dtd y lo modificamos algo según queramos, quedando el mio de la forma




<!ELEMENT biblioteca ( libro*, pelicula* ) >

<!ELEMENT libro ( personaje*, sinopsis ) >
<!ATTLIST libro autor CDATA #IMPLIED >
<!ATTLIST libro genero CDATA #IMPLIED >
<!ATTLIST libro titulo CDATA #REQUIRED >

<!ELEMENT pelicula ( personaje*, sinopsis ) >
<!ATTLIST pelicula fecha NMTOKEN #IMPLIED >
<!ATTLIST pelicula titulo CDATA #REQUIRED >

<!ELEMENT personaje ( #PCDATA ) >
<!ATTLIST personaje actor CDATA #IMPLIED >
<!ATTLIST personaje nombre CDATA #REQUIRED >

<!ELEMENT sinopsis ( #PCDATA ) >


Este tiene un pequeño problema y es que estaría mejor si los personajes no pertenecieran a un libro sino que fueran incluidos en el, pero para lo que necesito por ahora me vale.

Si creamos otro documento xml como el siguiente:




<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE biblioteca PUBLIC "Biblioteca/Filmoteca" "practica4.dtd">
<biblioteca>
<libro titulo="Eragon" autor="Christopher Paolini" genero="Novela Fantastica">
<personaje nombre="Eragon">
Es el protagonista de la historia, un joven granjero que vive con su tío Garrow y su primo Roran, a las afueras de Carvahall. La historia toma lugar cuando este tiene la edad de 15 años y encuentra una extraña piedra en las Vertebradas.

Eragon es valiente, observador, posee buenas dosis de prudencia y sabe valerse por sí mismo. Su madre, Selena, lo dejó cuando era pequeño a cargo de Garrow, su hermano. Eragon se crió con él y con su primo, Roran. De su padre no conoce nada.
</personaje>
<personaje nombre="Saphira">
Es la dragona acompañante de Eragon, su comunicación con su Jinete es telepática, debido a los rasgos mágicos que los unen. Tiene conciencia propia e inteligencia, por tanto es capaz de discernir y tomar sus propias decisiones. Durante el transcurso de la historia esta crece y evoluciona, adquiriendo nuevas habilidades y desarrollando sus capacidades de dragón. Sus escamas son de color azul zafiro brillante.

Es la última dragona en Alagaësia, por lo que el rey Galbatorix la quiere viva para poder crear una nueva generación de dragones.
</personaje>
<sinopsis>
Esta historia transcurre en el ficticio territorio de Alagaësia. Cuando Eragon encuentra una especie de zafiro de gran tamaño mientras está cazando en el bosque, piensa que su suerte ha cambiado. Él, un muchacho que vive en una modesta granja con su tío Garrow y su primo Roran, cree que vendiéndola podrá comprar carne a Sloan, el carnicero de Carvahall -su pueblo natal-, para poder pasar el frío invierno. Sin embargo, este no la compra al enterarse de que proviene de las misteriosas y peligrosas montañas conocidas como las Vertebradas, por lo que el muchacho la lleva de vuelta a casa.

Una noche la gema se rompe, revelando ser un huevo, y de él emerge un dragón. Este resulta ser una hembra y Eragon la nombra Saphira. De esta manera, Eragon se convierte en un Jinete de Dragón, manteniendo a Saphira en secreto, ignorando por completo a la persecución que el despótico rey Galbatorix ha iniciado para recuperar el huevo. Cuando unas misteriosas criaturas conocidas como Ra'zac, enviadas por Galbatorix, asesinan a su tío, emprende su huida de Carvahall junto a Saphira y al anciano cuentacuentos del pueblo, Brom.

Brom entrena al joven y a la dragona en el uso de la magia y en el combate para prepararlos en su labor como el nuevo Jinete y Dragón, para reiniciar la antigua Orden de Jinetes de Dragón, derrocar al tirano rey y restaurar la paz en Alagaësia. Sin embargo, los sueños de Eragon sobre una bella mujer torcerán su camino para rescatarla de su captor, Durza, el más peligroso sirviente de Galbatorix.
</sinopsis>
</libro>
</biblioteca>


Pasando el dtd vemos que este documento cumple las condiciones y pasa el examen.

No hay comentarios: