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

Re: [xsl] Predicate not allowed on root matching template match pattern


Subject: Re: [xsl] Predicate not allowed on root matching template match pattern
From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx>
Date: Fri, 26 Aug 2005 21:29:24 +0530

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.j.welch@xxxxxxxxx> 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?


Current Thread