Consultas XPath para la gestión de información sobre bailes
Clasificado en Música
Escrito el en español con un tamaño de 4,02 KB
Consultas XPath para gestión de información sobre bailes
Mostrar cada uno de los nombres de los bailes
for $baile in /bailes/baile
return <losbailes>{$baile/nombre/text()}</losbailes>
Mostrar los nombres de los bailes con el número de plazas
for $baile in /bailes/baile
return <losbailes>{$baile/nombre/text()} ({$baile/plazas/text()})</losbailes>
Mostrar los nombres de los bailes con precio mayor de 30
for $baile in /bailes/baile
where $baile/precio > 30
return $baile/nombre
for $baile in /bailes/baile[precio > 30]
return $baile/nombre
Mostrar los nombres de los bailes con precio mayor de 30 y moneda euro
for $baile in /bailes/baile
where $baile/precio > 30 and $baile/precio/@moneda = "euro"
return $baile/nombre
for $baile in /bailes/baile[precio > 30 and precio/@moneda = "euro"]
return $baile/nombre
Mostrar nombres y fecha de comienzo de los bailes que comiencen en enero
for $baile in /bailes/baile
where contains($baile/comienzo, "/1/")
return
<baile>
{$baile/profesor}
{$baile/comienzo}
</baile>
Mostrar nombres de profesores y sala, ordenados por sala
for $baile in /bailes/baile
order by $baile/sala
return
<baile>
{$baile/profesor}
{$baile/sala}
</baile>
Mostrar nombres de profesores sin repetir y salas donde dan clase, ordenados por nombre
for $profesor in distinct-values(/bailes/baile/profesor)
let $salas := /bailes/baile[profesor=$profesor]/sala
order by $profesor
return
<profesores>
<nombre>{$profesor}</nombre>
{$salas}
</profesores>
Mostrar la media de los precios de todos los bailes
let $baile := /bailes/baile
return <media>{avg($baile/precio)}</media>
Mostrar la suma de los precios de los bailes de la sala 1
let $baile := /bailes/baile[sala=1]
return <total_sala_1>{sum($baile/precio)}</total_sala_1>
Mostrar cuántas plazas oferta el profesor "Jesus Lozano"
let $baile := /bailes/baile[profesor = "Jesus Lozano"]
return <plazas>{sum($baile/plazas)}</plazas>
Mostrar las ganancias de "Laura Mendiola" si se completan todas las plazas
let $baile := /bailes/baile[profesor = "Laura Mendiola"]
return $baile/plazas * $baile/precio
Mostrar las ganancias de "Jesus Lozano" por cada baile si se completan las plazas
for $baile in /bailes/baile
where $baile/profesor = "Jesus Lozano"
return <beneficio>{$baile/plazas * $baile/precio}</beneficio>
Mostrar las ganancias de "Laura" si se completan todas las plazas
for $baile in /bailes/baile
where starts-with($baile/profesor, "Laura")
return <beneficio>{$baile/plazas * $baile/precio}</beneficio>
for $baile in /bailes/baile[starts-with(profesor, "Laura")]
return <beneficio>{$baile/plazas * $baile/precio}</beneficio>
Mostrar nombre, precio y precio con descuento del 15% para familias numerosas, ordenados por nombre
for $baile in /bailes/baile
order by $baile/nombre
return
<baile>
{$baile/nombre}
<precio>{$baile/precio/text()}</precio>
<fam_numerosa>{$baile/precio * 0.85}</fam_numerosa>
</baile>
Mostrar todos los datos de cada baile excepto la fecha de comienzo y de fin
for $baile in /bailes/baile
return <baile>{$baile/* except $baile/comienzo except $baile/fin}</baile>
Mostrar en una tabla HTML los nombres de los bailes y su profesor
<table> {
for $baile in /bailes/baile
return <tr><td>{$baile/nombre/text()}</td><td>{$baile/profesor/text()}</td></tr>
} </table>