Missing top-level element when copy/moveXmlContents
---------------------------------------------------

                 Key: XMLBEANS-301
                 URL: http://issues.apache.org/jira/browse/XMLBEANS-301
             Project: XMLBeans
          Issue Type: Bug
          Components: Cursor
    Affects Versions: Version 2.2.1
         Environment: JDK1.5
            Reporter: Hacking Bear


When using cursor to copy/move one XmlObject into another, the top-level 
element is missing. One has to wrap the bean into another bean before move/copy 
to target.

As experiment at point (A) and (B) below, it seems that XMLBean inserts the 
child after the cursor, rather than at the cursor, so I have to wrp it in a 
dummy doc or parent element. This also seems contradicting to the 
tutorial/document. The expected output is 

    ...<soap:body><Request ...><AttributeQuery ... 

public class SOAPXBeanOutputTest {
    public static void main(String[] args) throws Exception {
        RequestType request = RequestType.Factory.newInstance();
        request.setIssueInstant(Calendar.getInstance());
        request.setRequestID ("REQ123");
        AttributeQueryType query = request.addNewAttributeQuery();
        SubjectType subject = SubjectType.Factory.newInstance();
        NameIdentifierType nameId = subject.addNewNameIdentifier ();
        nameId.setStringValue("NAME123");
        query.setSubject((SubjectType)subject.copy());
       
        EnvelopeDocument soapDoc = EnvelopeDocument.Factory.newInstance();
        Envelope soapEnv = soapDoc.addNewEnvelope();
        Body soapBody = soapEnv.addNewBody();
       
        XmlCursor cursor = soapBody.newCursor();
        cursor.toNextToken();

        // (A) if not wrapping in dummy doc/element, results in output 
...<soapenv:Body><urn:AttributeQuery...
        RequestDocument dummyDoc = RequestDocument.Factory.newInstance();
        dummyDoc.setRequest(request);

        XmlCursor reqcursor = dummyDoc.newCursor(); // typs = STARTDOC
        //reqcursor.toFirstChild(); // (B) this results in output 
...<soapenv:Body><urn:AttributeQuery...
        reqcursor.moveXmlContents(cursor);
       
        reqcursor.dispose();
        cursor.dispose();

        soapDoc.save(System.out);
    }
}


-- 
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]

Reply via email to