[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] XSL Variable not getting set


Subject: Re: [xsl] XSL Variable not getting set
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Wed, 14 Mar 2007 15:55:25 +0100

mIchael wolff wrote:

The desired output would be:


2007,0017016990001001703914F537,2970.0,3505.0,0,0,0,123.0,0,0,0,0,0,0

hmm, I get

2007,0017016990001001703914F537,,0,0,0,0,0,0,0,0,0

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.

Cheers,
-- Abel Braaksma


Current Thread