11/24/2008

A3: XML & DTD

XML in a Nutshell liegt jetzt schon seit geraumer Zeit auf meinem Schreibtisch und ist auch schon ab und an durchgeblättert und -gelesen worden. Das benötigte Wissen für diese Aufgabe, hatte ich aber noch nicht ganz beisammen. Also hieß es zunächst einmal Kapitel 3 "Dokumenttyp-Definitonen" pauken. Da ich allgemein finde, dass dieses Buch sehr brauchbar geschrieben ist, wurde ich auch diesmal nicht enttäuscht und wurde in die Tiefen der DTDs eingeführt.
Nach einem kurzen Anlesen im Lesesaal des AKH, schmökerte ich einen guten Teil zu Hause in Krems und dann einen weiteren bei der Zugfahrt heute von Krems nach Wien weg. Mit dem geeigneten Wissen ausgestattet (und ein paar gedanklichen Verränkungen, weil IMHO

<!ELEMENT name (nachname
| (vorname, ((zweiter_vorname+, nachname) | (nachname?) )
)>

für "name kann nur einen Vornamen, nur eine Nachnamen, oder einen Vornamen und einen Nachnamen, oder beides mit beliebig vielen (aber optionalem) zweitem Vornamen" ein bisschen Gehirnwindungsakrobatik bedeutet) machte ich mich daran die DTD zu schreiben.

Folgende Fragen sind mir aber übrige geblieben:

  • Was ist der Sinn und Zweck von Attributtypen?
    Gut mit NMTOKEN kann man verhindern, dass Whitespace in einem Attribut vorkommt und man kann endlich auch mit einer Ziffer beginnen, ID und IDREF erlauben es n:m-Beziehungen (*hüstel* ;-)) abzubilden (wobei mir wiederum nicht ganz aufgeht, warum ID ein XML-Name und kein Namenstoken ist, was ja nur heißt, dass Attribute mit Buchstaben, _ oder : beginnen müssen, was für IDs, die ja meistens Nummern sind, nicht so gut passt). Sogar den Typ ENTITY versteh ich ja irgendwo noch, doch bei NOTATION setzt es total aus. Oder ist einfach die Erklärung im Buch schlecht? Hmmmm ...

  • Geht das nur mir so, oder schreit förmlich jede Faser eines (möchtegern) Informatikers beim schreiben von DTDs nach XML-Schema, RelaxNG, Schematron und Co.? Ich hab' ja irgendwo einmal gehört, dass DTDs heutzutage nur mehr dazu "missbraucht" werden Entitäten zu deklariere ... Warum kann ich mir das bloß sehr gut vorstellen?

  • Sind XLink, XPointer und XInclude nicht schon wieder obsolet, da sie niemand verwendet? (falls ich falsch liege, bitte ich um Hinweise, wo sie Anwendung finden. Und ja, ich weiß dass FF [und diverse andere] XLink simple links unterstützen, aber wer setzt das ganze Ding um? Oder ist das wieder einmal so ein Konsortiumsding, wie ICCCM, mit 3 (!?) Zwischenablagen, die kein Mensch braucht?)



Das Debuggen war ein Kinderspiel! 5 Minuten und alle Bugs gefunden. So macht das Arbeiten mit dem Computer Freude :-D.

Keine Kommentare:

Kommentar veröffentlichen