Grüssi!
Ich arbeite gerade an meiner ersten DTD (für einen Seminaranbieter). Und ich schwanke dabei zwischen 2 Polen:
- Einheitliches Erscheinungsbild
- Einfache Bedienung für die XML-Schreiberlinge
Da stehe ich an. Sollte man die DTD möglichst grosszügig gestalten, sodass die Verfasser selbst bestimmen können welche Werte ihre Attribute haben sollen, welche Elemente sie wo weglassen können, ... oder sollte man ihnen eine (umfassende, vorher durchdiskutierte) begrenzte Menge an gültigen Werten, Elementen vorschreiben.
Konkretes Beispiel:
<!ELEMENT SeminarDetail (%BlockElemente;)*>
<!ATTLIST SeminarDetail Titel (Zielgruppe|Voraussetzungen|Seminarziel|Nutzen|Hinweis|Inhalt|Referent|Anmeldung) #REQIURED>
oder wäre es ev. besser so:
<!ELEMENT SeminarDetail (%BlockElemente;)*>
<!ATTLIST SeminarDetail Titel CDATA #REQUIRED>
Vorteil: Benutzerdreundliches Editieren, Jeder Redakteur kann die XML-Datei an seine Bedürfnisse anpassen.
Nachteil: Jeder kocht seine eigene Suppe, und das einheitliche Erscheinungsbild geht den Bach runter.
Gibts da einen Kompromiss, oder muss man das von Fall zu Fall selber abwägen, was nun gscheiter ist?
Und thematisch dazupassend: Ist es überhaupt sinnvoll xml für nur leicht strukturierte Daten zu verwenden? Ich verwende derzeit eine ausgewählte Teilmenge von HTML-Elementen, und ein paar selbstdefinierte Container-Elemente, bzw. Metainformationen über die Datei selber.
Beipieldatei:
http://www.wt-akademie.at/DetailProgramm.xml
http://www.wt-akademie.at/DetailProgramm.dtd
Wäre es ev. zu überlegen, meine "selbstgebastelten HTML-Elemente" rauszunehmen, und stattdessen gleich den ganzen HTML4-Standard in einem Namespace zu erlauben?
Ich würde gern eure Meinung dazu hören.
lg bernhard