Está en la página 1de 6

Actividad3 XQuery

Utiliza el archivo biblioteca.xml 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.

También podría gustarte