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

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

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