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

Joachim Zobel jzobel at heute-morgen.de
Sun Oct 8 06:40:27 PDT 2006


Am Sonntag, den 08.10.2006, 13:21 +0200 schrieb Thomas Wittek:
> 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>

Genau das macht xsl auch.

> 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.

Formal ist der Unterschied zwischen Attributen und Untertags nur der das
es Attribute nur einmal gibt. Ich frage mich allerdings, ob Atttribute
nicht eher ein Designfehler von XML sind. 

> 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.

Expat schafft das ziemlich flott. Und ob es ein gutes Feature ist, nicht
wohlgeformtes XHTML ausliefern zu können, ist fragwürdig (es gibt Gründe
das zu wollen, aber Kompatibilität mit altem Schrott ist evtl. kein
gutes Designziel). 

Generell ist der Punkt bei XML, das es als Schnittstelle taugt. Das ist
aber für ein Framework evtl. nachrangig.

Gruß,
Joachim




More information about the Cologne-pm mailing list