SAX: two alternatives for namespaces
David Megginson
david at megginson.com
Wed Jul 29 03:48:24 BST 1998
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 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/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe 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