Examen 8 de mayo de 2012

Resuelva los siguientes ejercicios guardando las respuestas en una carpeta con su nombre y apellidos. Los nombres de los ficheros están indicados en los enunciados (NAA corresponde a sus propias iniciales, Nombre Apellido1 Apellido2)

Ejercicio 1. XPath

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

<?xml version="1.0" encoding="UTF-8"?>
<inventario cliente="IES Abastos">
  <espacios>
    <espacio id="A116">
      <ocupante>1º ASIR (mañana)</ocupante>
      <ocupante>1º ASIR (tarde)</ocupante>
    </espacio>
    <espacio id="A112">
      <ocupante>2º ASIR (mañana)</ocupante>
      <ocupante>2º ASIR (tarde)</ocupante>
    </espacio>
  </espacios>
  <modelos>
    <modelo id="E001">
      <dispositivo id="PC" />
      <marca>Inves</marca>
      <modelo>Sierra DT6300A</modelo>
    </modelo>
    <modelo id="E002">
      <dispositivo id="Monitor" />
      <marca>Inves</marca>
      <modelo>HW191DP</modelo>
    </modelo>
    <modelo id="E003">
      <dispositivo id="Proyector" />
      <marca>Epson</marca>
      <modelo>EMP-62</modelo>
    </modelo>
  </modelos>
  <equipos>
    <equipo sn="20933739" equipo="E001" espacio="A116" id="A116-PC01" />
    <equipo sn="20933750" equipo="E001" espacio="A116" id="A116-PC11" />
    <equipo sn="20933180" equipo="E001" espacio="A112" id="A112-PC12" />
    <equipo sn="CIEG6007053" equipo="E002" espacio="A112" id="A112-MO12" />
    <equipo sn="GYTF630095L" equipo="E003" espacio="A116" id="A116-PR01" />
  </equipos>
</inventario>
  1. Nombre del Instituto:
    cliente="IES Abastos"
  2. Tipos de dispositivos:
     id="PC"
     id="Monitor"
     id="Proyector"
    
  3. Modelos de equipos:
    <modelo>Sierra DT6300A</modelo>
    <modelo>HW191DP</modelo>
    <modelo>EMP-62</modelo>
    
  4. Ocupantes de los espacios:
    1º ASIR (mañana)
    1º ASIR (tarde)
    2º ASIR (mañana)
    2º ASIR (tarde)
    
  5. Ocupantes del aula A112:
    2º ASIR (mañana)
    2º ASIR (tarde)
    
  6. Modelos de la marca Inves:
    <modelo>Sierra DT6300A</modelo>
    <modelo>HW191DP</modelo>
    
  7. Dispositivos que se encuentran en el aula 116:
     id="PC"
     id="Proyector"
    
  8. Equipos Sierra DT6300A:
    <equipo sn="20933739" equipo="E001" espacio="A116" id="A116-PC01"/>
    <equipo sn="20933750" equipo="E001" espacio="A116" id="A116-PC11"/>
    <equipo sn="20933180" equipo="E001" espacio="A112" id="A112-PC12"/>
    
  9. Grupos que dan clase en un aula con proyector:
    1º ASIR (mañana)
    1º ASIR (tarde)
    

Ejercicio 2 . XSLT

Dado el siguiente documento XML, escriba y enlace las hojas de estilo XSLT que devuelvan la respuesta deseada (una para cada caso).

Los nombres de los ficheros deben ser NAA_2-1.xml y NAA_2-1.xsl, etc.

<?xml version="1.0" encoding="UTF-8"?>
<lenguajes fuente="http://www.wikipedia.org" fecha="2012">
  <lenguaje>
    <nombre>C</nombre>
    <creador>Dennis Ritchie</creador>
    <fecha>1973</fecha>
    <compilado />
  </lenguaje>
  <lenguaje>
    <nombre>Python</nombre>
    <creador>Guido van Rossum</creador>
    <fecha>1991</fecha>
    <interpretado />
  </lenguaje>
  <lenguaje>
    <nombre>PHP</nombre>
    <creador>Rasmus Lerdorf</creador>
    <fecha>1995</fecha>
    <interpretado />
  </lenguaje>
  <lenguaje>
    <nombre>XSLT</nombre>
    <creador>James Clark</creador>
    <fecha>1998</fecha>
    <interpretado />
  </lenguaje>
</lenguajes>
  1. Nombres de los lenguajes
    <?xml version="1.0" encoding="UTF-8"?>
    <lenguajes>
      <lenguaje>C</lenguaje>
      <lenguaje>Python</lenguaje>
      <lenguaje>PHP</lenguaje>
      <lenguaje>XSLT</lenguaje>
    </lenguajes>
    
  2. Explicación de los lenguajes en forma de página web:
    <?xml version="1.0" encoding="UTF-8"?>
    <html>
      <h1>Lenguajes de programación</h1>
      <p>El lenguaje C fue creado por Dennis Ritchie en 1973.</p>
      <p>El lenguaje Python fue creado por Guido van Rossum en 1991.</p>
      <p>El lenguaje PHP fue creado por Rasmus Lerdorf en 1995.</p>
      <p>El lenguaje XSLT fue creado por James Clark en 1998.</p>
    </html>
    
  3. Tabla de lenguajes y creadores
    <?xml version="1.0" encoding="UTF-8"?>
    <html>
    <table border="1">
      <tr>
        <th>Lenguaje</th>
        <th>Creador</th>
      </tr>
      <tr>
        <td>C</td>
        <td>Dennis Ritchie</td>
      </tr>
      <tr>
        <td>Python</td>
        <td>Guido van Rossum</td>
      </tr>
      <tr>
        <td>PHP</td>
        <td>Rasmus Lerdorf</td>
      </tr>
      <tr>
        <td>XSLT</td>
        <td>James Clark</td>
      </tr>
    </table>
    </html>
    
    Lenguaje Creador
    C Dennis Ritchie
    Python Guido van Rossum
    PHP Rasmus Lerdorf
    XSLT James Clark
  4. Otra explicación de los lenguajes en forma de página web:
    <?xml version="1.0" encoding="UTF-8"?>
    <html>
      <p>El lenguaje C es compilado.</p>
      <p>El lenguaje Python es interpretado.</p>
      <p>El lenguaje PHP es interpretado.</p>
      <p>El lenguaje XSLT es interpretado.</p>
      <p>Información obtenida de http://www.wikipedia.org en el año 2012</p>
    </html>