Examen 25 de mayo de 2016

Resuelva los siguientes ejercicios guardando las respuestas en una carpeta cuyo nombre contenga su nombre y apellidos.

Ejercicio 1. Documentos bien formados

El siguiente documento no está bien formado porque contiene errores. Corrija los errores (si para corregir algún error hay que inventarse una etiqueta o atributo, utilice un nombre que tenga relación con la información contenida en el documento).

<!xml version="1.0" encodin="UTF-8"!>
<autor>Barto</autor>
<documento>
  <fecha=25/05/16 \>
  Un documento XML contiene etiquetas entre desigualdades. Por ejemplo: <ejemplo>.
</Documento>

Ejercicio 2. CSS

Escriba una hoja de estilo CSS para que el siguiente documento se vea en el navegador como muestra la imagen.

<?xml version="1.0" encoding="UTF-8"?>
<reyes>
  <acercade>La Reina Victoria y sus descendientes</acercade>

  <persona>
    <nombre>Reina Victoria</nombre>
    <vida nacimiento="1819" pais="Reino Unido" muerte="1901" />
    <monarca>
      <cargo>Reina</cargo>
      <pais>Reino Unido</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Emperatriz Victoria</nombre>
    <vida nacimiento="1840" pais="Reino Unido" muerte="1901" />
    <monarca>
      <cargo>Emperatriz</cargo>
      <pais>Alemania</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Princesa Alicia</nombre>
    <vida nacimiento="1843" pais="Reino Unido" muerte="1878" />
  </persona>

  <persona>
    <nombre>Princesa Beatriz</nombre>
    <vida nacimiento="1857" pais="Reino Unido" muerte="1944" />
  </persona>

  <persona>
    <nombre>Guillermo II</nombre>
    <vida nacimiento="1859" pais="Alemania" muerte="1941" />
    <monarca>
      <cargo>Emperador</cargo>
      <pais>Alemania</pais>
    </monarca>
  </persona>
</reyes>

CSS

Ejercicio 3. XPath

Dado el siguiente documento XML, escriba las expresiones XPath que devuelvan exactamente las respuestas indicadas en los cuadros. Escriba todas las expresiones XPath en un único fichero de texto, numerando las respuestas.

<?xml version="1.0" encoding="UTF-8"?>
<reyes>
  <persona>
    <nombre>Reina Victoria</nombre>
    <vida nacimiento="1819" pais="Reino Unido" muerte="1901" />
    <monarca>
      <cargo>Reina</cargo>
      <pais>Reino Unido</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Emperatriz Victoria</nombre>
    <vida nacimiento="1840" pais="Reino Unido" muerte="1901" />
    <monarca>
      <cargo>Emperatriz</cargo>
      <pais>Alemania</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Princesa Alicia</nombre>
    <vida nacimiento="1843" pais="Reino Unido" muerte="1878" />
  </persona>

  <persona>
    <nombre>Princesa Beatriz</nombre>
    <vida nacimiento="1857" pais="Reino Unido" muerte="1944" />
  </persona>

  <persona>
    <nombre>Guillermo II</nombre>
    <vida nacimiento="1859" pais="Alemania" muerte="1941" />
    <monarca>
      <cargo>Emperador</cargo>
      <pais>Alemania</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Reina Sofía</nombre>
    <vida nacimiento="1870" pais="Alemania" muerte="1932" />
    <monarca>
      <cargo>Reina</cargo>
      <pais>Grecia</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Victoria Eugenia de Battenger</nombre>
    <vida nacimiento="1887" pais="Alemania" muerte="1969" />
    <monarca>
      <cargo>Reina</cargo>
      <pais>España</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Emperatriz Alexandra</nombre>
    <vida nacimiento="1872" pais="Alemania" muerte="1918" />
    <monarca>
      <cargo>Emperatriz</cargo>
      <pais>Rusia</pais>
    </monarca>
  </persona>

  <relacion>
    <padre>Reina Victoria</padre>
    <hijo>Emperatriz Victoria</hijo>
  </relacion>

  <relacion>
    <padre>Reina Victoria</padre>
    <hijo>Princesa Alicia</hijo>
  </relacion>

  <relacion>
    <padre>Reina Victoria</padre>
    <hijo>Princesa Beatriz</hijo>
  </relacion>

  <relacion>
    <padre>Emperatriz Victoria</padre>
    <hijo>Reina Sofía</hijo>
  </relacion>

  <relacion>
    <padre>Emperatriz Victoria</padre>
    <hijo>Guillermo II</hijo>
  </relacion>

  <relacion>
    <padre>Princesa Beatriz</padre>
    <hijo>Victoria Eugenia de Battenberg</hijo>
  </relacion>

  <relacion>
    <padre>Princesa Alicia</padre>
    <hijo>Emperatriz Alexandra</hijo>
  </relacion>
