Jeff Thomas created AXIS2-5799:
----------------------------------
Summary: Axis2 xsd2java - namespace prefix added to inherited
attributes
Key: AXIS2-5799
URL: https://issues.apache.org/jira/browse/AXIS2-5799
Project: Axis2
Issue Type: Bug
Components: adb
Affects Versions: 1.7.3
Environment: Axis2 1.7.3
Windows
Maven 3.3+
Reporter: Jeff Thomas
Priority: Blocker
Fix For: 1.7.4, 1.8.0
We have recently migrated from Axis2 1.6.2 to 1.7.3.
We have multiple XSDs that extend complex-type elements from a common parent
XSD.
After the migration, we now have different namespace prefixes on our attributes.
For example:
1.6.2 <child:Object id="1234" name="JohnDoe".../>
1.7.3 <child:Object child:id="1234" parent:name="JohnDoe".../>
According to the namespace spec ():
"Default namespace declarations do not apply directly to attribute names; the
interpretation of unprefixed attributes is determined by the element on which
they appear."
In the generated Java code, for example the parse methods now have fully
qualified attribute names:
{code:java}
if (localName != null){
writeAttribute("http://www.example.org/core", "name",
org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localName),
xmlWriter);
}
...
if (localId != null){
writeAttribute("http://www.example.org/child", "id",
org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localId),
xmlWriter);
}
{code}
Previously I believe, the given attribute namespace was null.
The serialized XML generated with this approach does not validate in AltovaXML
editor. (The attribute 'core:name' is not permitted in the element
<child:Object>).
I will attach an example with two XSDs and the Axis 1.7.3 generated source-code.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]