[Cologne-pm] Release meines Web-Frameworks Konstrukt 0.5 beta 6

Thomas Wittek twittek at smail.uni-koeln.de
Sun Oct 8 04:21:52 PDT 2006


Joachim Zobel schrieb (mir privat und nicht an die Liste, was wohl ein
Versehen war):
> Das erste was mir auffällt ist:
> 
> http://gedankenkonstrukt.de/konstrukt-doc/Konstrukt/Doc/Basics.html#Plugin_Tags
> 
> Deine Plgin Tags verhalten sich wie XML, warum verwendest Du dann keinen
> XML Namespace? So sind Deine Templates kein gültiges XML.

Leider verhalten sie sich nicht wie XML. Es ist z.B. Folgendes erlaubt:

  <& template src="zufall<& perl &>print int rand 23<& / &>" &>
    <$ foo $>bar<$ / $>
  <& / &>

Damit könnte man eine zufällige Template-Datei nutzen.
Man kann also auch Tags in Attribute packen, was in XML nicht erlaubt
ist. Tags dürfen dort nur unterhalb anderer Tags, aber nicht innerhalb
anderer Tags vorkommen.

Ich hatte mir schon sowas überlegt:

Ungültiges XML-Äquivalent:

  <k:template src="zufall<k:perl>print int rand 23</k:perl>">
    <val:foo>bar</val:foo>
  </k:template>

Gültig:

  <k:template>
    <attr:src>zufall<k:perl>print int rand 23</k:perl></attr:name>
    <val:foo>bar</val:foo>
  </k:template>

Allerdings widerspricht das ja ein wenig der Semantik von Tags und
Attributen. Attribute sind Eigenschaften eines Tags, Tags sind
untergeordneter Inhalt. <attr:src> wäre dann ein Tag, das aber die
Semantik eines Attributs haben soll.

Außerdem würde man mit XML-Syntax das gesamte Dokument inklusive aller
HTML-Tags parsen müssen, was wohl auch Probleme der Wohlgeformtheit
geben wird, wenn sich nicht an XHTML hält. Mal abgesehen davon, dass man
mit "eigenen" Tags viel weniger Parse-Aufwand hat, da man ja alle
HTML-Tags ignoriert und nur auf <& ... &> usw. parst.

Aber "schöner" wäre eine XML-Syntax teilweise schon! Nur hatte ich noch
keine Lösung für die oben genannten Probleme gefunden.

Schöne Grüße!
-- 
Thomas Wittek
http://gedankenkonstrukt.de/
Jabber: streawkceur at jabber.i-pobox.net



More information about the Cologne-pm mailing list