[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

SAX: two alternatives for namespaces

  • From: David Megginson <david@m...>
  • To: "XML Developers' List" <xml-dev@i...>
  • Date: Tue, 28 Jul 1998 21:47:43 -0400

disadvantages of namespaces
Background: 

  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.

Question:

  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
alternatives:


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.

  Advantages:
  - requires no modification to SAX 1.0

  Disadvantages:
  - 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.

  Advantages:
  - 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
 
  Disadvantages:
  - another bloody interface
  - backwards-incompatible with SAX 1.0; all software would have to
    change


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


All the best,


David

-- 
David Megginson                 david@m...
           http://www.megginson.com/

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


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.