Re: [xsl] XSL Variable not getting set

Subject: Re: [xsl] XSL Variable not getting set
From: Abel Braaksma <>
Date: Wed, 14 Mar 2007 15:55:25 +0100
mIchael wolff wrote:

The desired output would be:


hmm, I get


which is different by a landslide, I think.

Can you take our request for "smallest possible example, but large enough to illustrate your problem" more literal please?

A few remarks on your code:
- you use 'xsl:apply-imports', but you do not have any imports. Also, consider using 'xsl:next-match' instead, which gives you more flexibility
- you have a parent in most match expressions in your templates, this is not needed, costs an extra parent-lookup by the processor and makes your code less readable.
- you do not have an entry point for your input (only apply-imports there, but no imports). I assumed xsl:apply-templates on the same spot.
- your 'current-group' is out of scope in a named template, selecting the empty sequence always.
- I believe your code can be down to 90% of its size by removing the named template 'monthly' and removing the 12 call-templates. Instead, use a simple xsl:function and/or a tiny for-in-return. This will also aid in readability.
- there's a throw-away template that creates an empty text node. This can be rewritten as an empty <xsl:template match="..." />

Not sure this will get you any further, but the results of your code are not an error of the processor at least.

-- Abel Braaksma

Current Thread