Solución a XPath con escenario de ciclos de fp, módulos e alumnado

De MediaWiki
Ir a la navegación Ir a la búsqueda

Solución

a) Os nomes e apelidos do alumnado do ciclo "ASIR".

/centro/ciclo[@id="ASIR"]/alumno/nome_apelidos

b) A suma das horas dos módulos do ciclo "ASIR".

sum(//ciclo[@id="ASIR"]/módulo/horas)

c) Os "id" dos ciclos nos que se imparta o módulo con código "MP0373".

//ciclo[módulo/@id="MP0373"]/@id

d) Os alumnos nados despois do ano 1992.

//alumno[substring(datanacemento,7,4) > 1992]

e) Os alumnos que non teñan "observacións".

//alumno[not(observacións)]

f) Os alumnos que teñan algún módulo suspenso ("nota" < 5).

//alumno[cursa/@nota < 5]

g) Os "id" dos alumnos que están matriculados nalgún módulo pero todavía non teñen "nota".

/centro/ciclo/alumno[cursa[not(@nota)]]/@id
//alumno[count(cursa) > count(cursa/@nota)]/@id

h) Os alumnos que non teñen ningún módulo aprobado.

//alumno[not(cursa/@nota >= 5)]

i) O "id" do último ciclo que figure no documento.

//ciclo[last()]/@id

j) A media das notas da alumna "María Penedo Suárez" no ciclo "DAW".

sum(//ciclo[@id="DAW"]/alumno[nome_apelidos="María Penedo Suárez"]/cursa/@nota) div count(//ciclo[@id="DAW"]/alumno[nome_apelidos="María Penedo Suárez"]/cursa)