Saltar al contenido principal

Actividad 601

Entrega
  • La entrega será un fichero ZIP que contenga los ficheros .xq con las consultas solicitadas.
  • El nombre del fichero debe ser 601.zip.
Se valorará

Para la valoración de este ejercicio, se tendrá en cuenta únicamente la funcionalidad de las consultas XQuery.

Un documento XML almacena la información de usuarios/as y tiene las siguientes características:

  • El elemento raíz del documento es usuarios.
  • Dentro del elemento usuarios hay varios elementos usuario.
  • Un elemento usuario contiene los elementos id, nombre, apellido, email, edad, ip y pais.
Documento XML

Ejemplo de documento XML que cumple los requisitos.

Escribe las consultas XQuery que devuelvan:

  1. Los usuarios (elementos <usuario>) con identificador igual o inferior a 20.
  2. Los usuarios (elementos <usuario>) que tienen una edad entre 20 y 30 (incluidos).
  3. Los usuarios (elementos <usuario>) de España (ES) e Italia (IT).
  4. Los usuarios (elementos <usuario>) que tiene un email con extensión .com.
  5. Los usuarios (elementos <usuario>) que tienen un nombre de 5 caracteres o menos.
  6. El nombre y apellidos (separados por un espacio en blanco) de los usuarios de francia (FR).
  7. La lista completa de los países (códigos de 2 letras mayúsculas) de los usuarios almacenados en el documento XML. Los países no deben aparecer repetidos.
  8. Los usuarios (elementos <usuario>) con identificador superior a 50 y con edad igual o inferior a 80 años.
  9. La media de edad de los usuarios.
  10. La cantidad de usuarios guardados en el documento XML.
Resultados de las consultas

Las consultas que deben devolver un elemento o varios elementos están resaltadas. El resto, deben devolver valores (cadenas de texto, números, etc.).

Cláusulas FLWOR

En todas las consultas XQuery se debe utilizar la estructura FLWOR para el filtrado de la información. No está permitido el uso de XPath para filtrar la información en la clásula for.

Por ejemplo, la siguiente consulta sería correcta:

for $x in elementos/elemento
where $x/@att = "item"
return $x/nombre

Sin embargo, la siguiente consulta sería incorrecta:

for $x in elementos/elemento[@att="item"]
return $x/nombre
Ficheros XQuery

Cada consulta XQuery debe guardarse en un fichero llamado N.xq, donde N es el número del apartado. Es decir, al terminar de realizar la actividad, debemos tener los siguientes archivos:

  • 1.xq
  • 2.xq
  • 3.xq
  • 4.xq
  • 5.xq
  • 6.xq
  • 7.xq
  • 8.xq
  • 9.xq
  • 10.xq

Todos los archivos anteriores se deben comprimir en un fichero ZIP. Asegúrate de que el fichero comprimido sea un ZIP y no otro formato diferente, como RAR o 7Z.