Si scriva un possibile XML-Schema che modelli nel modo piu' accurato possibile una base di dati vacanziera, una cui istanza corrisponde al seguente XML:
<vacanze>
<periodo dal="2007-07-07"
al="2007-07-09">
<dove>Mare<localita>Bibione</localita></dove>
<sicuramente/>
</periodo>
<periodo dal="2007-08-18"
al="2007-08-25">
<dove>Mare<localita>Jesolo</localita></dove>
<sicuramente commento="crolli il
mondo!"/>
</periodo>
<periodo dal="2007-08-10"
al="2007-08-17">
<forse/>
<dove>Montagna<localita>Cortina</localita></dove>
</periodo>
<periodo dal="2007-07-30"
al="2007-08-14">
<dove>Mare<localita>Ibiza</localita></dove>
<forse/>
</periodo>
</vacanze>
Si scriva una query in XQuery che trasformi una base di dati in XML presente all'indirizzo http://www.example.org/vacanze.xml definita dall'XML-Schema dell'esercizio precedente, in modo tale che venga prodotto il seguente report:
<report>
<titolo>Le mie Vacanze</titolo>
<frase>Le mie vacanze cominciano il 2007-07-07 e finiscono il
2007-08-25.</frase>
<frase>Se tutto va bene, prima vado a Bibione (sicuramente),
poi a Ibiza (forse), poi a Cortina (forse), poi a Jesolo (sicuramente, crolli
il mondo!).</frase>
<frase>Di queste 4 localita', 3 sono al Mare ed 1 in
Montagna.</frase>
<frase enfasi="si">Devo fare ATTENZIONE perche' ci sono almeno
due periodi di vacanza con date
sovrapposte!</frase>
</report>
Si scriva una trasformata XSLT che dato un database in XML definito dall'XML-Schema precedente, ritorni solo le localita' di vacanza ordinate alfabeticamente, tramutando la base di dati del primo esercizio nel seguente modo:
<vacanze><localita>Bibione</localita><localita>Cortina</localita><localita>Ibiza</localita><localita>Jesolo</localita></vacanze>
Si risponda alle seguenti domande: