Lieber Christoph,
Du hast ne Menge guter Gedanken!
<!ELEMENT gaestebuch (eintrag)+>
Das funktioniert nicht, Du musst bei 0 anfangen.
Oder selber den ersten Eintrag schreiben ;-)
Stimmt. Aber wer stellt ein GB ins Netz, in dem er keinen Ersteintrag anbietet? Das Plus-Zeichen ist schnell durch einen Asterix ersetzt. :-)
<!ELEMENT eintrag (autor, nachricht)>
<!-- definiert den Aufbau eines GB-Eintrags -->
<!ATTLIST eintrag
datum CDATA #REQUIRED
zeit CDATA #REQUIRED
>
Das Datum beinhaltet normalerweise die Zeit.
Ueblich ist bei sowas das Format aus RFC 822 ('date -R')
Das muss ich mal genauer anschauen. Kenne ich noch nicht...
Ich wuerde auch noch eine laufende Nummer einfuegen, da die Zeit "nur" eine Sekundenaufloesung hat, wenn sie nach RFC 822 dargestellt wird. Ist aber auch nicht wirklich zwingend.
Ich denke, es ist völlig überflüssig, da die "laufende Nummer" durch die Reihenfolge der <eintrag>-Elemente definiert ist. Diese Reihenfolge ist ja nicht unerheblich!
icq CDATA #IMPLIED
aim CDATA #IMPLIED
yim CDATA #IMPLIED
msn CDATA #IMPLIED... das ist eine unnoetige Begrenzung der Variabilitaet.
Dafuer sollte lieber ein eigenes unspezifisches Element angeboten werden, z.B.<!ELEMENT autor (aname,(aadress)*)>
<!ELEMENT aname (#PCDATA )>
<!ELEMENT aadress EMPTY>
<!ATTLIST aadress
protocol CDATA #REQUIRED
ref CDATA #REQUIRED>So kann jedes, auch zukuenftige Protokoll hinzugefuegt werden. So natuerlich auch die aus irgendwelchen Gruenden so beliebten ikonographischen Bildchen.
Und wenn keiner 'was eintraegt spart's auch Platz.
Diese Überlegung gefällt mir! Allerdings stört mich das leere Element... Aber je mehr ich darüber nachdenke, desto sinvoller erscheint mir das Ganze mit dem leeren Element. Für eine GB-DTD, die universeller sein sollte, als ich das für meine privaten Bedürfnisse bräuchte, müsste diese Flexibilität durchaus haben!
Mal weiter probieren. Danke!
Liebe Grüße aus Ellwangen,
Felix Riesterer.