[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xmlbeans-dev
Subject:    [jira] Created: (XMLBEANS-210) Cannot handle QNames in attribute values correctly
From:       "Masahiro Kurosawa (JIRA)" <xmlbeans-dev () xml ! apache ! org>
Date:       2005-09-29 5:16:57
Message-ID: 1630423059.1127971017646.JavaMail.jira () ajax ! apache ! org
[Download RAW message or body]

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: dev-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: dev-help@xmlbeans.apache.org


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic