Diferencia entre revisiones de «Solución de XQuery con escenario de libros»

De MediaWiki
Ir a la navegación Ir a la búsqueda
Línea 41: Línea 41:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
−
5. Listar año y título de los libros publicados por Addison-Wesley después del año1992.
+
5. Listar año y título de los libros publicados por Addison-Wesley después del año 1992.
  
 
<syntaxhighlight lang="xquery" style="border: 3px dashed blue;>
 
<syntaxhighlight lang="xquery" style="border: 3px dashed blue;>
 
for $a in doc("libros.xml")/bib/libro
 
for $a in doc("libros.xml")/bib/libro
−
where $a/editorial = "Addison-Wesley"
+
where $a/editorial = "Addison-Wesley" and $a/@ano > 1991
 
return
 
return
 
<libro ano="{ $a/@ano }">
 
<libro ano="{ $a/@ano }">
 
{ $a/titulo }
 
{ $a/titulo }
 
</libro>
 
</libro>
 +
</syntaxhighlight>
 +
 +
6. Listar año y título de los libros que tienen más de un autor.
 +
 +
<syntaxhighlight lang="xquery" style="border: 3px dashed blue;>
 +
</syntaxhighlight>
 +
 +
7. Listar año y título de los libros que tienen no tienen autor.
 +
 +
<syntaxhighlight lang="xquery" style="border: 3px dashed blue;>
 +
</syntaxhighlight>
 +
 +
8. Mostrar los apellidos de los autores que aparecen en el documento, sin repeticiones, ordenadosalfabéticamente.
 +
 +
<syntaxhighlight lang="xquery" style="border: 3px dashed blue;>
 +
</syntaxhighlight>
 +
 +
9. Por cada libro, listar agrupado en un elemento <result> su titulo y autores
 +
 +
<syntaxhighlight lang="xquery" style="border: 3px dashed blue;>
 +
</syntaxhighlight>
 +
 +
10. Por cada libro, obtener su título y el número de autores, agrupados en un elemento <libro>
 +
 +
<syntaxhighlight lang="xquery" style="border: 3px dashed blue;>
 +
</syntaxhighlight>
 +
 +
11. Generar un documento html con un encabezado que diga “Listado de libros” seguido de una tabla de 3 columnas, en la que se muestre el titulo, editorial y precio de cada libro. La tabla deberá tener bordes y la primera fila tendrá un formato especial con los nombres de las columnas. Las columnas de título y editorial irán alineadas a la izquierda, y el precio a la derecha.
 +
 +
<syntaxhighlight lang="xquery" style="border: 3px dashed blue;>
 +
</syntaxhighlight>
 +
 +
12. Generar el siguiente documento html con la información de los libros del autor Stevens. El valor precio total es un campo calculado utilizando una consulta con una cláusula let.
 +
 +
<syntaxhighlight lang="xquery" style="border: 3px dashed blue;>
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revisión del 21:39 28 ene 2023

1. Listar el título de todos los libros.

doc("libros.xml")//libro/titulo

También:

for $libros in doc("libros.xml")/bib/libro/titulo
return $libros

2. Listar año y título de todos los libros, ordenados por el año.

for $a in doc("libros.xml")//libro
order by $a/@ano
return
<libro>
{$a/@ano}
{$a/titulo}
</libro>

3. Listar los libros cuyo precio sea 65.95

for $a in doc("libros.xml")//libro
where $a/prezo = "65.95"
return $a

4. Listar los libros publicados antes del año 2000

for $a in doc("libros.xml")//libro
where $a/@ano < "2000"
return $a

5. Listar año y título de los libros publicados por Addison-Wesley después del año 1992.

for $a in doc("libros.xml")/bib/libro
where $a/editorial = "Addison-Wesley" and $a/@ano > 1991
return
<libro ano="{ $a/@ano }">
{ $a/titulo }
</libro>

6. Listar año y título de los libros que tienen más de un autor.

7. Listar año y título de los libros que tienen no tienen autor.

8. Mostrar los apellidos de los autores que aparecen en el documento, sin repeticiones, ordenadosalfabéticamente.

9. Por cada libro, listar agrupado en un elemento <result> su titulo y autores

10. Por cada libro, obtener su título y el número de autores, agrupados en un elemento <libro>

11. Generar un documento html con un encabezado que diga “Listado de libros” seguido de una tabla de 3 columnas, en la que se muestre el titulo, editorial y precio de cada libro. La tabla deberá tener bordes y la primera fila tendrá un formato especial con los nombres de las columnas. Las columnas de título y editorial irán alineadas a la izquierda, y el precio a la derecha.

12. Generar el siguiente documento html con la información de los libros del autor Stevens. El valor precio total es un campo calculado utilizando una consulta con una cláusula let.

Referencias