You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Glen Daniels <gd...@macromedia.com> on 2001/10/02 15:14:42 UTC

QNames

Hi everyone:

We've just been discussing the QName class on the axis-dev list, and have
heard that the proposed JAX-RPC QName lives in javax.rpc.namespace.QName.
Hm... and the WSDL4J QName class lives in javax.wsdl.QName.  And the Axis
QName (for now) is org.apache.axis.utils.QName.... This seems less than
optimal to me.

XML qualified names seem to be a very core concept to XML+namespaces
processing, and as such it would be really nice if there weren't five or six
different QName classes which do essentially the same thing, and yet aren't
directly compatible with each other.

Wouldn't a javax.xml.QName class (or something like that) be a better place
for the Java community to go?  I realize this might mean syncing with
another JSR, but the concept of QName really is larger than the SOAP RPC
context (or the SOAP context at all).  As an implementor, I've already had
to deal with the fact that Axis has a QName class and WSDL4J has a QName
class, and now JAX-RPC is suggesting one as well....

Thoughts?  Has this issue been discussed in a cross-JSR way already?

Thanks,
--Glen

Re: QNames

Posted by "Rahul Sharma, Java Software" <ra...@sun.com>.

Glen Daniels wrote:
> We've just been discussing the QName class on the axis-dev list, and have
> heard that the proposed JAX-RPC QName lives in javax.rpc.namespace.QName.
> Hm... and the WSDL4J QName class lives in javax.wsdl.QName.  And the Axis
> QName (for now) is org.apache.axis.utils.QName.... This seems less than
> optimal to me.
> 
> XML qualified names seem to be a very core concept to XML+namespaces
> processing, and as such it would be really nice if there weren't five or six
> different QName classes which do essentially the same thing, and yet aren't
> directly compatible with each other.

  Yes. We should have one standard QName class. I can take the
  action item to sync with all JAX* JSRs and WSDL4J, and propose
  a single QName class. All JSRs can then reference this common
  QName class. 

  To start, we should discuss what should be in this QName class.
 
  Here is the JAX-RPC QName class:
 
  package javax.xml.rpc.namespace;
  public abstract class QName implements Serializable {
    public abstract String getLocalPart();
    public abstract void setLocalPart(String localPart);
    public abstract String getNamespaceURI();
    public abstract void setNamespaceURI(String namespaceURI);
    public abstract int hashCode();
    public abstract boolean equals(Object obj);
  }

  The javax.xml.QName seems a better packaging. Another issue
  relates to whether this should be an abstract class or an
  interface. If we are keeping this class common, we can as 
  well provide QName implementation.

  Lets discuss this.

  Regards,

  Rahul

> Wouldn't a javax.xml.QName class (or something like that) be a better place
> for the Java community to go?  I realize this might mean syncing with
> another JSR, but the concept of QName really is larger than the SOAP RPC
> context (or the SOAP context at all).  As an implementor, I've already had
> to deal with the fact that Axis has a QName class and WSDL4J has a QName
> class, and now JAX-RPC is suggesting one as well....
>
> Thoughts?  Has this issue been discussed in a cross-JSR way already?