Título: Ejercicios Prácticos de XQuery con XML: Preparación Exhaustiva para el Examen de DAW


Introducción

XQuery es un lenguaje fundamental para la consulta y manipulación de datos XML, utilizado en el desarrollo de aplicaciones web (DAW). En este artículo, presentamos un archivo XML de ejemplo y una serie de ejercicios prácticos con soluciones en XQuery. Estos ejercicios están diseñados para ayudarte a comprender y aplicar XQuery en diferentes contextos, mejorando tu preparación para el examen.

Archivo XML de Ejemplo

Consideremos el siguiente archivo XML que contiene información sobre una tienda de libros, llamado tienda_libros.xml:

<tienda>
  <libro>
    <titulo>El Principito</titulo>
    <autor>Antoine de Saint-Exupéry</autor>
    <genero>Ficción</genero>
    <precio>12.99</precio>
    <fecha_publicacion>1943-04-06</fecha_publicacion>
    <stock>120</stock>
  </libro>
  <libro>
    <titulo>Cien Años de Soledad</titulo>
    <autor>Gabriel García Márquez</autor>
    <genero>Ficción</genero>
    <precio>18.99</precio>
    <fecha_publicacion>1967-05-30</fecha_publicacion>
    <stock>85</stock>
  </libro>
  <libro>
    <titulo>Breve Historia del Tiempo</titulo>
    <autor>Stephen Hawking</autor>
    <genero>Ciencia</genero>
    <precio>14.99</precio>
    <fecha_publicacion>1988-03-01</fecha_publicacion>
    <stock>45</stock>
  </libro>
</tienda>

Ejercicio 1: Selección de Libros por Género

Pregunta: Escribe una consulta XQuery que retorne los títulos de los libros del género «Ficción».

Solución:

for $libro in doc("tienda_libros.xml")//libro
where $libro/genero = "Ficción"
return $libro/titulo

Ejercicio 2: Filtrar Libros por Autor

Pregunta: Escribe una consulta XQuery que retorne los títulos y precios de los libros escritos por «Gabriel García Márquez».

Solución:

for $libro in doc("tienda_libros.xml")//libro
where $libro/autor = "Gabriel García Márquez"
return <libro>
         <titulo>{$libro/titulo}</titulo>
         <precio>{$libro/precio}</precio>
       </libro>

Ejercicio 3: Ordenar Libros por Fecha de Publicación

Pregunta: Escribe una consulta XQuery que retorne los libros ordenados por fecha de publicación en orden ascendente.

Solución:

for $libro in doc("tienda_libros.xml")//libro
order by $libro/fecha_publicacion
return $libro

Ejercicio 4: Calcular el Precio Promedio de los Libros

Pregunta: Escribe una consulta XQuery que calcule y retorne el precio promedio de todos los libros en la tienda.

Solución:

let $precios := doc("tienda_libros.xml")//libro/precio
let $promedio := avg($precios)
return <precio_promedio>{$promedio}</precio_promedio>

Ejercicio 5: Agrupar Libros por Autor

Pregunta: Escribe una consulta XQuery que agrupe los libros por autor y muestre el número de libros escritos por cada uno.

Solución:

let $libros := doc("tienda_libros.xml")//libro
for $autor in distinct-values($libros/autor)
let $conteo := count($libros[autor = $autor])
return <autor>
         <nombre>{$autor}</nombre>
         <cantidad_libros>{$conteo}</cantidad_libros>
       </autor>

Ejercicio 6: Libros con Más de 50 Unidades en Stock

Pregunta: Escribe una consulta XQuery que retorne los títulos de los libros que tienen más de 50 unidades en stock.

Solución:

for $libro in doc("tienda_libros.xml")//libro
where $libro/stock > 50
return $libro/titulo

Ejercicio 7: Calcular el Valor Total del Stock por Libro

Pregunta: Escribe una consulta XQuery que calcule y retorne el valor total del stock de cada libro (precio * stock).

Solución:

for $libro in doc("tienda_libros.xml")//libro
let $valor_total := $libro/precio * $libro/stock
return <libro>
         <titulo>{$libro/titulo}</titulo>
         <valor_total>{$valor_total}</valor_total>
       </libro>

Ejercicio 8: Libros Publicados Después de 1980

Pregunta: Escribe una consulta XQuery que retorne los títulos de los libros publicados después del 1 de enero de 1980.

Solución:

for $libro in doc("tienda_libros.xml")//libro
where $libro/fecha_publicacion > xs:date("1980-01-01")
return $libro/titulo

Conclusión

Estos ejercicios prácticos proporcionan una comprensión profunda del uso de XQuery para manipular y consultar datos XML, habilidades esenciales para el desarrollo de aplicaciones web. Practicar con estos ejemplos te ayudará a prepararte mejor para tus exámenes de DAW y a desarrollar tu competencia en el manejo de datos XML. ¡Sigue practicando para perfeccionar tus habilidades en XQuery!

close up photo of programming of codes
Photo by luis gomes on Pexels.com

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde Tomás González: Formador y Desarrollador Web

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad