« Return to Thread: [Bug 625] New: format() enkodiert Makro-Parameter

[Bug 625] New: format() enkodiert Makro-Parameter

by Bugzilla from bugzilla-daemon@helma.at :: Rate this Message:

Reply to Author | View in Thread

http://helma.org/bugs/show_bug.cgi?id=625

           Summary: format() enkodiert Makro-Parameter
           Product: Helma
           Version: CVS trunk
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P1
         Component: Web Support
        AssignedTo: helma-dev@...
        ReportedBy: interface@...


Obwohl die Methode format() die sog. "spitzen Klammern" < und > von Macros
unverändert lässt -- außer sie stehen in einem <code>-Element --, werden in
Makro-Parametern z.B. Umlaute als HTML-Entities enkodiert:

format("<% foo füübär %>");
// ergibt: <% test füübär %>

Möchte man nun gerade auf die besondere Behandlung des <code>-Elements
zurückgreifen, gestaltet sich das mit solchen Makro-Parametern als unmöglich:

global.foo_macro = function(param, s) {
   res.write(s);
}
renderSkin(createSkin(format("<code><% foo füübär %></code> <% foo füübär
%>")));
// ergibt: <code><% foo füübär %></code>
füübär

Der so encodierte Makro-Parameter ist für eine weiter Verwendung (z.B: als
Accessname für ein HopObject) unbrauchbar geworden.

Die Umkehrung der Reihenfolge (erst renderSkin, dann format) führt dazu, dass
das im <code>-Element eingebundene Macro auch ausgeführt und anstelle des
Macro-Codes, das Resultat angezeigt wird (im Fall eines undefinierten oder
"unhandled" Macros ein Fehler).

Lässt sich das beheben und wenn ja, könnte das bald passieren? Es ist
ziemlich dringend, der Antville-Code steckt derzeit in der Zwickmühle, in
Stories entweder keine Bilder mit Umlauten oder viele Macro-Fehlermeldungen
anzuzeigen.

Ein Workaround für das <code>-Problem existiert zwar, ist aber schom zum Lesen
eine Qual:

<code><</code><code>% macro code %</code><code>></code>


--
Configure bugmail: http://helma.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
_______________________________________________
Helma-dev mailing list
Helma-dev@...
http://helma.org/mailman/listinfo/helma-dev

 « Return to Thread: [Bug 625] New: format() enkodiert Makro-Parameter