Ejercicios Tema 2 Marcas
Ejercicios Tema 2 Marcas
Ejercicios Tema 2 Marcas
Página 1
//agenda/propietario/identificadores/nombre
//agenda/propietario/telefonos/casa
//contactos/persona/identificadores/nombre | //contactos/persona/identificadores/apellidos
//contactos/persona/identificadores/nombre | //contactos/persona/@id
//contactos/persona[@id="p02"]/*/*
https://ikastaroak.birt.eus/edu/argitalpen/backupa/20200331/1920k/es/ASIRDAMDAW/LMSGI
/LMSGI05/es_ASIRDAMDAW_LMSGI05_Contenidos/website_16_ejercicio_resuelto.html
Página 2
Ejercicios path1
/ies/nombre
/ies/web/text()
/ies/ciclos/ciclo/nombre/text()
Mostrar las siglas por las que se conocen los ciclos formativos.
/ies/ciclos/ciclo/@id
Mostrar los años en los que se publicaron los decretos de los ciclos formativos.
/ies/ciclos/ciclo/decretoTitulo/@año
/ies/ciclos/ciclo[grado="Medio"]
/ies/ciclos/ciclo[grado="Superior"]/nombre
Mostrar los nombres de los ciclos formativos anteriores a 2010 sin etiquetas.
/ies/ciclos/ciclo[decretoTitulo/@año<2010]/nombre/text()
/ies/ciclos/ciclo[decretoTitulo/@año=2008 or decretoTitulo/@año=2010]/nombre
Ejercicios path2
/ies/modulos/modulo/nombre/text()
Mostrar el nombre de los módulos que se imparten en segundo curso de cualquier ciclo
formativo.
/ies/modulos/modulo[curso="2"]/nombre
/ies/modulos/modulo[horasSemanales<5]/nombre
Mostrar el nombre de los módulos que se imparten en el primer curso del ciclo formativo
ASIR.
Mostrar las horas semanales sin etiquetas de los módulos que se imparten en más de 3 horas
semanales
/ies/modulos/modulo[horasSemanales>3]/horasSemanales/text()
Ejercicios path 3
Mostrar los nombres de los módulos del ciclo de "Sistemas Microinformáticos y Redes".
Mostrar los nombres de los ciclos formativos que incluyen el módulo "Lenguajes de marcas y
sistemas de gestión de información".
/ies/ciclos/ciclo[grado="Superior"]/@id
Mostrar los nombres de los módulos de los ciclos formativos cuyo título se aprobó en 2008.
/ies/ciclos/ciclo[decretoTitulo/@año=2008]/@id
Mostrar los grados de los ciclos formativos con módulos de primer curso.
/ies/modulos/modulo[curso=1]/ciclo
https://www.ticarte.com/contenido/ejercicios-practicos-de-xpath
Página 3
Ejercicio 1
/ies/nombre
//web/text()
//ciclo/nombre/text()
//@id
//ciclo/@*
Años en los que se publicaron los decretos de título de los Ciclos Formativos
//@año
Ciclos Formativos de Grado Medio (se trata de obtener el elemento <ciclo> completo)
//ciclo[grado="Medio"]
//ciclo[grado="Superior"]/nombre
//nombre[../decretoTitulo/@año<2010]/text()
//nombre[../decretoTitulo/@año=2008 or ../decretoTitulo/@año=2010]/text()
Ejercicio 2
//nombre/text()
//modulo[ciclo="ASIR"]/nombre/text()
//modulo[horasSemanales<5]/nombre/text()
//modulo[horasSemanales>3]/horasSemanales/text()
Ejercicio 3
Nombre de los módulos del ciclo "Sistemas Microinformáticos y Redes" (en la expresión final
no deben aparecer las siglas SMR)
Nombre de los ciclos que incluyen el módulo "Lenguajes de marcas y sistemas de gestión de
información"
//modulo[ciclo="ASIR"]/nombre/text()
//modulo[ciclo="DAW"]/nombre/text()
//modulo[ciclo="LMSGI"]/nombre/text()
//decretoTitulo[@año=2008]/../@id
//modulo[curso=1]/ciclo
https://www.mclibre.org/consultar/xml/ejercicios/xpath.html
1. Muestra el nombre de todos los bailes.
for $baile in doc("C:/Users/angel1/Documents/Ficheros XML para probar
XPath y Xquery-20221114/bailes.xml")//bailes/baile/nombre/text()
return $baile
2. Muestra el nombre y precio de todos los bailes.
for $baile in doc("C:/Users/angel1/Documents/Ficheros XML para probar
XPath y Xquery-20221114/bailes.xml")//bailes/baile
return
{data($baile/nombre/text())}
{data($baile/precio/text())}
3. Muestra el nombre y precio de todos los bailes donde su precio
es mayor que 40.
return $baile/profesor/text()
1. Obtener los nombres de los alumnos que tienen alguna nota”. Después
filtra por aprobados
for $alumno in doc("C:/Users/angel1/Documents/Ficheros XML para
probar XPath y Xquery-20221114/clase.xml")//alumnos/alumno
for $alumno in doc("C:/Users/angel1/Documents/Ficheros XML para
probar XPath y Xquery-20221114/clase.xml")//notas/nota
where $alumno/@cod = $a/@alum and
$alumno/clase/notas/nota/number(@calificacion) >= 5
return <alumno>{ data($a/apenom) }</alumno>
2. Obtener las calificaciones del alumno de código "n43483437" en cada
módulo.
for $alumno in doc("C:/Users/angel1/Documents/Ficheros XML para
probar XPath y Xquery-20221114/clase.xml")//notas/nota
for $alumno in doc("C:/Users/angel1/Documents/Ficheros XML para
probar XPath y
Xquery-20221114/clase.xml")//asignaturas/asignatura
where $a/@alum = "n43483437" and $b/@cod = $a/@asig
return <alumno>{ data($b/@nombre),"---",data($a/@calificacion)
}</alumno>
3. Obtener el nombre y el teléfono de cada alumno ordenado por
apellidos de forma descendiente.
let $b := index-of($a/apenom,',')
return <alumno>{
data(substring-after($a/apenom,',')),"---",data($a/telef)
}</alumno>
$b in $a/../../notas/nota,
$c in $a/../../alumnos/alumno
$b/@alum
return
}</alumno>
6. Obtener los datos de asignatura, nombres y calificación ordenados
por nombre ascendente y nota descendente de las asignaturas
aprobadas.
$b in $a/../../notas/nota,
$c in $a/../../alumnos/alumno
>=5
return
<alumno>{ "Materia:",data($a/@nombre),"Nombre:
",data($c/apenom),"