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]
