Cannot handle QNames in attribute values correctly
--------------------------------------------------
Key: XMLBEANS-210
URL: http://issues.apache.org/jira/browse/XMLBEANS-210
Project: XMLBeans
Type: Bug
Components: XmlObject
Environment: XMLBeans 2.0.0
Reporter: Masahiro Kurosawa
I compiled a XSD file into XMLBeans like this:
- - -
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsrf-sg="http://docs.oasis-open.org/wsrf/sg-2"
elementFormDefault="qualified" attributeFormDefault="unqualified"
targetNamespace="http://docs.oasis-open.org/wsrf/sg-2">
<xsd:simpleType name="ContentElementsType">
<xsd:list itemType="xsd:QName"/>
</xsd:simpleType>
<xsd:element name="MembershipContentRule">
<xsd:complexType>
<xsd:attribute name="ContentElements"
type="wsrf-sg:ContentElementsType" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
- - -
(This is a quotation from WS-ServiceGroup spec:
http://docs.oasis-open.org/wsrf/wsrf-ws_service_group-1.2-spec-pr-01.pdf)
and use compiled XMLBeans classes like this:
- - -
// Values of 'ContentElements' attribute of 'MembershipContentRule' element
XmlQName qname1 = XmlQName.Factory.newInstance();
XmlQName qname2 = XmlQName.Factory.newInstance();
qname1.setQNameValue( QName.valueOf( "{http://www.bizgrid.org}first" ) );
qname2.setQNameValue( QName.valueOf( "{http://www.bizgrid.org}second" ) );
ArrayList contentElements = new ArrayList();
contentElements.add( qname1 );
contentElements.add( qname2 );
// Construct a 'MembershipContentRule' element
MembershipContentRuleDocument membershipContentRuleDocument =
MembershipContentRuleDocument.Factory.newInstance();
MembershipContentRuleDocument.MembershipContentRule membershipContentRule =
membershipContentRuleDocument.addNewMembershipContentRule();
// Set values of attributes created above
membershipContentRule.setContentElements( contentElements );
// Output the XML text of 'MembershipContentRule' element to console
System.out.println( membershipContentRuleDocument.xmlText() );
- - -
Result of last line is:
- - -
<wsrf:MembershipContentRule
ContentElements="biz:first biz:second"
xmlns:wsrf="http://docs.oasis-open.org/wsrf/sgw-1"/>
- - -
Values of 'ContentElements' attribute of 'MembershipContentRule' element seem
be just a set of return value of XmlQName.xmlText() method without
consideration of collision of prefixes and namespace URIs seem be lost.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]