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


Introducción

XQuery es un lenguaje crucial para la consulta y manipulación de datos XML, especialmente en el desarrollo de aplicaciones web (DAW). Este artículo presenta un archivo XML de ejemplo junto con una serie de ejercicios prácticos y sus soluciones en XQuery. Estos ejercicios te ayudarán a dominar XQuery y prepararte eficazmente para tu examen.

Archivo XML de Ejemplo

Consideremos el siguiente archivo XML que contiene información sobre una biblioteca digital, llamado biblioteca.xml:

<biblioteca>
  <libro>
    <titulo>1984</titulo>
    <autor>George Orwell</autor>
    <genero>Ficción</genero>
    <precio>15.99</precio>
    <fecha_publicacion>1949-06-08</fecha_publicacion>
    <disponible>true</disponible>
  </libro>
  <libro>
    <titulo>Orgullo y Prejuicio</titulo>
    <autor>Jane Austen</autor>
    <genero>Romance</genero>
    <precio>12.99</precio>
    <fecha_publicacion>1813-01-28</fecha_publicacion>
    <disponible>true</disponible>
  </libro>
  <libro>
    <titulo>El Gran Gatsby</titulo>
    <autor>F. Scott Fitzgerald</autor>
    <genero>Ficción</genero>
    <precio>10.99</precio>
    <fecha_publicacion>1925-04-10</fecha_publicacion>
    <disponible>false</disponible>
  </libro>
</biblioteca>

Ejercicio 1: Selección de Libros por Disponibilidad

Pregunta: Escribe una consulta XQuery que retorne los títulos de los libros que están disponibles.

Solución:

for $libro in doc("biblioteca.xml")//libro
where $libro/disponible = "true"
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 «Jane Austen».

Solución:

for $libro in doc("biblioteca.xml")//libro
where $libro/autor = "Jane Austen"
return <libro>
         <titulo>{$libro/titulo}</titulo>
         <precio>{$libro/precio}</precio>
       </libro>

Ejercicio 3: Ordenar Libros por Precio

Pregunta: Escribe una consulta XQuery que retorne los libros ordenados por precio en orden descendente.

Solución:

for $libro in doc("biblioteca.xml")//libro
order by $libro/precio descending
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 biblioteca.

Solución:

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

Ejercicio 5: Agrupar Libros por Género

Pregunta: Escribe una consulta XQuery que agrupe los libros por género y muestre el número de libros en cada género.

Solución:

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

Ejercicio 6: Libros Publicados Antes de 1950

Pregunta: Escribe una consulta XQuery que retorne los títulos de los libros publicados antes del 1 de enero de 1950.

Solución:

for $libro in doc("biblioteca.xml")//libro
where $libro/fecha_publicacion < xs:date("1950-01-01")
return $libro/titulo

Ejercicio 7: Calcular el Valor Total de los Libros Disponibles

Pregunta: Escribe una consulta XQuery que calcule y retorne el valor total de todos los libros disponibles (precio * cantidad).

Solución:

let $libros := doc("biblioteca.xml")//libro
let $total := sum(
  for $libro in $libros
  where $libro/disponible = "true"
  return $libro/precio
)
return <valor_total>{$total}</valor_total>

Ejercicio 8: Información Completa de Libros por Autor

Pregunta: Escribe una consulta XQuery que retorne toda la información de los libros escritos por «George Orwell».

Solución:

for $libro in doc("biblioteca.xml")//libro
where $libro/autor = "George Orwell"
return $libro

Conclusión

Estos ejercicios prácticos proporcionan una base sólida para trabajar con XQuery y datos XML, habilidades cruciales en el desarrollo de aplicaciones web. Practicar con estos ejemplos te preparará mejor para tus exámenes de DAW y mejorará tu capacidad para manejar datos XML de manera efectiva. ¡Sigue practicando para convertirte en un experto en XQuery!

computer codes
Photo by Pixabay on Pexels.com

Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.

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 InfoGonzalez - Blog de formador e informático

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