View Full Version : problema con XML e DTD
Ciao a tutti,
ho un problemino, a cui non ho soluzione, qualcuno mi da una mano?
poniamo il seguente codice XML
<LIBRO>ZANNA BIANCA
<CODICE-ISBN>1-11-1111-11-11</CODICE-ISBN>
</LIBRO>
come lo dichiaro nel DTD?
se scrivo
<!ENTITY LIBRO (#PCDATA, CODICE-ISBN)>
il validatore mi dice che il DTD non è corretto ma non capisco perché
Qualcuno mi sa illuminare?
Grazie
H2K
Visto che ci siete, mi spiegate anche perché questa entità paramentrica genera errore?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE LIBRO [
<!ENTITY % pc "#PCDATA">
<!ELEMENT LIBRO (CODICE)>
<!ELEMENT CODICE (%pc;)>
]>
<LIBRO>
<CODICE>numero</CODICE>
</LIBRO>
Grazie mille
H2K
Ciao a tutti,
ho un problemino, a cui non ho soluzione, qualcuno mi da una mano?
poniamo il seguente codice XML
<LIBRO>ZANNA BIANCA
<CODICE-ISBN>1-11-1111-11-11</CODICE-ISBN>
</LIBRO>
come lo dichiaro nel DTD?
se scrivo
<!ENTITY LIBRO (#PCDATA, CODICE-ISBN)>
il validatore mi dice che il DTD non è corretto ma non capisco perché
Qualcuno mi sa illuminare?
Grazie
H2K
prima di tutto non ci vuole ELEMENT al posto di ENTITY?
poi mi sa che puoi mettere solo un OR tra #PCDATA e CODICE-ISBN, e cioè:
<!ELEMENT LIBRO (#PCDATA | CODICE-ISBN)>
è un pò che non metto mano a queste cose comunque.. potrei fare errori :D
ps. infatti non ricordo cosa sono le entita.. :stordita: indipendentemente da ciò dovresti metterli in OR lo stesso.. è una limitazione del DTD
<!ELEMENT LIBRO (#PCDATA | CODICE-ISBN)>
cosi funziona, ma non è quello che volevo io, ho capito anche che scrivendo
<!ELEMENT LIBRO ANY>
funziona, ma non è proprio pulitissimo come sistema perché cosi mi passa tutto e non mi evidenzia gli elementi che non dovrebbero esserci.
<!ELEMENT LIBRO (#PCDATA | CODICE-ISBN)>
cosi funziona, ma non è quello che volevo io, ho capito anche che scrivendo
<!ELEMENT LIBRO ANY>
funziona, ma non è proprio pulitissimo come sistema perché cosi mi passa tutto e non mi evidenzia gli elementi che non dovrebbero esserci.
con il DTD non si può fare tutto, per quello c'è XSD, ma c'è da dire che XSD è complicatissimo :stordita:
puoi sempre controllare la validità del documento direttamente nell'applicazione (potrebbe essere facile o no a seconda del linguaggio che usi e librerie disponibili)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.