- From: David Megginson <david@megginson.com>
- Date: Wed, 25 Aug 1999 17:18:58 -0400 (EDT)
- To: xsl-editors@w3.org
I'd like to comment on the following language in Section 2.5 of the 1999-08-03 XSLT working draft: If the namespace URI of the expanded name of an element or attribute starts with http://www.w3.org/XSL/Transform/ but is not equal to the XSLT 1.0 namespace URI (http://www.w3.org/XSL/Transform/1.0), then an XSLT processor must treat the element or attribute the same as if its namespace URI was the XSLT 1.0 namespace URI, except that it must recover from errors as follows: I believe that this is a very awkward way to manage forward-compatibility, since it relies on looking inside Namespace URIs (which are best left opaque) and it assumes that the XSLT Namespace URI will change with each version (which is awkward). Here's what I think will be a better solution: 1. Declare a single, persistent XSLT Namespace URI, such as "http://www.w3.org/XSL/Transform/", and plan not to change it. 2. Create an attribute {http://www.w3.org/XSL/Transform/}version, that can appear anywhere within an XSLT document; when it appears, it provides a version number for interpreting all XSLT element and attribute names within the subtree where it appears, unless overridden further down. Unless specified, the version will be assumed to be 1.0. I think that this kind of approach deals much more elegantly with the Namespace versioning problem without a proliferation of Namespace URIs. All the best, David -- David Megginson david@megginson.com http://www.megginson.com/
Received on Wednesday, 25 August 1999 17:20:54 UTC