hallo Felix,
interessante Fragestellung, die du da augeworfen hast. Ich ziehe mal nur einen allgemeinen Aspekt heraus, ohne auf deine konkrete Frage einzugehen ('tschldigung, das macht etwas mehr Mühe, folgt aber möglicherwiese noch, wenn mir was dazu einfällt).
Ich fand schon immer, dass ein GB die Verwendung einer Datenbank nicht unbedingt rechtfertigt und bin ein Verfechter einer Flatfile-Lösung für GBs.
Der seit einiger Zeit anhaltende "Hype" bei der Verwendung von Datenbanken ist ja auch darin begründet, daß mySQL fast überall zur Verfügung gestellt wird. Man kann es meines Erachtens nicht oft genug betonen, daß bei einem Gästebuch, in dem nicht wesentlich mehr als vielleicht drei Einträge pro Tag zu erwarten sind, eine Datenbank tatsächlich nicht zwingend nötig für die "Daenhaltung" ist. XML kann das in diesem Fall auch, wird aber von den "gängigen" Script-Archiven, aus denen sich ja viele bedienen, so gut wie nie benutzt. "Man" nimmt halt ein PHP-Script, knallt die möglichen Einträge in eine DB, und gut ist. Letzten Endes waltet bei diesem leider sehr verbreiteten Vorgehen so gut wie keine "Energie des Verstehens".
Dein posting wäre eine gute Gelegenheit, eventuell mal zu diskutieren, wann, wo und vor allem _wie_ Datenhaltung erfolgen kann.
Nein, ich habe nichts gegen Datenbanklösungen und/oder den Einsatz von mySQL. Ich habe nur etwas dagegen, wenn man das als einen "Standard" ansieht und die existierenden Alternativen, die alle Sinn machen, nicht einmal zur Kenntnis nimmt.
Dabei habe ich mir Gedanken über eine passende DTD gemacht.
Auf den ersten Blick sieht diese DTD gut aus.
<!ELEMENT nachricht (#PCDATA | br)*>
<!-- definiert den Aufbau der Daten für die Nachricht -->
<!ELEMENT br EMPTY>
<!-- Zeilenumbruch: leeres Element -->
Leichtes Kopfzerbrechen bereiten mir noch Zeilenumbrüche, die ich mit <br /> zu realisieren versuche. Der Validator mag diese Datei (wenn vom Webspace aus validiert) als gültiges XML1.0, aber ob das mit den Umbrüchen nicht besser geht...? Wenn ich da in HTML an das <pre>-Element denke, da werden ja Zeilenumbrüche durchaus berücksichtigt. Oder könnte ich den Inhalt von <nachricht> als CDATA deklarieren?
Aus meiner Sicht hast du die Alternativen bereits in deiner Frage benannt. <pre> wäre eine Möglichkeit, nur kannst bisher allein du wissen, ob und wo du dieses Element einsetzen willst.
Grüße aus Berlin
Christoph S.