Solución Tarea para LMSGI06
Solución Tarea para LMSGI06
Solución Tarea para LMSGI06
Formato de la salida:
<puerto>
<nombre>….</nombre>
</puerto>
…..
for $x in doc("puertos.xml")/puertos/puerto
where $x/pais = "Italia"
return <puerto>{$x/nombre}</puerto>
Formato de la salida:
<NumeroDePuertosEnEspaña>….</NumeroDePuertosEnEspaña>
for $x in doc("puertos.xml")/puertos
let $y := $x/puerto[pais = "España"]
return <NumeroDePuertosenEspaña>{count($y)}</NumeroDePuertosenEspaña>
3) (2 puntos) El nombre y el recorrido de los cruceros que se organizan cada mes, con un precio
base superior seiscientos euros ordenados por su nombre.
Formato de la salida:
<crucero>
<nombre>...</nombre>
<recorrido>
<puerto_salida>...</puerto_salida>
<etapa numero="...">
<puerto>…</puerto>
<dias>...</dias>
</etapa>
……..
</recorrido>
</crucero>
………..
for $a in doc("cruceros.xml")//crucero
where $a/frecuencia = "cada_mes" and $a/precio/base > 600
order by $a/nombre
return <crucero>{$a/nombre, $a/recorrido}</crucero
Formato de la salida:
<crucero>
<nombre>...</nombre>
<numero_de_etapas>...</numero_de_etapas>
</crucero>
………………..
for $a in doc("cruceros.xml")//crucero
where $a/frecuencia ="cada_dos_meses"
return <crucero>{$a/nombre}
<numero_de_etapas>{count($a//recorrido/etapa)}</numero_de_etapas></crucero>
5) (2 puntos) El nombre del crucero, el del puerto de salida y el precio de un camarote exterior
(que se calcula añadiendo al precio base, el precio extra por un camarote exterior) de aquellos
cruceros que paran o salen de la ciudad de Bari.
Formato de la salida:
<crucero>
<nombre>…</nombre>
<puerto_salida>...</puerto_salida>
<precio_en_camarote_exterior>...</precio_en_camarote_exterior>
</crucero>
……………..
for $a in doc("cruceros.xml")/cruceros/crucero
where $a/recorrido/puerto_salida = "Bari" or $a/recorrido/etapa/puerto = "Bari"
return <crucero>{$a/nombre,
$a/recorrido/puerto_salida}<precio_en_camarote_exterior>{$a/precio/base +
$a/precio/extra_camarote_exterior}</precio_en_camarote_exterior></crucero>
6) (2,5 puntos) El nombre del crucero, el del puerto de salida y el número total de días de
duración de los cruceros que tienen su salida en un puerto de España.
Formato de la salida:
<crucero>
<nombre>...</nombre>
<puerto_salida>...</puerto_salida>
<dias_crucero>...</dias_crucero>
</crucero>
………...
for $a in doc("cruceros.xml")//crucero
for $b in doc("puertos.xml")//puerto
where $a/recorrido/puerto_salida=$b/nombre and $b/pais="España"
return <crucero>{$a/nombre,$a/recorrido/puerto_salida}<dias_crucero>
{sum($a/recorrido/etapa/dias)}</dias_crucero></crucero>