First XML Style Helma macro in history
naja, kaum wer wird meine freude teilen oder nachvollziehen, aber was solls. Hier gibts den Link:
http://gong.helma.org/macro+tags/#firstStep
den code gibts nur bei mir lokal.
http://gong.helma.org/macro+tags/#firstStep
den code gibts nur bei mir lokal.
Matix - 12. Mai, 19:26
6 Kommentare - Kommentar verfassen - 0 Trackbacks
Matix - 12. Mai, 21:21
sneak Preview
Zip Archiv enthält eine helma.jar
die Skin.java Datei
und eine Demo App.
xmlMacroTest (zip, 856 KB)
Noch kann man jeden beliebigen prefix verwenden, und der Content wird nicht an das Macro weiter geleitet.
Ausserdem kann man noch keinen Handler definieren.
die Skin.java Datei
und eine Demo App.
xmlMacroTest (zip, 856 KB)
Noch kann man jeden beliebigen prefix verwenden, und der Content wird nicht an das Macro weiter geleitet.
Ausserdem kann man noch keinen Handler definieren.
hns - 12. Mai, 21:45
cool
von mir gibts sicher nur höchste lobhudelei höchstes lob.
hns - 14. Mai, 13:39
ein paar bemerkungen
das zweigleisig fahren auf old-style/new-style in derselben klasse macht das ganze unnötig verzwickt. ich glaub nicht, dass das so laufen wird, dass man wahlweise macros so oder so schreiben kann, d.h. wenn ein skin geparst wird, ist schon klar, welche art von macros gesucht werden.
die zweite sache die mir auffält ist, dass du schon ein neues Macro-Objekt erzeugst, sobald du nur ein '<' findest. Solltest du nicht zumindest weiterparsen, ob zumindest der Namespace des Element-Names stimmt? Sonst erzeugst du bei jedem HTML-Tag ein neues Macro-Objekt, was nicht zweck der übung wäre.
Schliesslich, und das ist schon der letzte punkt, der mir auffällt: das suchen des macro-close-tags via regular expression it mir etwas suspekt. glaubst du nicht, dass man das mit normalem weiterparsen machen könnte? man haut einfach alle sich öffnende elemente auf einen stack und poppt sie dann, wenn sie sich schliessen, und wenn der stack leer ist müsste das macro-end-tag daherkommen.
ansonsten: feine sache und cool dass du dich da reinhaust!
die zweite sache die mir auffält ist, dass du schon ein neues Macro-Objekt erzeugst, sobald du nur ein '<' findest. Solltest du nicht zumindest weiterparsen, ob zumindest der Namespace des Element-Names stimmt? Sonst erzeugst du bei jedem HTML-Tag ein neues Macro-Objekt, was nicht zweck der übung wäre.
Schliesslich, und das ist schon der letzte punkt, der mir auffällt: das suchen des macro-close-tags via regular expression it mir etwas suspekt. glaubst du nicht, dass man das mit normalem weiterparsen machen könnte? man haut einfach alle sich öffnende elemente auf einen stack und poppt sie dann, wenn sie sich schliessen, und wenn der stack leer ist müsste das macro-end-tag daherkommen.
ansonsten: feine sache und cool dass du dich da reinhaust!
Matix - 15. Mai, 13:59
nur eine sneak preview
1.) kombifahrt
ich denke dass das kein problem darstellt, sowohl new style als auch old style zuzulassen. macht jsp genauso.
2.) new Macro()
? ist das so aufwendig ein Macro Object zu erzeugen. Aber du hast recht, dass wenn man es einfach vermeiden kann es vermeiden sollte.
Der Nachteil wäre dann jedoch dass man ein zweites mal im Macro den prefix heraus parsen müsste. und so den selben code an zwei stellen hat.
3.) regExp .. i totaly agree ... das die regExp unnötig ist ...
last:
es wird langsam voran gehen, weil ich nicht viel zeit hab. (aufwenden will)
danke für den Code Review!!
ich denke dass das kein problem darstellt, sowohl new style als auch old style zuzulassen. macht jsp genauso.
2.) new Macro()
? ist das so aufwendig ein Macro Object zu erzeugen. Aber du hast recht, dass wenn man es einfach vermeiden kann es vermeiden sollte.
Der Nachteil wäre dann jedoch dass man ein zweites mal im Macro den prefix heraus parsen müsste. und so den selben code an zwei stellen hat.
3.) regExp .. i totaly agree ... das die regExp unnötig ist ...
last:
es wird langsam voran gehen, weil ich nicht viel zeit hab. (aufwenden will)
danke für den Code Review!!
dann
;-)
geduld, geduld
die meiste zeit kämpfe ich mit den unbekannten tücken des Java programmierens, dessen ich nicht wirklich mächtig bin.
aber ich denk heut wirds noch eine sneak preview geben.