SAX2: Namespace Processing and NSUtils helper class

David Megginson david at megginson.com
Thu Dec 16 14:38:25 GMT 1999


James Clark <jjc at jclark.com> writes:

> > Tim Bray <tbray at textuality.com> writes:
> > 
> > > So I think it would be cleaner to deal with the fact that names
> > > can have two parts, and not kludge them together with {} marks.
> > > -Tim
> 
> I tend to agree: pasting the namespace URI and local name together
> is a hack. Perhaps it's justified for backwards compatibility. (I
> did it myself in expat for this reason, so I can't really complain
> if SAX2 does it.)

It turns out that it's a very difficult decision, and in the end,
someone's life has to end up being harder.

> For some applications (for example, layering DOM2 on top of SAX2), it's
> really useful to have prefixes as well.  So I would rather see:
> 
> final class Name {
>   public String getNamespaceURI();
>   public String getLocalName();
>   public String getPrefix();
> }

To make this really useful, however, we should add equals(), intern(),
and hashCode() methods, and that leads to a different (and trickier)
should equals() and hashCode() consider the prefix, or not?  People
will get really surprising results if 

  {"http://www.w3.org/1999/xhtml", "a", ""}

equals()

  {"http://www.w3.org/1999/xhtml", "a", "html"}

but it is counterintuitive that the two are not equal from a normal
processing perspective.  Nasty business, really.


All the best,


David

-- 
David Megginson                 david at megginson.com
           http://www.megginson.com/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)





More information about the Xml-dev mailing list