SAX2/Java: Towards a final form

David Megginson david at
Mon Jan 10 16:35:41 GMT 2000

Stefan Haustein writes:

 > I assume that xmlns and xmlns:* attributes do not occur in the
 > Attributes object, right?

By default, no, unless explicitly requested by the client app.  How
should we handle this?  Here are my current thoughts:

Feature: (default = true)

                        TRUE        false
uri                     required    optional
localName               required    optional
start/endPrefixMapping  required    optional
NS error reporting      required    forbidden

Feature: (default = false)

               true        FALSE
rawName        required    optional
xmlns* atts    required    forbidden

Every SAX2 driver *must* support namespaces==true and rawnames==false,
and must use those as the default unless the client explicitly
requests otherwise.

The combination namespaces==false && rawnames==false is not allowed
(setting either to false automatically toggles the other to true).

 > Is "no namespace" reported with a null or empty String (for
 > interned Strings, the equals problem does not exist)?

Empty string sounds like a reasonable suggestion when Namespace
processing is being performed; null when it is not (so that a bugs in
code will show up sooner).

 > Can I assume that namespace URIs are always interned?

That's a good question -- should SAX2 require that all names and
Namespace URIs be interned (i.e. == to the results of

All the best,


David Megginson                 david at

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

More information about the Xml-dev mailing list