You're crying out for XSLT 2.0 and stylesheet functions.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Frans Englich [mailto:frans(_dot_)englich(_at_)telia(_dot_)com]
Sent: 09 February 2005 19:11
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Combining call-template with attribute value templates
I find the following code XSLT code clumsy:
<xsl:variable name="resultPath">
<xsl:call-template name="fullName" />
</xsl:variable>
<a href="{str:encode-uri(concat( 'http://example.com/',
$resultPath, r:testee/r:name ))}" >
<xsl:value-of select="r:testee/r:name"/>
</a>
In other words, I dynamically create the href attribute with
an attribute
value template, which among other things contains the return
value of the
fullName template.
What I found clumsy, is that the only reason I use the
xsl:variable is that I
can't squeeze in the template call into the attr val
template. Or how is this
possible?
Another way could be to use an xsl:attribute construct:
<a>
<xsl:attribute name="href">
http://example.com/
<xsl:call-template name="fullName" />
<xsl:value-of select="r:testee/r:name" />
</xsl:attribute>
</a>
I find it a /bit/ cleaner, but it has one big problem: the
content isn't run
through str:encode-uri().
Any ideas? How would you write my initial code snippet in the
cleanest, most
beautiful way while staying functionally equivalent?
Cheers,
Frans
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--