Subject: RE: [xsl] Different results with different processors|
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 7 Jun 2007 23:35:31 +0100
You need to show us a cut-down but complete stylesheet, together with source document, and the two outputs that are produced. It should then be easy to tell you which one is correct. It's possible that both are - the spec does leave some features implementation-defined. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Chris Gamache [mailto:cgamache@xxxxxxxxx] > Sent: 07 June 2007 22:57 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Different results with different processors > > I'm comparing the processing the same stylesheet using Xalan > and libxslt (xsltproc) > > Xalan produces expected output. xsltproc has some issues. > Xalan interprets this expression correctly (at least /I/ > think it does... :) libxslt does not... > > <xsl:apply-templates select="node()[name() != 'bar']" /> > > I find it hard to articulate what I am seeing. I'll do my > best... What is getting subsequently selected by libxslt > isn't the same thing as what xalan selects. If I rewrite the > expression to pick a specific set of nodes > <xsl:apply-templates select="foo" /> I get the expected > result. If I re-write it to use a for-each ... > > <xsl:for-each select="node()[name() != 'bar']"> > <xsl:apply-templates select="." /> > </xsl:for-each> > > It behaves as expected. > > I don't understand the difference between xalan and libxslt's > interpretation of the statement, and why re-writing it makes > all the difference. Am I doing something wrong? Am I hitting > on a incompatibility I am unaware of?