> Question about the new ew-frontend.
>
> It used to be something like this:
> <xsl:template name="body">
> <body onload="doOnLoad_ew();init('{/wizard/curform}');"
> onunload="doOnUnLoad_ew();">
> <xsl:call-template name="bodycontent" />
> </body>
> </xsl:template>
>
> Now it has become this:
>
> <!-- If you need a different bodycontent, then you can override this
> thing
> -->
> <xsl:template name="bodycontent" >
> <table class="body">
> <xsl:call-template name="body" />
> </table>
> </xsl:template>
>
>
> In other words, the body template called the bodycontent template, and now
> inversely.
>
> If you happen to have overridden the body-template (as I had done as shown
> above) then you cause an
> infinite loop (Error: java.lang.StackOverflowError)
>
> I can easily fix my xsl-extension, but we could consider turning some
> things
> around in the 'new' editwizard frontend, to avoid this backwards
> compatibility
> issue.
Actually the old bodycontent template is done by the match="/" and
name="htmlbody" template in the new frontend. I tried to keep the naming of
my templates close to the css names. But I won't stand in the way if you
want to change some things to be more backward compatible.
Your template could be implemented now like:
<xsl:variable name="BodyOnLoad">doOnLoad_ew(); start_validator();
startHtmlArea(); init('{/wizard/curform}');</xsl:variable>
The base.xsl will add this variable to the onload attribute of the body.
The base.xsl defines the main layout of all the pages list, wizard,
searchlist, debug and exception. The other xsl's override some templates to
draw their own stuff. The wizard,xsl and list.xsl override the body template
to draw the wizard or list. The base.xsl will draw the header (title and
subtitle).
Nico Klasens
Finalist IT Group
Java Specialists