RE: [xsl] keys and idrefs - XSLT2 request?

Subject: RE: [xsl] keys and idrefs - XSLT2 request?
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Wed, 10 Oct 2001 15:04:17 +0100
> *But* if you have an element that looks the same as one in XSLT 1.0,
> has XPath expressions that look like XPath 1.0, but actually behaves
> completely differently, then the XSLT 1.0 processor won't warn you,
> won't give you an error, it will just go ahead and process the thing,
> but give completely different results.


> I don't know what/whether the XSL WG have decided to do about
> backwards compatibility in XPath - it probably depends on how much
> they feel they have to nanny us authors to make sure that
> we're told when our stylesheets are running under the wrong processors...

Firstly, XPath 2.0 is being developed jointly by the XSL WG and the XQuery
WG. Naturally enough, the XSL people are rather more protective of backwards
compatibility than (some of) the XQuery people, but it's true to say that we
are all aware of the need to minimize any problems.

It's certainly likely to be true that if you add a schema to an existing
document, then existing stylesheets will in some cases produce different
results. For example, if you describe two attributes as dates, then they
will be compared as dates rather than as strings.

In the absence of a schema, we're trying to ensure that all "reasonable"
XPath expressions will return the same result. The changes in the data
model, however, (and particularly the increase in the number of data types)
means that there might be a few exceptions to this as well. One thing we are
wrestling with at the moment, for example, is deciding whether we should use
"<" for lexicographic comparison between strings, meaning that "a"<"b" would
be true (it is currently false, because both are converted to NaN). Another
potential area of incompatibility might be the use of integer arithmetic by
default, rather than floating point.

We're still working out the best way of using the version number in the
stylesheet to assist with backwards compatibility. As a minimum, vendors who
wish to should be able to ship products that behave in the 1.0 way if you
specify version="1.0", and in the 2.0 way if you specify version="2.0". (The
version number applies to both XSLT and XPath).

Once more of the working drafts come out, there will be plenty of
opportunities for users to comment on any backwards compatibility
implications, and I for one would encourage such feedback - remember that
many of you as users are more familiar with some of the "back alleys" of
XPath 1.0 than some of the people on the working groups.

Mike Kay

P.S. please don't try to engage me in debate on what I've said here. This
isn't the proper forum for dialogue between W3C working groups and the user
community. The W3C process is to publish working drafts and invite comment
on them. If I've strayed from that in this note, it's to try and damp down
the speculation: please don't make me regret it!

 XSL-List info and archive:

Current Thread