Saltar al contenido principal

Ejercicio 503

Consideremos el siguiente documento XML:

<?xml version="1.0" encoding="UTF-8"?>
<ies>
<modulos>
<modulo id="0228">
<nombre>Aplicaciones web</nombre>
<curso>2</curso>
<horasSemanales>4</horasSemanales>
<ciclo>SMR</ciclo>
</modulo>
<modulo id="0372">
<nombre>Gestión de bases de datos</nombre>
<curso>1</curso>
<horasSemanales>5</horasSemanales>
<ciclo>ASIR</ciclo>
</modulo>
<modulo id="0373">
<nombre>Lenguajes de marcas y sistemas de gestión de información</nombre>
<curso>1</curso>
<horasSemanales>3</horasSemanales>
<ciclo>ASIR</ciclo>
<ciclo>DAW</ciclo>
</modulo>
<modulo id="0376">
<nombre>Implantación de aplicaciones web</nombre>
<curso>2</curso>
<horasSemanales>5</horasSemanales>
<ciclo>ASIR</ciclo>
</modulo>
</modulos>
</ies>

Construye las expresiones XPath que permitan obtener los siguientes datos:

  1. Nombre de los módulos que se imparten en el instituto.
  2. Nombre de los módulos del ciclo ASIR.
  3. Nombre de los módulos que se imparten en el segundo curso de cualquier ciclo.
  4. Nombre de los módulos de menos de 5 horas semanales.
  5. Nombre de los módulos que se imparten en el primer curso de ASIR.
  6. Horas semanales de los módulos de más de 3 horas semanales.
Solución
  1. Nombre de los módulos que se imparten en el instituto.
/ies/modulos/modulo/nombre/text()
  1. Nombre de los módulos del ciclo ASIR.
/ies/modulos/modulo[ciclo="ASIR"]/nombre/text()
  1. Nombre de los módulos que se imparten en el segundo curso de cualquier ciclo.
/ies/modulos/modulo[curso="2"]/nombre/text()
  1. Nombre de los módulos de menos de 5 horas semanales.
/ies/modulos/modulo[horasSemanales<5]/nombre/text()
  1. Nombre de los módulos que se imparten en el primer curso de ASIR.
/ies/modulos/modulo[ciclo="ASIR" and curso="1"]/nombre/text()
  1. Horas semanales de los módulos de más de 3 horas semanales.
/ies/modulos/modulo[horasSemanales>3]/horasSemanales/text()