Re_Kotc
23-08-2008, 11:34
Ciao a tutti, sto provando a utilizzare xml con dtd per definire la struttura di un xml a priori (è a questo che serve dtd giusto?) , ma nonostante mi sia passato un pò di guide non riesco a capire se la cosa funziona oppure no...
il codice che ho scritto molto semplicemente è:
test.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE ElementoRadice SYSTEM "dtd.dtd">
<note>
<to>campo TO</to>
<from>campo FROM</from>
<heading>campo HEADING</heading>
<body>
<nota1>campo NOTA1</nota1>
<nota2>campo NOTA2</nota2>
<nota3>campo NOTA3</nota3>
</body>
</note>
e poi DTD.dtd
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (nota1, nota2) >
<!ELEMENT nota1 (#PCDATA)>
<!ELEMENT nota2 (#PCDATA)>
in teoria nel DTD ho definito che body può avere solo due campi nota1 e nota2, ma come potete notare nell'xml ne ho inserito un terzo "nota3"...ora da come l'ho capita io..il fatto che non stia rispettando quanto ho dichiarato nel dtd non dovrebbe portare a qualche errore/problema? invece la visualizzazione mi sembra la stessa...help!...mi sfugge qualcosa...
il codice che ho scritto molto semplicemente è:
test.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE ElementoRadice SYSTEM "dtd.dtd">
<note>
<to>campo TO</to>
<from>campo FROM</from>
<heading>campo HEADING</heading>
<body>
<nota1>campo NOTA1</nota1>
<nota2>campo NOTA2</nota2>
<nota3>campo NOTA3</nota3>
</body>
</note>
e poi DTD.dtd
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (nota1, nota2) >
<!ELEMENT nota1 (#PCDATA)>
<!ELEMENT nota2 (#PCDATA)>
in teoria nel DTD ho definito che body può avere solo due campi nota1 e nota2, ma come potete notare nell'xml ne ho inserito un terzo "nota3"...ora da come l'ho capita io..il fatto che non stia rispettando quanto ho dichiarato nel dtd non dovrebbe portare a qualche errore/problema? invece la visualizzazione mi sembra la stessa...help!...mi sfugge qualcosa...