</reyes>
  1. Paises con monarca:
    Reino Unido
    Alemania
    Alemania
    Grecia
    España
    Rusia
    
  2. Hijos de la Emperatriz Victoria:
    <hijo>Reina Sofía</hijo>
    <hijo>Guillermo II</hijo>
    
  3. Países en los que nacieron las personas nacidas antes de 1850:
     pais="Reino Unido"
     pais="Reino Unido"
     pais="Reino Unido"
    
  4. Nombre de las personas nacidas en Alemania:
    Guillermo II
    Reina Sofía
    Victoria Eugenia de Battenger
    Emperatriz Alexandra
    
  5. Nietos de la Reina Victoria:
    <hijo>Reina Sofía</hijo>
    <hijo>Guillermo II</hijo>
    <hijo>Victoria Eugenia de Battenberg</hijo>
    <hijo>Emperatriz Alexandra</hijo>
    

Ejercicio 4. XSLT

Dado el siguiente documento XML, escriba y enlace las hojas de estilo XSLT que devuelvan la respuesta deseada.

<?xml version="1.0" encoding="UTF-8"?>
<reyes>
  <persona>
    <nombre>Reina Victoria</nombre>
    <vida nacimiento="1819" pais="Reino Unido" muerte="1901" />
    <monarca>
      <cargo>Reina</cargo>
      <pais>Reino Unido</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Emperatriz Victoria</nombre>
    <vida nacimiento="1840" pais="Reino Unido" muerte="1901" />
    <monarca>
      <cargo>Emperatriz</cargo>
      <pais>Alemania</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Princesa Alicia</nombre>
    <vida nacimiento="1843" pais="Reino Unido" muerte="1878" />
  </persona>

  <persona>
    <nombre>Princesa Beatriz</nombre>
    <vida nacimiento="1857" pais="Reino Unido" muerte="1944" />
  </persona>

  <persona>
    <nombre>Guillermo II</nombre>
    <vida nacimiento="1859" pais="Alemania" muerte="1941" />
    <monarca>
      <cargo>Emperador</cargo>
      <pais>Alemania</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Reina Sofía</nombre>
    <vida nacimiento="1870" pais="Alemania" muerte="1932" />
    <monarca>
      <cargo>Reina</cargo>
      <pais>Grecia</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Victoria Eugenia de Battenger</nombre>
    <vida nacimiento="1887" pais="Alemania" muerte="1969" />
    <monarca>
      <cargo>Reina</cargo>
      <pais>España</pais>
    </monarca>
  </persona>

  <persona>
    <nombre>Emperatriz Alexandra</nombre>
    <vida nacimiento="1872" pais="Alemania" muerte="1918" />
    <monarca>
      <cargo>Emperatriz</cargo>
      <pais>Rusia</pais>
    </monarca>
  </persona>
</reyes>
  1. Mostrar el cargo y nombre de los monarcas (únicamente de los monarcas) en forma de párrafos:
    <?xml version="1.0" encoding="UTF-8"?>
    <p>Reina Victoria fue Reina de Reino Unido</p>
    <p>Emperatriz Victoria fue Emperatriz de Alemania</p>
    <p>Guillermo II fue Emperador de Alemania</p>
    <p>Reina Sofía fue Reina de Grecia</p>
    <p>Victoria Eugenia de Battenger fue Reina de España</p>
    <p>Emperatriz Alexandra fue Emperatriz de Rusia</p>
    
  2. Mostrar la fecha y lugar de nacimiento de todas las personas en forma de lista. El resultado contendrá todas las etiquetas necesarias para verse correctamente en el navegador:
    <?xml version="1.0" encoding="UTF-8"?>
    <html>
      <h1>La descendencia de la Reina Victoria</h1>
      <ul>
        <li>Reina Victoria nació en 1819 en Reino Unido</li>
        <li>Emperatriz Victoria nació en 1840 en Reino Unido</li>
        <li>Princesa Alicia nació en 1843 en Reino Unido</li>
        <li>Princesa Beatriz nació en 1857 en Reino Unido</li>
        <li>Guillermo II nació en 1859 en Alemania</li>
        <li>Reina Sofía nació en 1870 en Alemania</li>
        <li>Victoria Eugenia de Battenger nació en 1887 en Alemania</li>
        <li>Emperatriz Alexandra nació en 1872 en Alemania</li>
      </ul>
    </html>