Moin!
wie ist es denn mit DTD und XML. Mal angenommen ich hab eine Website in XML, die 1500 Zeilen umfasst. Da muss ich ja eine riesige DTD haben?
Nein, wieso?
Es ist ja nicht verboten, dass in deinem XML alles so drinsteht:
<web>
<seite name="index">
<inhalt>
Blahblah
</inhalt>
</seite>
<seite name="impressum">
<inhalt>
blajghgjhgj
</inhalt>
</seite>
....
</web>
Dann hast du gerade mal 3 Elemente definiert - und daraus resultiert eine DTD, die maximal 20 Zeilen haben dürfte.
Das ist ja wesentlich mehr Arbeit die DTD ständig aktuell zu haben. Wird es dennoch gemacht? Oder wie läuft dies ab?
Du hast das Prinzip der DTD nicht verstanden. Eine DTD definiert, welche Elemente es generell in der XML-Datei geben darf. Diese DTD muß auf alle Eventualitäten eingerichtet sein, undefinierte Zustände können hinterher nicht in die gleiche DTD noch mit reingebaut werden.
Eine DTD ändert sich nach endgültiger Fertigstellung an einem Tag X nie mehr. Wenn, dann gibts neuere Versionen, die parallel zur alten verwendet werden können.
Bestes Beispiel: HTML ist ja auch mit einer DTD definiert. Da gibts parallel, und ohne dass sich die einzelnen Versionen heute ändern würden, die Versionen 2.0, 3.2, 4.0 und 4.01 (und vielleicht noch ein paar mehr).
Gerade 4.0 und 4.01 sind ein typisches Beispiel für "nichts nachträglich ändern". Die Unterschiede zwischen 4.0 und 4.01 sind minimalst - aber vorhanden. Trotzdem wurde für diese minimalen Änderungen eine neue DTD geschaffen, und nicht in der alten DTD rumgeändert.
Eine DTD ist das elementare Grundgerüst deiner XML-Dateien. Wenn du da ständig dran rumänderst, bist du vielleicht gezwungen, auch ständig an allen XML-Dateien rumzuändern - und an allen XSL-Transformationen etc. Sowas sollte man nicht tun.
- Sven Rautenberg
"Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)