Re: Param test in mode argument

Subject: Re: Param test in mode argument
From: Nick Browne <NickBrowne@xxxxxxxxxxxxxxx>
Date: Wed, 20 Sep 2000 21:51:58 +0100
The spec says that mode must be set to a 'QName', thus the value may only
start with letter, digit and certain other characters (though not a '$').
Saxon reports this as an error indicating that the name contains invalid
characters which seems reasonable. Oracle just gets on with the job and
ignores the apply-templates.

In short, you can't use a variable (either via an attribute value template
or not) for this particular attribute. I would guess that the most likely
workaround is a choose/when etc. with fixed mode values specified for each
apply-templates instruction.

My understanding is that attributes that refer to objects within the
stylesheet cannot be variables as the value must be known when the
stylesheet is read. Whilst the mode does not directly reference a template
it does qualify the template to use.

Nick Browne
Slipstone Ltd

P Boichat wrote:

> Hi,
> Is there any reason why I am unable to apply a template using a mode
> argument that is obtained from a passed parameter i.e.
> <xsl:param name="myparam" select="thisone"/>
> <xsl:apply templates select="mynode" mode="$myparam">
> <xsl:template match="mynode" mode="thisone">

 XSL-List info and archive:

Current Thread