|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] syntax sugar for call-template
> > | Making a template and calling a template are just too verbose.
> > | This seperate issue can be solved by an additional namespace "xf"
> > | with the following behavior:
> > |
> > | Anywhere, except as a child of "xsl:template",
> > |
> > | <xf:func x="y" /> is equivalent to <xsl:call-template name="func">
> > | <xsl:with-param name="x"
> > | select="y" />
> > | </xsl:call-template>
> > |
> > | and when a child of xsl:template,
> > |
> > | <xf:func x="y"> is equivalent to <xsl:template name="func">
> > | ... <xsl:param name="x"
> > | </xf:func> select="y" />
> > | ...
> > | </xsl:template>
> >
> > This approach would appear to have problems
> > passing literal result-tree-fragment arguments
> > to templates...
> >
> > <xsl:call-template name="foo">
> > <xsl:with-param name="content">
> > <ul>
> > <li>One</li>
> > <li>Two</li>
> > </ul>
> > </xsl:with-param>
> > </xsl:call-template>
> >
> > Your example would imply this would be:
> >
> > <xf:foo content="<ul><li>...</li></ul>"/>
>
> First, this is not a *replacement* for the current syntax,
> it is a short-hand that makes template calling and definition
> more bareable for simple, "string" arguments.
>
> Second, one would obviously have to do the appropriate escaping
> when passing result-tree fragments. I'm not saying this is
> pretty, however, I'm proposing a short-hand, not a replacement.
> <xf:foo content="<ul><li>...</li></ul>" />
Sorry that I implied that passing a result-tree fragment
using this mechanism would be possible (not that you can
do much with result-tree fragments besides treating them
as strings).
But this isn't the point. The point is that the
template calling mechanism is too verbose. It can
be shortened up significantly in a backward-compatible
manner using the abbreviation described.
Like I said:
<xf:func arg="val" /> is-equivalent-to <call-template name="func">
<with-param name="arg"
select="val" />
</call-template>
Note that I did NOT say
<xf:func arg="val" /> is-equivalent-to <call-template name="func">
<with-param name="arg">
val
</with-param>
</call-template>
;) Clark
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








