|
Subject: RE: [xsl] dynamically set priority in xsl:template From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 2 Mar 2007 10:37:49 -0000 |
XSLT variables and parameters don't have a value until run-time, so you
can't refer to them in use-when. What you can do instead is to refer to Java
system properties
use-when="system-property('slenderise.level') = '1'"
which you can set from the command line using -Dslenderise.level=1 or from a
calling Java application using System.setProperty().
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Georges Schmitz [mailto:georges.schmitz@xxxxxxxxx]
> Sent: 02 March 2007 10:30
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] dynamically set priority in xsl:template
>
> Andrew Welch wrote:
> > On 3/2/07, Georges Schmitz <georges.schmitz@xxxxxxxxx> wrote:
> >> I want to dynamically set the priority of a template (with
> >> $expand.level), with the objective to control the "amount
> of output"
> >> from outside the stylesheet via parameter setting.
> >>
> >> <xsl:param name="slenderise.level" select="-1" />
> >>
> >> <xsl:template match="@db:type |
> >> @db:size |
> >> @db:nullable"
> >> mode="slenderise"
> >> priority="$slenderise.level" />
> >
> ...
> > <xsl:variable name="suppress" select="tokenize($names, ' ')"
> > as="xs:string*"/>
> Thank you for this hint, but it isn't practicable for me (I
> gave just a simplified example); the stylesheet is rather
> complex: 11 apply-templates in mode "slenderise" ...
>
> I would prefer the "pass-fail" solution proposed by Michael
> Kay, but when I tried the following, I get again an error:
> <xsl:template match="@db:type |
> @db:size |
> @db:nullable"
> mode="slenderise"
> priority="2" />
> use-when="$slenderise.level = 1"
>
> ==>
> XPST0008: Error in use-when expression. XPath syntax error
> at char 18 on line 211 in
> {$slenderise.level = 1}:
> Variable $slenderise.level has not been declared
>
> The parameter is definitively set, so what is wrong?
> "$slenderise.level = 1" can be evaluated to a boolean, or am
> I missing another thing?
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] dynamically set priority , Georges Schmitz | Thread | Re: [xsl] dynamically set priority , Georges Schmitz |
| Re: [xsl] dynamically set priority , David Carlisle | Date | Re: [xsl] dynamically set priority , Georges Schmitz |
| Month |