Ejercicio 1 · Nombre de las asignaturas que no tienen 4 créditos teóricos
//asignatura[creditos_teoricos != 4]/nombre/text()
Por qué fallaba tu consulta
- creditos_teoricos
es hijo de <asignatura>
, no su hermano; por eso no debes subir con ..
.
- En el XML el elemento se llama exactamente creditos_teoricos
(sin acento).
- Con una sola condición != 4
evitas duplicar la ruta.
Ejercicio 2 · Nombre de los alumnos con beca
//alumno[@beca]/nombre/text()
Por qué fallaba tu consulta
- Los elementos están en minúsculas (<alumno>
, no <Alumno>
).
- La idea de «si el atributo existe» era la correcta; solo faltaba ajustarse al nombre real.
Ejercicio 3 · Códigos de las asignaturas que estudian mujeres
//alumno[sexo = 'Mujer']/estudios/asignaturas/asignatura/@codigo
Por qué fallaba tu consulta
- sexo
cuelga directamente del alumno, por lo que ..
sobraba.
- No necesitas recorrer la lista global de asignaturas; basta con las que aparecen dentro de cada alumna.
- Cuidado con las comillas: en XPath deben ser rectas ' "
, nunca tipográficas.
Ejercicio 4 · Nombre del alumnado matriculado en la asignatura a02
//alumno[estudios/asignaturas/asignatura[@codigo = 'a02']]/nombre/text()
Por qué fallaba tu consulta
- De nuevo, estudios
cuelga de <alumno>
.
- Encierra todo el filtro en corchetes para que XPath entienda la condición como parte del predicado.
Ejercicio 5 · Nombres de los centros donde estudian mujeres
distinct-values(
//alumno[sexo = 'Mujer']
/estudios/carrera/centro/text()
)
(Si trabajas en XPath 1.0, deberías eliminar duplicados más tarde con una clave XSLT o filtrado en el lenguaje que uses.)
Por qué fallaba tu consulta
- El patrón ../sexo
apuntaba al lugar equivocado.
- Empezar desde las alumnas simplifica el recorrido y asegura que sólo se consideran centros en los que realmente hay mujeres matriculadas.
Calificación
Cada consulta valía 2 puntos. Al contener todas al menos un error que impide su evaluación correcta, la nota es 0 / 10. ¡Pero no te desanimes! Con unos pocos ajustes podrías recuperar prácticamente todos los puntos.
Recomendaciones para la próxima vez
- Dibuja el árbol del XML antes de escribir la ruta; ayuda a visualizar padres e hijos.
- Evita abusar de
..
; suele indicar que navegamos «a ciegas». - Respeta mayúsculas/minúsculas y tildes: XPath distingue
alumno
deAlumno
. - Usa comillas rectas en el editor de código; las tipográficas que añade Word provocan errores.
- Prueba tus expresiones en un evaluador online antes de entregar.
La práctica constante es la mejor forma de dominar XPath. ¡Ánimo y a por ello!