Consultas XPath para la gestión de información sobre bailes

Música4,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>

Descargar

PDF Word HTML