OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: SAX2: Interning names in namespaces

[ Lists Home | Date Index | Thread Index ]
  • From: james anderson <james.anderson@mecomnet.de>
  • To: Tim Bray <tbray@textuality.com>, xml-dev@xml.org
  • 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.



News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS