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