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
--~------------------------------------------------------------------
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>
--~--