Saltar al contenido

Ejercicios Prácticos de XQuery con XML: Preparación Avanzada para el Examen de DAW

gray and black laptop computer

Introducción

XQuery es un lenguaje indispensable para la consulta y manipulación de datos XML, especialmente 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 te ayudarán a fortalecer tu comprensión y habilidades en el uso de XQuery.

Archivo XML de Ejemplo

Consideremos el siguiente archivo XML que contiene información sobre una biblioteca de música, llamado musica.xml:

<biblioteca>
  <album>
    <titulo>The Dark Side of the Moon</titulo>
    <artista>Pink Floyd</artista>
    <genero>Rock</genero>
    <precio>15.99</precio>
    <fecha_lanzamiento>1973-03-01</fecha_lanzamiento>
  </album>
  <album>
    <titulo>Thriller</titulo>
    <artista>Michael Jackson</artista>
    <genero>Pop</genero>
    <precio>12.99</precio>
    <fecha_lanzamiento>1982-11-30</fecha_lanzamiento>
  </album>
  <album>
    <titulo>Back in Black</titulo>
    <artista>AC/DC</artista>
    <genero>Rock</genero>
    <precio>10.99</precio>
    <fecha_lanzamiento>1980-07-25</fecha_lanzamiento>
  </album>
</biblioteca>

Ejercicio 1: Selección de Álbumes por Género

Pregunta: Escribe una consulta XQuery que retorne los títulos de los álbumes del género «Rock».

Solución:

for $album in doc("musica.xml")//album
where $album/genero = "Rock"
return $album/titulo

Ejercicio 2: Filtrar Álbumes por Artista

Pregunta: Escribe una consulta XQuery que retorne los títulos y precios de los álbumes del artista «Michael Jackson».

Solución:

for $album in doc("musica.xml")//album
where $album/artista = "Michael Jackson"
return <album>
         <titulo>{$album/titulo}</titulo>
         <precio>{$album/precio}</precio>
       </album>

Ejercicio 3: Ordenar Álbumes por Fecha de Lanzamiento

Pregunta: Escribe una consulta XQuery que retorne los álbumes ordenados por fecha de lanzamiento en orden descendente.

Solución:

for $album in doc("musica.xml")//album
order by $album/fecha_lanzamiento descending
return $album

Ejercicio 4: Calcular el Precio Promedio de los Álbumes

Pregunta: Escribe una consulta XQuery que calcule y retorne el precio promedio de todos los álbumes en la biblioteca.

Solución:

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

Ejercicio 5: Agrupar Álbumes por Artista

Pregunta: Escribe una consulta XQuery que agrupe los álbumes por artista y muestre el número de álbumes que tiene cada uno.

Solución:

let $albums := doc("musica.xml")//album
for $artista in distinct-values($albums/artista)
let $conteo := count($albums[artista = $artista])
return <artista>
         <nombre>{$artista}</nombre>
         <cantidad_albumes>{$conteo}</cantidad_albumes>
       </artista>

Ejercicio 6: Álbumes Publicados Después de una Fecha Específica

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

Solución:

for $album in doc("musica.xml")//album
where $album/fecha_lanzamiento > xs:date("1980-01-01")
return $album/titulo

Conclusión

Estos ejercicios prácticos te ofrecen una visión integral del uso de XQuery para manipular y consultar datos XML. Practicar con estos ejemplos te preparará mejor para tus exámenes de DAW y te ayudará a desarrollar competencias clave en el manejo de datos XML. ¡Sigue practicando y explorando las capacidades de XQuery para convertirte en un experto en este lenguaje!

gray and black laptop computer
Photo by Pixabay on Pexels.com
Etiquetas:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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.

¿Atascado con tu proyecto? Presupuesto GRATIS

X
error: Content is protected !!
Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad