Glen, Xerces and others rely on XmlCommons for external APIs and this
is where Xerces gets its QName class from [1]. The version of QName in
xml-commons in the JAXP 1.3 version. J2SE 5 also ships a QName class.
Currently both these implementations of QName have problems:

1. The serialVersionUID is different to previous versions of QName.
The woden QNameTest picks this up and this exception is thrown:

java.io.InvalidClassException: javax.xml.namespace.QName; local class
incompatible: stream classdesc serialVersionUID =
-9120448754896609940, local class serialVersionUID =
4418622981026545151

2. After getting past the suid issue ... the original QName class
didn't contain a prefix member variable so when one of these is
deserialized into the Xerces or J2SE QName, the prefix value is null.
A readObject() method is required to check for this and set the prefix
to "". This is also picked up by the Woden QNameTest test.

At least #1 will be fixed in Sun JDK 5 rev 6. IBM has raised the #2
issue with Sun. Sorry I don't have Sun bug numbers for these to hand.

For now we have our own implementation of QName in woden that passes
these tests.

Jeremy

[1] 
http://svn.apache.org/repos/asf/xml/commons/trunk/java/external/src/javax/xml/namespace/QName.java

On 10/25/05, Glen Daniels <[EMAIL PROTECTED]> wrote:
> Folks:
>
> Isn't javax.xml.namespace.QName built into jaxp/xerces these days?
>
> --Glen
>
> Arthur Ryman wrote:
> > Jeremy,
> >
> > If we only need a simple class or two them it's probably not incuring
> > the overhead of another dependency. Why not proceed with our own
> > implementation if that saves time, and then later try to eliminate
> > redundant code.
> >
> > On 10/24/05, Jeremy Hughes <[EMAIL PROTECTED]> wrote:
> >
> >>I've noticed the XML commons has a QName class. It currently has an
> >>incorrect suid although I'm told they're going to fix that. We could
> >>use their QName class once it is fixed. There could be some useful XML
> >>utilities there - which we could/should use instead of our own
> >>utilities classes if they overlap in function.
> >>
> >>However, if the only class we could use from XML commons is QName then
> >>I'd like to stick with having our own so we don't require our users to
> >>download XML commons.
> >>
> >>What do you think?
> >>
> >>Cheers,
> >>Jeremy
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to