[Home] [By Thread] [By Date] [Recent Entries]

  • From: james anderson <james.anderson@m...>
  • To: Tim Bray <tbray@t...>, xml-dev@x...
  • Date: Mon, 07 Feb 2000 12:03:10 +0100


Tim Bray wrote:
> 
> Wow.  For a second I thought "what a brilliant idea, why didn't anyone
> think of it before".  And maybe it is.  Hm... is it a problem that you
> can have an element type and an attribute name in the same namespace,
> but they're really different names?
> 
> E.g. <b:foo b:foo="32" />
> 
> the two b:foo's are really different things. -Tim

Not necessarily. The just name different things.

This is a misconception which reappears often in the discussion of
namespaces. Perhaps, a misconception which made the situation more
complex that it need be. The problem is that, on numerous occasions the
"namespace" is conflated with a "binding space".

That is, the identity of a name is distinct from the contexts in which
it is bound.

That is, a function in a parser which maps (String uri, String
localPart) -> QName is distinct from those functions, elsewhere in an
xml processor, which map (Document d, Qname tagname) ->
ElementDeclaration,  (Element e, Qname tagname) -> Element,  (Element e,
Qname attname) -> Attribute, or whatever. While one can conceive of a
storage model in which the distinction between tagname and attname is
maintained on a global basis, it is difficult to conceive of the
advantages over a model in which the identity of the tag/attname is
qualified by the presence of the binding context.

That is, the names are the same, the contexts are different.

...


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member