Si scriva un possibile DTD che modelli nel modo piu' accurato possibile una base di dati calcistica, una cui istanza corrisponde al seguente XML:
<campionato annata="2008" titolo="Europeo">
<gruppo nome="C">
<squadre>
<squadra nome="Francia" id="FR"/>
<squadra nome="Italia" id="IT"/>
<squadra nome="Romania" id="RO"/>
<squadra nome="Olanda" id="NL"/>
</squadre>
</gruppo>
<gruppo nome="D">
<squadre>
<squadra nome="Spagna" id="ES"/>
<squadra nome="Svezia" id="SE"/>
<squadra nome="Russia" id="RU"/>
<squadra nome="Grecia" id="GR"/>
</squadre>
</gruppo>
<partita squadre="FR
IT">
<data>2008-06-17</data>
<marcatore squadra="IT" minuto="62">De Rossi</marcatore>
<marcatore squadra="IT" minuto="25">Pirlo</marcatore>
</partita>
<partita squadre="RO
FR">
<data>2008-06-09</data>
</partita>
<partita squadre="GR SE">
<marcatore squadra="SE"
minuto="66">Ibrahimovic</marcatore>
<marcatore squadra="SE"
minuto="72">Hansson</marcatore>
</partita>
<partita squadre="ES
RU">
<data>2008-06-10</data>
<marcatore squadra="ES" minuto="20">Villa</marcatore>
<marcatore squadra="ES" minuto="44">Villa</marcatore>
<marcatore squadra="ES" minuto="75">Villa</marcatore>
<marcatore squadra="ES"
minuto="90">Fabregas</marcatore>
<marcatore squadra="RU"
minuto="86">Pavluchenko</marcatore>
</partita>
</campionato>
Si scriva una query in XQuery che usando una base di dati calcistica espressa dal precedente DTD, che si trova all'indirizzo http://www.example.com/soccer.xml, generi un report dei risultati delle partite, tale che ad esempio la base di dati precedente venga resa nel seguente modo:
I risultati del Campionato Europeo 2008
Gruppo C
Romania - Francia: 0 - 0
Francia - Italia: 0 -2
Gruppo D
Grecia - Svezia: 0 - 2
Spagna - Russia: 4 - 1
Si scriva una query in XQuery che usando una base di dati calcistica espressa dal precedente DTD, che si trova all'indirizzo http://www.example.com/soccer.xml, generi la classifica marcatori, tale che ad esempio la base di dati precedente venga resa nel seguente modo:
La classifica Marcatori Europeo 2008
(dal 2008-06-09 al 2008-06-17)
Villa (Spagna) con 3 goals, De Rossi (Italia) con 1 goal, Fabregas (Spagna) con 1 goal, Hansson (Svezia), con 1 goal, Ibrahimovic (Svezia) con 1 goal, Pavluchenko (Russia) con 1 goal, Pirlo (Italia) con 1 goal
Si scriva una trasformata XSLT che usando una base di dati calcistica espressa
dal precedente DTD, generi la lista delle squadre partecipanti, tale che
ad esempio la base di dati precedente venga resa nel seguente
modo:
La lista delle squadre partecipanti al campionato Europeo
2008:
Francia, Grecia, Italia, Olanda, Romania, Russia, Spagna, Svezia.