XQuery con escenario de libros
Ir a la navegación
Ir a la búsqueda
Sumario
Enunciado 1
<?xml version="1.0" encoding="ISO-8859-1"?>
<bib>
<libro ano="1994">
<titulo>TCP/IP Illustrated</titulo>
<autor>
<apelido>Stevens</apelido>
<nome>W.</nome>
</autor>
<editorial>Addison-Wesley</editorial>
<prezo>65.95</prezo>
</libro>
<libro ano="1992">
<titulo>Advanced Programming for Unix environment</titulo>
<autor>
<apelido>Stevens</apelido>
<nome>W.</nome>
</autor>
<editorial>Addison-Wesley</editorial>
<prezo>65.95</prezo>
</libro>
<libro ano="2000">
<titulo>Data on the Web</titulo>
<autor>
<apelido>Abiteboul</apelido>
<nome>Serge</nome>
</autor>
<autor>
<apelido>Buneman</apelido>
<nome>Peter</nome>
</autor>
<autor>
<apelido>Suciu</apelido>
<nome>Dan</nome>
</autor>
<editorial>Morgan Kaufmann editorials</editorial>
<prezo>39.95</prezo>
</libro>
<libro ano="1999">
<titulo> Economics of Technology for Digital TV</titulo>
<editor>
<apelido>Gerbarg</apelido>
<nome>Darcy</nome>
<afiliacion>CITI</afiliacion>
</editor>
<editorial>Kluwer Academic editorials</editorial>
<prezo>129.95</prezo>
</libro>
</bib>
Cuestións do enunciado 1
- Listar el título de todos los libros.
- Listar año y título de todos los libros, ordenados por el año.
- Listar los libros cuyo precio sea 65.95
- Listar los libros publicados antes del año 2000
- Listar año y título de los libros publicados por Addison-Wesley después del año 1992.
- Listar año y título de los libros que tienen más de un autor.
- Listar año y título de los libros que tienen no tienen autor.
- Mostrar los apellidos de los autores que aparecen en el documento, sin repeticiones, ordenados alfabéticamente.
- Por cada libro, listar agrupado en un elemento <result> su titulo y autores
- Por cada libro, obtener su título y el número de autores, agrupados en un elemento <libro>
- 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.
- 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.
Enunciado 2
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Cuestións do enunciado 2
Mostrar:
- los títulos de los libros con la etiqueta "titulo".
- los libros cuyo precio sea menor o igual a 30. Primero incluyendo la condición en la cláusula "where" y luego en la ruta del XPath.
- sólo el título de los libros cuyo precio sea menor o igual a 30.
- sólo el título sin atributos de los libros cuyo precio sea menor o igual a 30.
- el título y el autor de los libros del año 2005, y etiquetar cada uno de ellos con "lib2005".
- los años de publicación, primero con "for" y luego con "let" para comprobar la diferencia entre ellos. Etiquetar la salida con "publicacion".
- los libros ordenados primero por "category" y luego por "title" en una sola consulta.
- cuántos libros hay, y etiquetarlo con "total".
- los títulos de los libros y al final una etiqueta con el número total de libros.
- el precio mínimo y máximo de los libros.
- el título del libro, su precio y su precio con el IVA incluido, cada uno con su propia etiqueta. Ordénalos por precio con IVA.
- la suma total de los precios de los libros con la etiqueta "total".
- cada uno de los precios de los libros, y al final una nueva etiqueta con la suma de los precios.
- el título y el número de autores que tiene cada título en etiquetas diferentes.
- en la misma etiqueta el título y entre paréntesis el número de autores que tiene ese título.
- los libros escritos en años que terminen en "3".
- los libros cuya categoría empiece por "C".
- los libros que tengan una "X" mayúscula o minúscula en el título ordenados de manera descendente.
- el título y el número de caracteres que tiene cada título, cada uno con su propia etiqueta.
- todos los años en los que se ha publicado un libro eliminando los repetidos. Etiquétalos con "año".
- todos los autores eliminando los que se repiten y ordenados por el número de caracteres que tiene cada autor.
- los títulos en una tabla de HTML.
Solución
Solución de XQuery con escenario de libros
Referencias
- XQuery. J. J. Gutiérrez, M. J. Escalona, M. Mejías, J. Torres, D. Villadiego. Universidad de Sevilla. Lenguajes y Sistemas Informáticos
- https://sites.google.com/site/todoxmldtd/ejercicios/enunciados/55-ejercicios-de-xquery/ejercicio-xquery-b
- Ejercicios prácticos de XQuery. Rafa Morales. Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional
