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

Subject: [xsl] Predicate not allowed on root matching template match pattern
From: andrew welch <andrew.j.welch@xxxxxxxxx>
Date: Fri, 26 Aug 2005 16:47:53 +0100
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