This syntax isn't allowed either in an XPath expression or in an XSLT match
pattern, either in 1.0 or 2.0.
No particular reason except that the grammar surrounding "/" is pretty
tortuous.
In XPath (but not in a match pattern) you can write (/)[predicate].
In XSLT 2.0 patterns you can write match="document-node()[predicate]"
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: andrew welch [mailto:andrew(_dot_)j(_dot_)welch(_at_)gmail(_dot_)com]
Sent: 26 August 2005 16:48
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Predicate not allowed on root matching
template match pattern
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>
--~--
--~------------------------------------------------------------------
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>
--~--