xsl-list
[Top] [All Lists]

Re: Predicate not allowed on root matching template match pattern

2005-08-26 08:59:24
I believe root node cannot have a predicate. Probably you could have
two root node templates each having a mode specifier(e.g. x and y).
Then invoke the transform by passing initial mode to the processor.

Regards,
Mukul

On 8/26/05, andrew welch <andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com> 
wrote:
I've just noticed you can't have a predicate on the root matching template:

<xsl:template match="/[some condition]"/>

I noticed because I have two root matching templates, one for testing
and one for production, and I wanted an easy way to switch between
them eg:

<xsl:template match="/[false()]">

or say using a parameter:

<xsl:template match="/[$testing]">

The processors (Saxon 6.5.4, 8.5b, msxml 3 and 4) all complain about
the unexpected token '[', apparently not realising this is the root
matching template and not a step in a pattern.

Is it wrong to use multiple root matching templates in this way?

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--