Actividad3 XQuery
Utiliza el archivo [Link] para realizar las siguientes consultas FLOWR. Obtener el mismo
formato de resultado.
11. Libros que tengan más de dos autores ordenados por el precio de forma descendente.
Obtén el precio y el título del libro:
12. Título de cada libro y el nº de autores:
for $x in //book
return
<libro>
{$x/title}
<numautores>{count($x/author)}</numautores>
</libro>
Actividad3 XQuery
13. Títulos con el nº de autores ordenados desde el título más corto el título más largo:
for $x in //book
let $title := $x/title
let $authors := count($x/author)
order by string-length($title)
return
<result>
{$title}
<autores>
{$authors}
</autores>
Actividad3 XQuery
</result>
14. Lista de títulos y que aparezcan como atributo de un elemento <libro>
for $x in //book
return <libro
tit="{$x/title/text()}"/>
15. Lista de títulos cuyo apellido (last) de algún autor incluyan una ‘e’.
Actividad3 XQuery
<ol>{for $x in //book
where some $author in
$x/author satisfies
contains($author/last, "e")
return
<li>{$x/title/text()}</li>
}</ol>
16. Precio medio de los libros(let):
<media>{let $books := /bib/book
return avg($books/price)}</media>
17. Títulos y precios cuyo precio es inferior a la media (de dos formas, con cuantificador
existencial y sin él):
Actividad3 XQuery
18. El precio del libro más barato:
<barato>{let $barato :=
min(/bib/book/price)
return $barato
}</barato>
19. El precio y el título del libro más barato. Si hay varios libros de ese precio deben salir
también:
let $min-price := min(/bib/book/price)
for $book in /bib/book[price = $min-price]
return
<barato>
{$book/price}
{$book/title}
</barato>
20. Revisa los precios de los libros. El más barato debe ir entre las etiquetas <masbarato> y
</masbarato> el resto de precios no debe aparecer. Obtén la lista de títulos ordenados
por orden alfabético.
Actividad3 XQuery
Una vez realizados los ejercicios, podéis mejorar los resultados incluyendo etiquetas html.