mirror of
https://gitlab.com/tutorial-java-rafa-munoz/tutorial-java-2024-25/LMSGI-2024-25.git
synced 2025-11-09 18:03:06 +01:00
feat(ch 6 & 7): added
This commit is contained in:
23
Unidad_07_XQUERY/Ejercicios.txt
Normal file
23
Unidad_07_XQUERY/Ejercicios.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
Sobre el fichero xml-xsl-ejercicio12.xml del tema 5, realiza las siguientes consultas con xquery. Cada una de las consultas
|
||||
debe realizarse sobre un fichero "xquery" diferente. Finalmente debes guardar el fichero xml y los 7 ficheros xquery en una
|
||||
única carpeta, comprimirla y enviármela por mail para su corrección.
|
||||
|
||||
1.- Obtén aquellos superhéroes cuyo nombre termine en "a".
|
||||
2.- Utiliza la función "contains" de XQuery para encontrar aquellos superheroes que tengan un poder
|
||||
relacionado con la "fuerza".
|
||||
3.- Obtén aquellos superhéroes que tengan algún poder relacionado con la "fuerza" y sean amigos de
|
||||
"Iron Man".
|
||||
4.- Realiza la consulta 3 otra vez, pero evita que las mayúsculas y minúsculas sean un problema, usando
|
||||
la función lower-case o upper-case
|
||||
5.- Utiliza la función "avg" de XQuery para obtener la media del atributo "nivel" de todos los
|
||||
superhéroes.
|
||||
6.- Realiza una conversión del formato XML del fichero, de forma que cada superheroe
|
||||
muestre el valor de sus atributos a través de elementos hijos. Por ejemplo:
|
||||
<superheroe>
|
||||
<nombre>Thor</nombre>
|
||||
<poderes>Martillo mágico, Dios, Fuerza</poderes>
|
||||
<amigos>Iron Man y Hulk</amigos>
|
||||
<nivel>7</nivel>
|
||||
</superheroe>
|
||||
7.- Realiza un ejercicio muy parecido al anterior (6) pero consigue que la conversión se haga a un
|
||||
formato HTML, en el que para cada superheroe aparezca una tabla.
|
||||
5
Unidad_07_XQUERY/ejercicio-01.xquery
Normal file
5
Unidad_07_XQUERY/ejercicio-01.xquery
Normal file
@@ -0,0 +1,5 @@
|
||||
<datos> {
|
||||
for $alfa in (1, 3)
|
||||
return <dato><alfa>{$alfa}</alfa></dato>
|
||||
}
|
||||
</datos>
|
||||
5
Unidad_07_XQUERY/ejercicio-02.xquery
Normal file
5
Unidad_07_XQUERY/ejercicio-02.xquery
Normal file
@@ -0,0 +1,5 @@
|
||||
<datos> {
|
||||
for $alfa in (1, 3), $beta in (2,4)
|
||||
return <dato><alfa>{$alfa}</alfa><beta>{$beta}</beta></dato>
|
||||
}
|
||||
</datos>
|
||||
3
Unidad_07_XQUERY/ejercicio-03.xquery
Normal file
3
Unidad_07_XQUERY/ejercicio-03.xquery
Normal file
@@ -0,0 +1,3 @@
|
||||
|
||||
for $alumno in doc('ejercicio-planilla-correccion-examen.xml')/correccionExamen/resultadosPorAlumno/alumno
|
||||
return data($alumno/@nombre)
|
||||
2
Unidad_07_XQUERY/ejercicio-04.xquery
Normal file
2
Unidad_07_XQUERY/ejercicio-04.xquery
Normal file
@@ -0,0 +1,2 @@
|
||||
for $alumno in doc('ejercicio-planilla-correccion-examen.xml')/correccionExamen/resultadosPorAlumno/alumno
|
||||
return <alumno>{ data($alumno/@nombre) }</alumno>
|
||||
4
Unidad_07_XQUERY/ejercicio-05.xquery
Normal file
4
Unidad_07_XQUERY/ejercicio-05.xquery
Normal file
@@ -0,0 +1,4 @@
|
||||
<examen> {
|
||||
for $alumno in doc('ejercicio-planilla-correccion-examen.xml')/correccionExamen/resultadosPorAlumno/alumno
|
||||
return <alumno>{ data($alumno/@nombre) }</alumno>
|
||||
} </examen>
|
||||
5
Unidad_07_XQUERY/ejercicio-06.xquery
Normal file
5
Unidad_07_XQUERY/ejercicio-06.xquery
Normal file
@@ -0,0 +1,5 @@
|
||||
<examen> {
|
||||
for $alumno in doc('ejercicio-planilla-correccion-examen.xml')/correccionExamen/resultadosPorAlumno/alumno
|
||||
where starts-with($alumno/@nombre, 'Cal')
|
||||
return <alumno>{ data($alumno/@nombre) }</alumno>
|
||||
} </examen>
|
||||
6
Unidad_07_XQUERY/ejercicio-07.xquery
Normal file
6
Unidad_07_XQUERY/ejercicio-07.xquery
Normal file
@@ -0,0 +1,6 @@
|
||||
<examen> {
|
||||
for $alumno in doc('ejercicio-planilla-correccion-examen.xml')/correccionExamen/resultadosPorAlumno/alumno
|
||||
where starts-with($alumno/@nombre, 'Cal')
|
||||
and ends-with($alumno/@nombre, 'n')
|
||||
return <alumno>{ data($alumno/@nombre) }</alumno>
|
||||
} </examen>
|
||||
6
Unidad_07_XQUERY/ejercicio-08.xquery
Normal file
6
Unidad_07_XQUERY/ejercicio-08.xquery
Normal file
@@ -0,0 +1,6 @@
|
||||
<examen> {
|
||||
for $alumno in doc('ejercicio-planilla-correccion-examen.xml')/correccionExamen/resultadosPorAlumno/alumno
|
||||
where starts-with($alumno/@nombre, 'Cal')
|
||||
order by $alumno/@nombre ascending
|
||||
return <alumno>{ data($alumno/@nombre) }</alumno>
|
||||
} </examen>
|
||||
7
Unidad_07_XQUERY/ejercicio-09.xquery
Normal file
7
Unidad_07_XQUERY/ejercicio-09.xquery
Normal file
@@ -0,0 +1,7 @@
|
||||
<examen> {
|
||||
for $alumno in doc('ejercicio-planilla-correccion-examen.xml')/correccionExamen/resultadosPorAlumno/alumno
|
||||
let $nombreAlumno := $alumno/@nombre
|
||||
where starts-with($nombreAlumno, 'Cal')
|
||||
order by $nombreAlumno descending
|
||||
return <alumno>{ data($nombreAlumno) }</alumno>
|
||||
} </examen>
|
||||
10
Unidad_07_XQUERY/ejercicio-10.xquery
Normal file
10
Unidad_07_XQUERY/ejercicio-10.xquery
Normal file
@@ -0,0 +1,10 @@
|
||||
<examen> {
|
||||
for $apartado in doc('ejercicio-planilla-correccion-examen.xml')/correccionExamen/examen/apartado
|
||||
for $alumno in doc('ejercicio-planilla-correccion-examen.xml')/correccionExamen/resultadosPorAlumno/alumno
|
||||
let $numApartado := $apartado/@numApartado
|
||||
let $valoracionApartado := $alumno/valoracionApartado
|
||||
where $numApartado = $valoracionApartado/@numApartado
|
||||
return <apartadoExamen descripcion="{ data($apartado/@descripcion) }"
|
||||
alumno="{ data($alumno/@nombre) }"
|
||||
valoracion="{ data($valoracionApartado[@numApartado = $numApartado]) }"/>
|
||||
} </examen>
|
||||
12
Unidad_07_XQUERY/ejercicio-11.xquery
Normal file
12
Unidad_07_XQUERY/ejercicio-11.xquery
Normal file
@@ -0,0 +1,12 @@
|
||||
<examen> {
|
||||
for $apartado in doc('ejercicio-planilla-correccion-examen.xml')/correccionExamen/examen/apartado
|
||||
let $numApartado := $apartado/@numApartado
|
||||
return <apartadoExamen descripcion="{ $apartado/@descripcion }"> {
|
||||
|
||||
for $alumno in doc('ejercicio-planilla-correccion-examen.xml')/correccionExamen/resultadosPorAlumno/alumno
|
||||
let $nombreAlumno := $alumno/@nombre
|
||||
return <alumno nombre="{ $nombreAlumno }"
|
||||
valoracion="{$alumno/valoracionApartado[@numApartado = $numApartado]}"></alumno>
|
||||
|
||||
} </apartadoExamen>
|
||||
} </examen>
|
||||
35
Unidad_07_XQUERY/ejercicio-planilla-correccion-examen.xml
Normal file
35
Unidad_07_XQUERY/ejercicio-planilla-correccion-examen.xml
Normal file
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<correccionExamen>
|
||||
<examen tema="XSL (Extensible Stylesheet Language) y FO (Formatting Objects)">
|
||||
<apartado numApartado="1" descripcion="La transformación se realiza" valorPuntos="1"/>
|
||||
<apartado numApartado="2" descripcion="Se utiliza la tabla" valorPuntos="4"/>
|
||||
<apartado numApartado="3" descripcion="Se utilizan fórmulas" valorPuntos="5"/>
|
||||
</examen>
|
||||
<resultadosPorAlumno>
|
||||
<alumno nombre="Calderín Adam, Joaquín">
|
||||
<valoracionApartado numApartado="1">1</valoracionApartado>
|
||||
<valoracionApartado numApartado="2">0.25</valoracionApartado>
|
||||
<valoracionApartado numApartado="3">0.75</valoracionApartado>
|
||||
</alumno>
|
||||
<alumno nombre="Calera Muñiz, Manuel">
|
||||
<valoracionApartado numApartado="1">0.75</valoracionApartado>
|
||||
<valoracionApartado numApartado="2">0.35</valoracionApartado>
|
||||
<valoracionApartado numApartado="3">0.9</valoracionApartado>
|
||||
</alumno>
|
||||
<alumno nombre="Díez Sanchiz-Diezmo, Pablo">
|
||||
<valoracionApartado numApartado="1">0.3</valoracionApartado>
|
||||
<valoracionApartado numApartado="2">1</valoracionApartado>
|
||||
<valoracionApartado numApartado="3">0.65</valoracionApartado>
|
||||
</alumno>
|
||||
<alumno nombre="Expasito López, Francisco Manuel">
|
||||
<valoracionApartado numApartado="1">1</valoracionApartado>
|
||||
<valoracionApartado numApartado="2">0.25</valoracionApartado>
|
||||
<valoracionApartado numApartado="3">0.6</valoracionApartado>
|
||||
</alumno>
|
||||
<alumno nombre="Manantiales Cuenca, Víctor">
|
||||
<valoracionApartado numApartado="1">1</valoracionApartado>
|
||||
<valoracionApartado numApartado="2">0.75</valoracionApartado>
|
||||
<valoracionApartado numApartado="3">0.50</valoracionApartado>
|
||||
</alumno>
|
||||
</resultadosPorAlumno>
|
||||
</correccionExamen>
|
||||
11
Unidad_07_XQUERY/superheroes.xml
Normal file
11
Unidad_07_XQUERY/superheroes.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="xml-xsl-ejercicicio12.xsl"?>
|
||||
|
||||
<marvel>
|
||||
<superheroe nombre="Thor" poderes="Martillo mágico, Dios, Fuerza" amigos="Iron Man y Hulk" nivel="7"/>
|
||||
<superheroe nombre="Hulk" poderes="Superfuerza, indestructible" amigos="Iron Man y Thor" nivel="8"/>
|
||||
<superheroe nombre="Iron Man" poderes="Armadura, intelecto superior" amigos="Hulk y Thor" nivel="6"/>
|
||||
<superheroe nombre="Capitán América" poderes="fuerza, resistencia, superguerrero" amigos="Iron Man" nivel="6"/>
|
||||
<superheroe nombre="Viuda Negra" poderes="coordinación, luchadora" amigos="No tiene" nivel="6"/>
|
||||
<superheroe nombre="Nick Furia" poderes="coordinación, luchadora" amigos="No tiene" nivel="6"/>
|
||||
</marvel>
|
||||
Reference in New Issue
Block a user