n.d. parker: DTD-Design: Hart oder Herzlich?

Beitrag lesen

Moin,

die Leute koennen sich beim Schreiben von XML-Dokumenten ruhig ein bisschen Muehe geben, finde ich.
Tja, das kannst du ihnen sicher auch persönlich erklären oder? Dass sie auf jeden Buchstaben aupassen sollen ;-)

wenn sie keine technischen Dokumente schreiben koennen, muessen sie halt jemanden bezahlen, der es kann *schulterzuck*

Gibts für Perl eigentlich ein (brauchbares) XSLT-Modul?
ich bin mir nicht sicher, aber glaube, nichts was den Standard vollstaendig repraesentiert.
Sablotron gibts auch für Perl:
XML::Sablotron -> http://www.gingerall.cz/charlie-bin/get/webGA/act/xml-sab.act

mal sehen, irgendwie muss mal anfangen mich mit XSLT zu beschaeftigen ;-))

Schade, ich dachte ich kann dir jetzt ein paar Expat-Tricks entlocken :-/

mit Expat direkt wuerde ich eh nicht arbeiten, das macht XML::Parser schon ;)

Die Transformation XML => Darstellung passiert mittel stinknormaler Templates (nix XSL, aus eben erwaehntem und Performancegruenden)
Ihr verzichtet aus Performance-Gründen auf XSL setzt aber DOM statt SAX ein?

ja, u.a., DOM ist auch einfacher zu handlen (Zeitdruck bei der Entwicklung). Wie gesagt, die Teile, wo DOM nicht unbedingt notwendig ist, werden ueberarbeitet werden muessen.

Egal, vielleicht könntest du kurz mal umreissen wie das mit den templates funktioniert im Forum?

es gibt im Grossen und Ganzen drei Vorlagen, einmal fuer die Hauptdatei, fuer die Postinganzeige und fuer das Eingabeformular.
ein vorlage besteht aus einzelnen Schnipseln, welche angesprochen werden koennen und Platzhalter (Variablen quasi) enthalten koennen. Die Variablen koennen sowohl von der Applikation geliefert werden, als auch bereits im Template (als Schnipsel) stehen, wobei vom Programm gelieferte Variablen Vorrang haben.
Es gibt dann noch einige Goodies, wie IF-Bloecke und dergleichen. Includes fehlen noch, werden aber demnaechst eingebaut.

Hmmm, jetzt hab ich wenigstens mal gesehen, wo diese vielsagenden Fehlermeldungen herkommen!

*gg*

bzw. was z.b. "{&& LINK_SELFAKTUELL &&}" zu bedeuten hat. Dient das nur als Markierungsstelle für eine Regexp, oder ist das irgendsoein durchgeknallter Perl-Trick?

hab ich schon erwaehnt, dass wir an der Doku arbeiten? ;-))

{&& LINK_SELFAKTUELL &&} ist ein Platzhalter (Templateintern in diesem Fall), {&& und &&} sind die Delimiter, die vom Regex erkannt werden. Dieser spezielle PLatzhalter zeigt auf einen Schnipsel, der nur den Link zu Selfaktuell enthaelt (und taucht mehrmals auf). Der Link selbst lagert also zentral und braucht so nur einmal geaendert werden (sollte das mal vorkommen)

Abgesehen davon scheint der Einsatz von XML für diese Templates doch mehr Modesklaverei, als Zusatznutzen zu sein ;-)

erwischt! ;)

Die Hauptdatei wird mit zwei fetten Regexps geparst (http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/selfforum/selfforum-cgi/shared/Posting/_lib.pm?rev=1.26&content-type=text%2Fvnd.viewcvs-markup&only_with_tag=HEAD, sub get_all_threads [nur, falls es dich interessiert ;)]).

*schluck* und ich dachte bisher, mit einem genügend dickem Zeitpolster könnte ich jede Perl-Datei (wenigstens) "lesen"!

*g* tip: von links nach rechts und von oben nach unten ;))

Viele Gruesse,

n.d.p.