- From: Paul W. Abrahams <abrahams@valinet.com>
- Date: Wed, 14 Jun 2000 22:07:14 -0400
- To: David Carlisle <david@dcarlisle.demon.co.uk>
- CC: abrahams@acm.org, xml-uri@w3.org
David Carlisle wrote: > > But the same objection may not apply to changing XPath, > > I think it would. > > > In fact, changing XPath to go with the > > literal interpretation would bring James Clark's processor into > > conformance > All known xpath implementations, I think. We seem to be misunderstanding each other. I was saying that changing the namespace spec would break code and documents (or so some have claimed), but changing XPath to the literal interpretation wouldn't break code or documents. Your last sentence doesn't have an operative verb, but I think your intent is to say that changing XPath would bring all known XPath implementations into conformance and thus have a positive, not negative, effect on existing code and documents. In other words, the objection to changing the namespace spec (it breaks stuff) does not apply to changing XPath (it doesn't break stuff). > > This example is different from the others, I believe, since > > It's the same as the others, you can get the same effect without xml > base using external entities. I haven't seen another example here that shows how absolutization can convert a namespace-invalid document into a namespace-valid one. (To emphasize: I'm not advocating absolutization, only arguing that it can have that surprising effect.) > > In retrospect, the idea of providing both namespace-uri and > > namespace-name functions seems to be the most desirable solution. The > > question is: what would break were it to be adopted? > > Adding functions doesn't help. > > The question is does > <xsl:template match="x:x" xmlns:x="bat"> > match > <y:x xmlns:y="bat"> > Currently the answer according to the namespace spec and xpath > implementations is yes and according to the xpath spec is no. The namespace spec uses matching for only one purpose: kicking out documents as invalid. Once you've decided a document is valid, the namespace spec has nothing more to say about matching. But XPath/XSLT use matching in a different way: the answer may be yes or it may be no, but it isn't "this is invalid". > That is the problem. Adding functions to xpath doesn't help. > Underspecified "an application that knows what it is doing may do what > it likes" fudges don't help. The only thing that helps is for the two > specs to agree on what the namespace name is. (Ideally they would both > agree that the namespace name is "bat", but there are other options > as discussed at length on this list, but keeping the two specs giving > a different answer is not an option) You only need agreement between answers when the questions are the same or at least logically related. What questions about the interpretation of namespace names in namespace-valid documents does the namespace spec answer? I see no such questions in sight. Paul Abrahams
Received on Wednesday, 14 June 2000 22:13:35 UTC