Subject: RE: [xsl] Predicate not allowed on root matching template match pattern From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 26 Aug 2005 17:50:45 +0100 |
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.j.welch@xxxxxxxxx] > Sent: 26 August 2005 16:48 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > 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?
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Predicate not allowed on , David Carlisle | Thread | [xsl] External XSLT processing, Silvio Guido Mazzobe |
RE: [xsl] Navigating an XML file wi, Khorasani, Houman | Date | [xsl] External XSLT processing, Silvio Guido Mazzobe |
Month |