Sto eseguendo un esercizio che mi chiede di scrivere un documento DTD avendo un XML.
Il documento DTD l'ho scritto ma il documento XML non lo riconosce.
In particolare la riga <!DOCTYPE protagonista SYSTEM protagonista.dtd> non viene "evidenziata" dall'editor (uso Bluefish) come sintassi xml.
Qui sotto riporto parte del documento XML, se dovesse servire tutto ve lo posto:
Codice: Seleziona tutto
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE protagonisti SYSTEM "protagonisti.dtd">
<protagonisti>
<personaggio nome="Red">
<colore>Rosso</colore>
<peso unitaMisura="wink">50</peso>
<potenza>Bassa</potenza>
<presenteIn>
<serie>Angry Birds</serie>
<serie>Angry Birds Rio</serie>
<serie>Angry Birds Star Wars</serie>
<serie>Angry Birds Space</serie>
</presenteIn>
<img src="images/red.png" alt="Immagine di Red, uccello rosso con la pancia marroncina e dalla forma sferica" />
<descr>
<p>Sono cardinali rossi e non hanno nessuna abilità particolare. Gli unici introdotti immediatamente.</p>
</descr>
</personaggio>
<personaggio nome="Blue (Jay, Jake e Jim Blue alias "The Blues")">
<colore>Blu</colore>
<peso unitaMisura="wink">80</peso>
Codice: Seleziona tutto
<!ELEMENT protqagonisti (personaggio+)>
<!ELEMENT personaggio (colore, peso, potenza, presenteIn)>
<!ELEMENT colore (#PCDATA)>
<!ELEMENT peso (#PCDATA)>
<!ELEMENT potenza (#PCDATA)>
<!ELEMENT presenteIn (serie+)>
<!ELEMENT serie (Angry Birds, (Rio|Star Wars|Space)?)>
<!ELEMENT img EMPTY>
<!ELEMENT descr (p+)>
<!ELEMENT p (#PCDATA|em)>
<!ELEMENT em (#PCDATA)>
<!ATTLIST protagonisti gioco CDATA #REQUIRED>
<!ATTLIST personaggio nome CDATA #REQUIRED>
<!ATTLIST peso unitaMisura CDATA #FIXED "wink">
<!ATTLIST img alt CDATA #REQUIRED,
src CDATA #REQUIRED>
EDIT: Ho provato con i validatori di codice, con con questo non trovo errori mentre con quest'altro mi trova il seguente errore:
Codice: Seleziona tutto
2:3 The markup declarations contained or pointed to by the document type declaration must be well-formed.