[Risolto]Documento XML non riconosce documento DTD associato

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
dalca
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 354
Iscrizione: martedì 30 dicembre 2008, 23:01
Desktop: GNOME
Distribuzione: Ubuntu 22.04 LTS X86_64
Sesso: Maschile

[Risolto]Documento XML non riconosce documento DTD associato

Messaggio da dalca »

Buongiorno a tutti!
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> 
mentre questo è il documento DTD:

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> 
Qualcuno riesce a farmi capire dove sbaglio? Grazie!

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.
:sgrat:
Ultima modifica di dalca il lunedì 17 agosto 2015, 21:18, modificato 1 volta in totale.
Avatar utente
cortinico
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 477
Iscrizione: venerdì 15 maggio 2015, 16:49
Desktop: Unity
Distribuzione: Ubuntu 15.04 amd64
Sesso: Maschile
Località: Pisa
Contatti:

Re: Documento XML non riconosce documento DTD associato.

Messaggio da cortinico »

Ci sono una serie di errori nel DTD, eccoti la versione corretta:

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>
<!ATTLIST img src CDATA #REQUIRED>
Ho utilizzato questo tool per controllarlo: http://www.validome.org/grammar/
"Look wide, and even when you think you are looking wide – look wider still!"
http://ncorti.com
Avatar utente
dalca
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 354
Iscrizione: martedì 30 dicembre 2008, 23:01
Desktop: GNOME
Distribuzione: Ubuntu 22.04 LTS X86_64
Sesso: Maschile

Re: Documento XML non riconosce documento DTD associato.

Messaggio da dalca »

Perfetto!
Grazie mille!
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 14 ospiti