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 |