Re: [xsl] Does this XSLT 2.0 stylesheet use any XSLT 2.0 features?

Subject: Re: [xsl] Does this XSLT 2.0 stylesheet use any XSLT 2.0 features?
From: Jonathan Robie <jonathan.robie@xxxxxxxxxx>
Date: Fri, 26 Sep 2008 10:58:57 -0400
David Carlisle wrote:
But my experience that it's quite esy to have documents that work in 1.0
but that generate an error in 2.0 (even if version="1.0") but that you
have to try quite hard to accidentally have a stylesheet that produces
non-error results that are necessarily different in version 1 and
version 2 (although it's easy to generate test examples where the
behaviour is different, just by looking at the appendix that lists the
limits of compatibility mode.)

The difference that is causing all the trouble seems to be the difference in path expressions like this:


<xsl:variable name="lang-id" select="/g:grammar/g:language/@id"/>

If there are two g:language elements, an XSLT 1.0 processor returns only one id attribute, and an XSLT 2.0 processor returns two. If the result is put into the output then you get funny results.

Unfortunately, this happens in at least several places in at least several stylesheets, and I doubt there's any easy way to automatically detect where the difference in behavior might cause different output for sample input or for input governed by a given schema.

Jonathan

Current Thread