Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » JDOM User »

Re: [jdom-interest] Possible bug in SAXHandler when "namespaces" feature is off

Dmitri Plotnikov

2004-01-19

Replies:

Jason,

> > Unless the code has changed since beta 9 it looks like the correct
> > statement is that JDOM *only* supports XML+Namespaces. The setName
> > method for Element, for instance, treats ':' as an illegal character.
> > This violates the XML recommendation.
> >
> > I'm not saying that only supporting XML+Namespaces is a bad design
> > choice - very few people are using XML-Namespaces these days - but it
> > should be stated in the project description (at least in the fine
> > print...).
>
> We support XML with namespaces. We support XML without namespaces.
> What we don't support is colons in local names. Too many people
> mistakenly try to use colons in local names *thinking* they're adding a
> namespace. They're not, so we warn them off.

I have an issue with the statement that JDOM supports XML without namespaces
if it always treats a colon in a special way. Here's a quote from the XML
specification:

[Definition: A Name is a token beginning with a letter or one of a few
punctuation characters, and continuing with letters, digits, hyphens,
underscores, colons, or full stops, together known as name characters.]

Later the spec says:

XML processors must accept the colon as a name character.

Not that this is a problem for JDOM, but DOM indeed follows this
recommendation. When the namespaces feature is off, colons are treated as
legitimate characters of a name, just like "A" and "_". I believe the idea
of namespaces=false is not to bark when there is a colon in a name, but to
treat it as a legitimate and ordinary name character.

But, like I said earlier, I no longer think that JDOM needs to address this
issue in any way other than explicit documentation and perhaps a quick check
that the XMLParser passed to it has the namespaces feature enabled.

- Dmitri


_______________________________________________
To control your jdom-interest membership:
http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@(protected)


©2008 junlu.com - Jax Systems, LLC, U.S.A.