Saltar al contenido principal

Ejercicio 507

Consideremos el siguiente documento XML:

<?xml version="1.0" encoding="UTF-8"?>
<ies>
<nombre>IES Gonzalo Nzareno</nombre>
<web>http://www.gonzalonzareno.org</web>
<ciclos>
<ciclo id="ASIR">
<nombre>Administración de Sistemas Informáticos en Red</nombre>
<grado>Superior</grado>
<decretoTitulo año="2009" />
</ciclo>
<ciclo id="DAW">
<nombre>Desarrollo de Aplicaciones Web</nombre>
<grado>Superior</grado>
<decretoTitulo año="2010" />
</ciclo>
<ciclo id="SMR">
<nombre>Sistemas Microinformáticos y Redes</nombre>
<grado>Medio</grado>
<decretoTitulo año="2008" />
</ciclo>
</ciclos>
<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 del ciclo Sistemas Microinformáticos y Redes (en la expresión final no deben aparecer las siglas SMR).
  2. Nombre completo de los ciclos que incluyen el módulo Lenguajes de marcas y sistemas de gestión de información.
  3. Nombre de los módulos de ciclos de Grado Superior.
  4. Nombre de los módulos de ciclos cuyo título se aprobó en 2008.
  5. Grado de los ciclos con módulos de primer curso.
Solución
  1. Nombre de los módulos del ciclo Sistemas Microinformáticos y Redes (en la expresión final no deben aparecer las siglas SMR).
/ies/modulos/modulo[ciclo=/ies/ciclos/ciclo[nombre="Sistemas Microinformáticos y Redes"]/@id]/nombre/text()
  1. Nombre completo de los ciclos que incluyen el módulo Lenguajes de marcas y sistemas de gestión de información.
/ies/ciclos/ciclo[@id=/ies/modulos/modulo[nombre="Lenguajes de marcas y sistemas de gestión de información"]/ciclo/text()]/nombre/text()
  1. Nombre de los módulos de ciclos de Grado Superior.
/ies/modulos/modulo[ciclo=/ies/ciclos/ciclo[grado="Superior"]/@id]/nombre/text()
  1. Nombre de los módulos de ciclos cuyo título se aprobó en 2008.
/ies/modulos/modulo[ciclo=/ies/ciclos/ciclo[decretoTitulo/@año="2008"]/@id]/nombre/text()
  1. Grado de los ciclos con módulos de primer curso
distinct-values(/ies/ciclos/ciclo[@id=/ies/modulos/modulo[curso="1"]/ciclo]/grado/text())