Realizar los ejercicios de XQuery: XQuery Básico 1 (https://sites.google.com/site/todoxmldtd/ejercicios/enunciados/55-ejercicios-dexquery/ejercicio-xquery-b)) xquery/ejercicio-xquery-b XQuery Básico 2 (https://sites.google.com/site/todoxmldtd/ejercicios/enunciados/55-ejercicios-dexquery/ejercicio-xquery-basico-1)) xquery/ejercicio-xquery-basico-1
XQuery Básico 1
1. Listar el título de todos los libros. doc("libros.xml")//libro/titulo o 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/@anyo return {$a/@anyo} {$a/titulo}
3. Listar los libros cuyo precio sea 65.95 for $a in doc("libros.xml")//libro where $a/precio = "65.95" return $a
4. Listar los libros publicados antes del año 2000 for $a in doc("libros.xml")//libro where $a/@anyo < "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" return { $a/titulo }
6. Listar año y título de los libros que tienen más de un autor. for $a in doc("libros.xml")//libro let $cont := $a//autor where count($cont) >= 2 return $a/ titulo
7. Listar año y título de los libros que tienen no tienen autor. for $a in doc("libros.xml")//libro let $cont := $a//autor where count($cont) = 0 return $a/ titulo
8. Mostrar los apellidos de los autores que aparecen en el documento, sin repeticiones, ordenados alfabéticamente. for $a in distinct-values(doc("libros.xml") //(autor)/apellido) order by $a return { $a }
9. Por cada libro, listar agrupado en un elemento su titulo y autores for $a in doc("libros.xml") //libro return {$a/titulo} {$a/autor}
10. Por cada libro, obtener su título y el número de autores, agrupados en un elemento for $b in doc("libros.xml")//libro let $c := $b/autor return { $b/titulo, { count($c) }}
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. Titulo Editorial Precio { for $a in doc("Libros.xml")//libro return {$a /titulo} {$a /editorial} {$a /precio} }
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. let $total:= doc("libros.xml")//libro/autor[apellido='Stevens']/.. return Libros de Stevens Titulo Precio { for $a in doc("libros.xml")//libro where $a/autor/apellido='Stevens' return {$a/titulo} {$a/precio} } Precio Total {sum($total/precio)}
XQuery Básico 2
El alumno debe hacer, con los ficheros que se muestran, las sentencias XQuery necesarias para mostrar los resultados siguientes: 1. Realizar una tabla html con el título "Situación de los libros" y en la que se muestren las columnas: código de libro, título, año y situación (comprado o pendiente). Situación de los libros { for $a in doc("libros.xml")//libro return {$a/@codigo} {$a/titulo} {$a/anyo} { let $com_pen := doc("librosalmacen.xml")//almacen/comprados return if ($com_pen/codigo=$a/@codigo) then Comprado else Pendiente } }
2. Realizar un lista ordenada html de nombre de autores. for $a in doc("libros.xml")//libro order by $a/titulo return {$a /titulo}
3. Realizar una tabla html con el título "Listado de libros de categorías" y que tenga las columnas: categoría y nro.de títulos. Listado de libros de categorías Categoria Nº Libros { for $a in distinct-values(doc("libros.xml")//libro/@categoria) return {$a} { let $num := doc("libros.xml")//libro[@categoria=$a] return count($num) } }
4. Realizar una tabla html con el título "Listado de libros" y que tenga las columnas: código, categoría, título, autor, año y precio. En la columna autor deberá figurar "varios" si hay más de un autor.
5. Realizar una tabla html con el título "listado de libros pendientes anteriores a 2004" con las columnas: código, categoría, titulo y precio. listado de libros pendientes anteriores a 2004 Código Categoría Titulo Precio { for $a in doc("libros.xml")//libro
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.