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


Help: OASIS Mailing Lists Help | MarkMail Help



   SAX: two alternatives for namespaces

[ Lists Home | Date Index | Thread Index ]
  • From: David Megginson <david@megginson.com>
  • To: "XML Developers' List" <xml-dev@ic.ac.uk>
  • Date: Tue, 28 Jul 1998 21:47:43 -0400


  Simple XML 1.0 names have only a single part, and are unique only
  within a document; the namespaces spec currently under development
  defines globally-unique names consisting of two parts: a (possibly
  null) URI part and a base part.


  What changes to SAX 1.0 are required to support two-part names?

After reading the follow-ups to my last posting, surviving far too
many late WG meetings, and considering the problem during a few long,
early morning runs, I can see only two reasonable alternatives for
adding namespaces to SAX.

I would like to hear what everyone -- especially, but not exclusively
SAX parser and application writers -- thinks of these two

1. Concatentation

  Use a single Java String (or C++ wstring, etc.) to represent a
  two-part name; select a non-XML character to use as the separator.

  - requires no modification to SAX 1.0

  - places additional burden on applications
  - makes equality testing tricky
  - may produce unexpected results with applications that assume only
    traditional one-part names (especially normalisers)

2. New Interface

  Create a new SAX interface to represent a two-part name:

    public interface Name
      public void setURIPart (String uri);
      public String getURIPart ();
      public void setBasePart (String base);
      public String getBasePart ();
      public boolean equals (Name name);
      public Name clone ();

  Use this interface consistently throughout SAX for all XML 1.0 names
  (not just those covered by the namespaces spec).  Modifications
  would be required to the DTDHandler, DocumentHandler, and
  AttributeList interfaces and to the HandlerBase and
  AttributeListImpl classes.

  - provides a clean and powerful implementation
  - easily extensible: could add other information (such as the prefix
    used) in the future
  - provides easy and separate access to the URI part and the base
    part of a name
  - another bloody interface
  - backwards-incompatible with SAX 1.0; all software would have to

Of course, we should finalise nothing until the namespaces spec
becomes a recommendation.

All the best,


David Megginson                 david@megginson.com

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)


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

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