Actividad 602
- La entrega será un fichero ZIP que contenga los ficheros
.xqcon las consultas solicitadas. - El nombre del fichero debe ser
602.zip.
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 impresoras y tiene las siguientes características:
- El elemento raíz del documento es
impresoras. - Dentro del elemento
impresorashay varios elementosimpresora. - Un elemento
impresoracontiene los elementosmarca,modelo,peso,tamano,cartuchoyenred. - El elemento
enredes opcional. - Los elementos
tamanoycartuchopueden aparecer una o más veces. - Además, un elemento
impresoratiene los atributosnumSerie,tipoycompra. - El atributo
numSeriecontiene un identificador único en todo el documento.
Ejemplo de documento XML que cumple los requisitos.
Escribe las consultas XQuery que devuelvan:
- El modelo de las impresoras de tipo
láser. - La marca y modelo (separados por un espacio en blanco) de las impresoras con más de un tamaño.
- La marca y modelo (separados por un espacio en blanco) de las impresoras con tamaño
A3(pueden tener otros). - La marca y modelo (separados por un espacio en blanco) de las impresoras con tamaño
A3como único tamaño. - El modelo de las impresoras en red.
- La cantidad de impresoras guardadas en el fichero XML.
- Las impresoras (elementos
<impresora>) compradas en 2018 o después. Los resultados se deben ordenar por año de compra (orden ascendente). - Las impresoras (elementos
<impresora>) con un peso igual o superior a 5 kg. - Las impresoras (elementos
<impresora>) que tienen cartucho con códigoC-456P. - La impresora (elemento
<impresora>) más pesada.
Las consultas que deben devolver un elemento o varios elementos están resaltadas. El resto, deben devolver valores (cadenas de texto, números, etc.).
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
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.xq2.xq3.xq4.xq5.xq6.xq7.xq8.xq9.xq10.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.