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 Tony Dean <To...@sas.com> on 2006/07/19 16:32:23 UTC

[Axis2] axiom redundant namespace serialization...

Hi,

I thought that I would just post this observation to the axis group since serialization of axiom objects directly affects the performance of axis2.

In the past it seemed that axiom was doing a good job of not producing redundant namespace declarations, but with the July 18th snapshot, it does not seem as good.  Let me explain.

If I produce elements such as:

QName qName = new QName("http://myNamespace", "Element1");
OMElement element1 = omFactory.createOMElement(qName, null);

qName = new Qname("http://myNamespace", "Element2");
OMElement element2 = omFactory.createOMElement(qName, null);
element1.addChild(element2);

Now if I return this to axis2 engine as a response to service operation request, it will get serialized back to the client as something like the following:

<axis2ns1:Element1 xmlns:axis2ns1="http://myNamepace">
   <axis2ns2:Element2 xmlns:axis2ns2="http://myNamepace"/>
</axis2ns1:Element1>

Just think if you had many child elements in the same namespace.

I would think an optimal, acceptable serialization would have been:

<axis2ns1:Element1 xmlns:axis2ns1="http://myNamespace">
   <axis2ns1:Element2/>
</axis2ns1:Element2>

or

<Element1 xmlns="http://myNamepace">
   <Element2/>
</Element1>

Thanks.


Tony Dean
SAS Institute Inc.
919.531.6704
tony.dean@sas.com

SAS... The Power to Know
http://www.sas.com


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org