Re: [xsl] Combining call-template with attribute value templates

Subject: Re: [xsl] Combining call-template with attribute value templates
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 09 Feb 2005 14:34:39 -0500

Of course, "clean" and "beautiful" are difficult to define in a way that doesn't come down to something subjective. (But see Christopher Alexander's recent work. :-)

In any case, short of XSLT 2.0 I'd probably do:

<xsl:variable name="resultURI">
  <xsl:call-template name="fullName" />

<a href="{str:encode-uri($resultURI))}" >
  <xsl:value-of select="r:testee/r:name"/>

which is almost what you had.


At 02:10 PM 2/9/2005, you wrote:

I find the following code XSLT code clumsy:

           <xsl:variable name="resultPath">
                <xsl:call-template name="fullName" />

            <a href="{str:encode-uri(concat( '',
                $resultPath, r:testee/r:name ))}" >
                <xsl:value-of select="r:testee/r:name"/>

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

Another way could be to use an xsl:attribute construct:

        <xsl:attribute name="href">
                <xsl:call-template name="fullName" />
                <xsl:value-of select="r:testee/r:name" />

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?

====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================

Current Thread