- From: Tim Berners-Lee <timbl@w3.org>
- Date: Tue, 30 May 2000 09:23:42 -0400
- To: "David Carlisle" <david@dcarlisle.demon.co.uk>, <abrahams@acm.org>
- Cc: <XML-uri@w3.org>
-----Original Message----- From: David Carlisle <david@dcarlisle.demon.co.uk> >The only place where comparison is explictly mentioned in the document >is in the attribute test but that is because the rec has to define >namespace conforming documents and that test is required so that >documents after being parsed conform to the well formed constraint >unique att spec of XML 1.0. Other places where comparison of names >occurs in XML 1.0 (eg that start and end tags have same name) is >covered in XML namespaces by reference to XML 1.0. >XML namespaces does not try to change the underlying document model >of XML 1.0 which is that elements are essentially ordered, and >attributes are essentially unordered, and thus need to be specified at >most once on any given element. The only difference is that where >XML names are a flat string, XML Namespace names are a structured pair >consisting of a namespace name and a local name. The prefix syntax >is just some surface syntax (the rec calls it a proxy) to get round >the fact that you can't have a notation which makes the structured >name explicit in XML 1.0 conforming syntax. > >So if x: and y: are bound to the same namespace x:x="1" and y:x="2" >are two settings of the same attribute to different values. It makes >no more sense than saying that you should allow >x="1" and x='2' in the same element start tag, as they use different >quote forms so can be distinguished. >Certainly in my own namespace processor, if the namespace rec was >changed to drop this restriction that an attribute could appear more >than once I would have to completely re-write it, it is built >assuming that an attribute only is used once (and it really doesn't >keep the prefix information, that is lost at the same time that >the " ' distinction or white space around the = is lost. > >If x: and y: were bound to a namespace in the document and z: was >bound to the same namespace in the stylesheet > >then given > ><xxxx x:x="1" and y:x="2"/> > >in the document what would you want > ><xsl:value-of xxxx/@z:x /> > >to be? > >> Can you give an example showing how a >> document that is well-formed according to the modified uniqueness test >> is turned into a document that is not well-formed? > >Yes, the above document, to a namespace parser has the same element >attribute structure as > ><xxxx x:x="1" and x:x="2"/> > >but this isn't well formed XML. > >While namespaces were being discussed on xml-dev there were proposals >that already at the level of sax it would be the case that the >prefix info was dropped. In fact a sax2 parser will keep some other >information about names, and about entity references and other stuff >but that is essentially extra info not forced by the model. >As I say, if x: and y: are bound to the same prefix then my own system >will produce exactly the same internal structure for these two ><xxxx x:x="1" and y:x="2"/> ><xxxx x:x="1" and x:x="2"/> >which actually is unspecified behaviour since the second isn't well >formed XML. > >> there may still be a conflict because of an >> undetected equivalence. > >The namespace rec is explictly written so that undetected equivalence >can not occur. Any change to the rec that changes this is completely >utterly broken. > >If I need to define two namespaces to use in some document then I can use >http://www.dcarlisle.demon.co.uk >and >HTTP://WWW.DCARLISLE.DEMON.CO.UK > >it is _not_ at the liberty of some consumer of the document to decide >that it understands DNS names and URI scheme sufficiently that it >can decide the namespaces are equivalent. If I'd wanted to use the >same namespace in both cases, I would have done so. The fact that >I pay to have that URI name work means that I can generate 2^30 >or so similar namespace names if I so wish, and none of them will >(or should) clash with anyone else's namespace names. > >> I cut the knot by saying that the namespace spec should be silent on the >> subject, > >How can it be silent on the subject that it says is its only reason >for existence? > >David >
Received on Tuesday, 30 May 2000 09:22:29 UTC