Ciao a tutti...Questo è il testo dell'esercizio.
Si scriva un documento XML valido conforme alle seguenti specifiche:
sia campionato l’elemento radice e abbia come figli uno o più elementi squadra seguiti da uno o più elementi partita;
squadra è costituito da più elementi giocatore e ha nome come attributo obbligatorio;
giocatore ha come figli nome, cognome e come attributi:
codice_tesserino: obbligatorio (si supponga abbia come primo carattere una lettera);
ruolo: può assumere solo i valori portiere, difensore, mediano e attaccante ed è obbligatorio;
infortunio: opzionale;
nome e cognome hanno solo testo come possibile contenuto;
partita ha come possibili figli gol e ammonizione e come attributi squadra1 e squadra2 che si riferiscono ai rispettivi elementi squadra;
gol è un elemento vuoto con attributi marcatore che è un riferimento ad un elemento giocatore e minuto che indica il minuto del gol; entrambi gli attributi sono obbligatori;
ammonizione è un elemento vuoto con attributi giocatore che è un riferimento ad un elemento giocatore e minuto che indica il minuto dell’ammonizione; entrambi gli attributi sono obbligatori;
si tenga conto del fatto che gli elementi gol e ammonizione possono essere presenti in modo arbitrario. Esempio: gol, gol, ammonizione, gol.
Il mio codice XML è questo.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE campionato [
<!ELEMENT campionato (squadra+)>
<!ELEMENT squadra (giocatore+,partita+)>
<!ELEMENT giocatore (nome,cognome)>
<!ELEMENT nome (#PCDATA)>
<!ELEMENT cognome (#PCDATA)>
<!ELEMENT partita (gol*,ammonizione*)>
<!ELEMENT gol EMPTY>
<!ELEMENT ammonizione EMPTY>
<!ATTLIST squadra nome ID #REQUIRED>
<!ATTLIST giocatore codice_tesserino ID #REQUIRED
ruolo (portiere | difensore | mediano | attaccante) #REQUIRED
infortunio IDREF #IMPLIED>
<!ATTLIST partita squadra1 CDATA #REQUIRED
squadra2 CDATA #REQUIRED>
<!ATTLIST gol marcatore CDATA #REQUIRED
minuto CDATA #REQUIRED>
<!ATTLIST ammonizione giocatore CDATA #REQUIRED
minuto CDATA #REQUIRED>
]>
<campionato>
<squadra nome="Udinese">
<giocatore codice_tesserino="l12345678" ruolo="attaccante">
<nome>Pinco</nome>
<cognome>Pallino</cognome>
</giocatore>
<partita squadra1="Udine" squadra2="Gemona">
<gol marcatore="Mattia" minuto="quaranta"/>
<ammonizione giocatore="Mattia" minuto="trentesimo"/>
</partita>
</squadra>
</campionato>
Ora non riesco a capire bene il discorso dei riferimenti ID E IDREF sugli attributi.
Magari se potete dare un'occhiata e dirmi dove sbaglio vi ringrazio,
Mattia

Rispondi quotando