sarnath
Legacy Member
Ik heb eens een vraagje over de validatie van een xml document, tis vrij lang geleden dat ik da nog heb gebruikt en heb het nu nodig op t werk, maar vind niet direct het nut van dtd.
stel ik heb een xml document :
en het dtd document ervan :
stel dat je nu een element in je xml document verandert, bijvoorbeeld van een <body> tag <bdoy> makan, zonder dtd krijg je dan al de opmerking dat het incorrect is.
Als ik nu een bijvoorbeeld eens een element toevoeg wat niet bij de dtd staat dan krijg ik hier helemaal geen melding van.
Wat is dan precies het nut van een zo een dtd document ook weer? want daar vind ik online geen enkele deftige uitleg van buiten dat het "uw document valideert"
op deze site (http://www.xeml.net/ccdtdxml.html) maken ze trouwens een xml document aan en zetten ze in het dtd document :
en in het xml document een verwijzing :
waar ik dan wel een foutmelding krijg dat je geen twee keer de type mag declareren, dus is het fout en mijn eerste voorbeeld correct toch?
stel ik heb een xml document :
Code:
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
en het dtd document ervan :
Code:
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
stel dat je nu een element in je xml document verandert, bijvoorbeeld van een <body> tag <bdoy> makan, zonder dtd krijg je dan al de opmerking dat het incorrect is.
Als ik nu een bijvoorbeeld eens een element toevoeg wat niet bij de dtd staat dan krijg ik hier helemaal geen melding van.
Wat is dan precies het nut van een zo een dtd document ook weer? want daar vind ik online geen enkele deftige uitleg van buiten dat het "uw document valideert"
op deze site (http://www.xeml.net/ccdtdxml.html) maken ze trouwens een xml document aan en zetten ze in het dtd document :
Code:
<!DOCTYPE projects [
<!ELEMENT projects (project*)>
<!ELEMENT project (photo*)>
<!ELEMENT project (project_order, name, desc?)>
<!ELEMENT photo (photo_name)>
<!ELEMENT project_order (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT desc (#PCDATA)>
<!ELEMENT photo_name (#PCDATA)>
<!ATTLIST project ID CDATA #REQUIRED>
<!ATTLIST photo ID CDATA #REQUIRED>
]>
en in het xml document een verwijzing :
Code:
<!DOCTYPE projects SYSTEM "projects.dtd">
waar ik dan wel een foutmelding krijg dat je geen twee keer de type mag declareren, dus is het fout en mijn eerste voorbeeld correct toch?
