XPath - Ejercicio 1 - Expresiones simples
Dado el siguiente documento XML, escriba las expresiones XPath que devuelvan la respuesta deseada (mostrada en los cuadros).
<?xml version="1.0" encoding="UTF-8"?>
<ies>
<nombre>IES Abastos</nombre>
<web>http://www.iesabastos.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>
</ies>
1. Nombre del Instituto:<nombre>IES Abastos</nombre>
Solución:
//ies/nombre
2. Página web del Instituto:
http://www.iesabastos.org
Solución:
//web/text()
3. Nombre de los Ciclos Formativos:
Administración de Sistemas Informáticos en Red
Desarrollo de Aplicaciones Web
Sistemas Microinformáticos y Redes
Solución:
//ciclo/nombre/text()
4. Siglas por las que se conocen los Ciclos Formativos:
id="ASIR"
id="DAW"
id="SMR"
Soluciones:
//@id
//ciclo/@*
5. Años en los que se publicaron los decretos de título de los Ciclos Formativos:
año="2009"
año="2010"
año="2008"
Solución:
//@año
6. Ciclos Formativos de Grado Medio (se trata de obtener el elemento <ciclo> completo):
<ciclo id="SMR">
<nombre>Sistemas Microinformáticos y Redes</nombre>
<grado>Medio</grado>
<decretoTitulo año="2008"/>
</ciclo>
Soluciones:
//ciclo[grado="Medio"]
//grado[.="Medio"]/..
7. Nombre de los Ciclos Formativos de Grado Superior:
<nombre>Administración de Sistemas Informáticos en Red</nombre>
<nombre>Desarrollo de Aplicaciones Web</nombre>
Soluciones:
//ciclo[grado="Superior"]/nombre
//grado[.="Superior"]/../nombre
8. Nombre de los Ciclos Formativos anteriores a 2010:
Administración de Sistemas Informáticos en Red
Sistemas Microinformáticos y Redes
Soluciones:
//@año[.<2010]/../../nombre/text()
//decretoTitulo[@año<2010]/../nombre/text()
9. Nombre de los Ciclos Formativos de 2008 o 2010:
Desarrollo de Aplicaciones Web
Sistemas Microinformáticos y Redes
Soluciones:
(//@año[.=2008]|//@año[.=2010])/../../nombre/text()
//decretoTitulo[@año=2008 or @año=2010]/../nombre/text()
XPath - Ejercicio 2 - Expresiones simples
Dado el siguiente documento XML, escriba las expresiones XPath que devuelvan la respuesta deseada (mostrada en los cuadros).
<?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>1. Nombre de los módulos que se imparten en el Instituto:
Aplicaciones web
Gestión de bases de datos
Lenguajes de marcas y sistemas de gestión de información
Implantación de aplicaciones web
Solución:
//nombre/text()
2. Nombre de los módulos del ciclo ASIR:
Gestión de bases de datos
Lenguajes de marcas y sistemas de gestión de información
Implantación de aplicaciones web
Solución:
//modulo[ciclo="ASIR"]/nombre/text()
3. Nombre de los módulos que se imparten en el segundo curso de cualquier ciclo:
Aplicaciones web
Implantación de aplicaciones web
Solución:
//modulo[curso=2]/nombre/text()
4. Nombre de los módulos de menos de 5 horas semanales:
Aplicaciones web
Lenguajes de marcas y sistemas de gestión de información
Solución:
//modulo[horasSemanales<5]/nombre/text()
5. Nombre de los módulos que se imparten en el primer curso de ASIR:
Gestión de bases de datos
Lenguajes de marcas y sistemas de gestión de información
Solución:
//modulo[ciclo="ASIR" and curso=1]/nombre/text()
6. Horas semanales de los módulos de más de 3 horas semanales (4, 5, 5).
4
5
5
Soluciones
//modulo[horasSemanales>3]/horasSemanales/text()
//horasSemanales[.>3]/text()
XPath - Ejercicio 3 - Expresiones anidadas
Dado el siguiente documento XML, escriba las expresiones XPath que devuelvan la respuesta deseada (mostrada en los cuadros).
<?xml version="1.0" encoding="UTF-8"?>
<ies>
<nombre>IES Abastos</nombre>
<web>http://www.iesabastos.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>1. Nombre de los módulos del ciclo "Sistemas Microinformáticos y Redes". Nota: en la expresión final no deben aparecer las siglas SMR:
Aplicaciones web
Solución:
siglas del ciclo "Sistemas Microinformáticos y Redes":
//ciclo[nombre="Sistemas Microinformáticos y Redes"]/@id
módulos del ciclo SMR:
//modulo[ciclo="SMR"]/nombre/text()
sustituyendo la primera en la segunda:
//modulo[ciclo=//ciclo[nombre="Sistemas Microinformáticos y Redes"]/@id]/nombre/text()
2. Nombre de los ciclos que incluyen el módulo "Lenguajes de marcas y sistemas de gestión de información":
Administración de Sistemas Informáticos en Red
Desarrollo de Aplicaciones Web
Solución:
siglas de los ciclos que incluyen el módulo "Lenguajes de marcas y sistemas de gestión de información":
//modulo[nombre="Lenguajes de marcas y sistemas de gestión de información"]/ciclo/text()
nombre de los ciclos ASIR o DAW:
//ciclo[@id="ASIR"]/nombre/text()
//ciclo[@id="DAW"]/nombre/text()
sustituyendo la primera en la segunda:
//ciclo[@id=//modulo[nombre="Lenguajes de marcas y sistemas de gestión de información"]/ciclo]/nombre/text()
3. Nombre de los módulos de ciclos de Grado Superior:
Gestión de bases de datos
Lenguajes de marcas y sistemas de gestión de información
Implantación de aplicaciones web
Solución:
siglas de los ciclos de grado superior:
//ciclo[grado="Superior"]/@id
módulos de los ciclos ASIR o DAW:
//modulo[ciclo="ASIR"]/nombre/text()
//modulo[ciclo="DAW"]/nombre/text()
sustituyendo la primera en la segunda:
//modulo[ciclo=//ciclo[grado="Superior"]/@id]/nombre/text()
4. Nombre de los módulos de ciclos cuyo título se aprobó en 2008:
Aplicaciones web
Solución:
siglas de los ciclos cuyo título se aprobó en 2008:
//decretoTitulo[@año=2008]/../@id
módulos del ciclo SMR:
//modulo[ciclo="SMR"]/nombre/text()
sustituyendo la primera en la segunda:
//modulo[ciclo=//decretoTitulo[@año=2008]/../@id]/nombre/text()
5. Grado de los ciclos con módulos de primer curso:
Superior
Superior
Solución:
siglas de los ciclos con módulos de primer curso:
//modulo[curso=1]/ciclo
Grados de los ciclos ASIR o DAW:
//ciclo[@id="ASIR"]/grado/text()
//ciclo[@id="DAW"]/grado/text()
sustituyendo la primera en la segunda:
//ciclo[@id=//modulo[curso=1]/ciclo]/grado/text()
No hay comentarios:
Publicar un comentario