Saltar al contenido

Ejercicios Prácticos de XQuery con XML: Guía para Preparar el Examen de DAW

gray and black laptop computer

Introducción

XQuery es un lenguaje esencial para trabajar con datos XML, utilizado en diversas aplicaciones de desarrollo web (DAW). En este artículo, presentaremos un archivo XML ejemplo y una serie de ejercicios prácticos con sus soluciones en XQuery. Estos ejercicios están diseñados para ayudarte a comprender mejor el uso de XQuery en diferentes escenarios.

Archivo XML de Ejemplo

Consideremos el siguiente archivo XML que contiene información sobre un catálogo de películas, llamado peliculas.xml:

<catalogo>
  <pelicula>
    <titulo>El Gran Escape</titulo>
    <director>John Sturges</director>
    <genero>Accion</genero>
    <precio>14.99</precio>
    <fecha_lanzamiento>1963-07-04</fecha_lanzamiento>
  </pelicula>
  <pelicula>
    <titulo>Casablanca</titulo>
    <director>Michael Curtiz</director>
    <genero>Drama</genero>
    <precio>19.99</precio>
    <fecha_lanzamiento>1942-11-26</fecha_lanzamiento>
  </pelicula>
  <pelicula>
    <titulo>La La Land</titulo>
    <director>Damien Chazelle</director>
    <genero>Musical</genero>
    <precio>24.99</precio>
    <fecha_lanzamiento>2016-12-09</fecha_lanzamiento>
  </pelicula>
</catalogo>

Ejercicio 1: Selección de Películas por Género

Pregunta: Escribe una consulta XQuery que retorne los títulos de las películas del género «Drama».

Solución:

for $pelicula in doc("peliculas.xml")//pelicula
where $pelicula/genero = "Drama"
return $pelicula/titulo

Ejercicio 2: Filtrar Películas por Director

Pregunta: Escribe una consulta XQuery que retorne los títulos y precios de las películas dirigidas por «Damien Chazelle».

Solución:

for $pelicula in doc("peliculas.xml")//pelicula
where $pelicula/director = "Damien Chazelle"
return <pelicula>
         <titulo>{$pelicula/titulo}</titulo>
         <precio>{$pelicula/precio}</precio>
       </pelicula>

Ejercicio 3: Ordenar Películas por Fecha de Lanzamiento

Pregunta: Escribe una consulta XQuery que retorne las películas ordenadas por fecha de lanzamiento en orden descendente.

Solución:

for $pelicula in doc("peliculas.xml")//pelicula
order by $pelicula/fecha_lanzamiento descending
return $pelicula

Ejercicio 4: Calcular el Precio Promedio de las Películas

Pregunta: Escribe una consulta XQuery que calcule y retorne el precio promedio de todas las películas en el catálogo.

Solución:

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

Ejercicio 5: Agrupar Películas por Director

Pregunta: Escribe una consulta XQuery que agrupe las películas por director y muestre el número de películas que ha dirigido cada uno.

Solución:

let $peliculas := doc("peliculas.xml")//pelicula
for $director in distinct-values($peliculas/director)
let $conteo := count($peliculas[director = $director])
return <director>
         <nombre>{$director}</nombre>
         <cantidad_peliculas>{$conteo}</cantidad_peliculas>
       </director>

Conclusión

Estos ejercicios prácticos te ayudarán a familiarizarte con el uso de XQuery para manipular y consultar datos XML, habilidades fundamentales para el desarrollo de aplicaciones web. Practicar con estos ejemplos te preparará mejor para tus exámenes de DAW y mejorará tu competencia en el manejo de datos XML. ¡Sigue practicando para convertirte en un experto en XQuery!

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

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