xsl-list
[Top] [All Lists]

RE: Predicate not allowed on root matching template match pattern

2005-08-26 09:50:45
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>
--~--