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

List:       xmlbeans-dev
Subject:    [jira] Assigned: (XMLBEANS-241) Nested XML - CData inconsistencies
From:       "Wing Yew Poon (JIRA)" <xmlbeans-dev () xml ! apache ! org>
Date:       2009-10-26 19:20:59
Message-ID: 768199819.1256584859470.JavaMail.jira () brutus
[Download RAW message or body]


     [ https://issues.apache.org/jira/browse/XMLBEANS-241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]

Wing Yew Poon reassigned XMLBEANS-241:
--------------------------------------

    Assignee: Cezar Andrei

> Nested XML - CData inconsistencies
> ----------------------------------
> 
> Key: XMLBEANS-241
> URL: https://issues.apache.org/jira/browse/XMLBEANS-241
> Project: XMLBeans
> Issue Type: Bug
> Components: XmlObject
> Environment: XP Professional
> Reporter: Keith Daurs
> Assignee: Cezar Andrei
> Priority: Critical
> 
> Trying to insert XML data into an existing XML document. Success of this operation \
> appears to be dependant on the size of data held in the nested XML child elements. \
> Operation works fine up to a certain size with nested XML correctly wrapped within \
> CDATA. However, if child elements are over a certain size then nested XML is not \
> recognised as CDATA and the <> chars are escaped, causing parsing problems further \
> down the line.  For an example I have used the EasyPO xsd as provided on the \
> XMLBeans website, and adding the folowing data as my nested XML: SUCCESSFUL RUN
> <nestedXML>
> 	<testData>
> 	<textDataOne>hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world </textDataOne>  <sizeTextDataOne>324 bytes</sizeTextDataOne>
> 	<textDataTwo>hello</textDataTwo>
> 	<sizeTextDataTwo>5 bytes</sizeTextDataTwo>
> 	</testData>
> </nestedXML>
> Output as follows:
> <?xml version="1.0" encoding="UTF-8"?>
> <purchase-order xmlns="http://openuri.org/easypo">
> <customer>
> <name>Gladys Kravitz</name>
> <address>Anytown, PA</address>
> </customer>
> <date>2003-01-07T14:16:00-05:00</date>
> <line-item>
> <description>Burnham's Celestial Handbook, Vol 1</description>
> <per-unit-ounces>5</per-unit-ounces>
> <price>21.79</price>
> <quantity>2</quantity>
> </line-item>
> <line-item>
> <description>Burnham's Celestial Handbook, Vol 2</description>
> <per-unit-ounces>5</per-unit-ounces>
> <price>19.89</price>
> <quantity>2</quantity>
> </line-item>
> <line-item><description><![CDATA[<nestedXML>
> 	<testData>
> 	<textDataOne>hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world </textDataOne>  <sizeTextDataOne>324 bytes</sizeTextDataOne>
> 	<textDataTwo>hello</textDataTwo>
> 	<sizeTextDataTwo>5 bytes</sizeTextDataTwo>
> 	</testData>
> </nestedXML>]]></description></line-item><shipper>
> <name>ZipShip</name>
> <per-ounce-rate>0.74</per-ounce-rate>
> </shipper>
> </purchase-order>
> UNSUCCESSFUL RUN
> <nestedXML>
> 	<testData>
> 	<textDataOne>hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world </textDataOne>  <sizeTextDataOne>324 bytes</sizeTextDataOne>
> 	<textDataTwo>hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world </textDataTwo>  <sizeTextDataTwo>324 bytes</sizeTextDataTwo>
> 	</testData>
> </nestedXML>
> Output as follows:
> <?xml version="1.0" encoding="UTF-8"?>
> <purchase-order xmlns="http://openuri.org/easypo">
> <customer>
> <name>Gladys Kravitz</name>
> <address>Anytown, PA</address>
> </customer>
> <date>2003-01-07T14:16:00-05:00</date>
> <line-item>
> <description>Burnham's Celestial Handbook, Vol 1</description>
> <per-unit-ounces>5</per-unit-ounces>
> <price>21.79</price>
> <quantity>2</quantity>
> </line-item>
> <line-item>
> <description>Burnham's Celestial Handbook, Vol 2</description>
> <per-unit-ounces>5</per-unit-ounces>
> <price>19.89</price>
> <quantity>2</quantity>
> </line-item>
> <line-item><description>&lt;nestedXML>
> 	&lt;testData>
> 	&lt;textDataOne>hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world &lt;/textDataOne>  &lt;sizeTextDataOne>324 bytes&lt;/sizeTextDataOne>
> 	&lt;textDataTwo>hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world hello world hello world hello world hello world hello world hello world hello \
> world &lt;/textDataTwo>  &lt;sizeTextDataTwo>324 bytes&lt;/sizeTextDataTwo>
> 	&lt;/testData>
> &lt;/nestedXML></description></line-item><shipper>
> <name>ZipShip</name>
> <per-ounce-rate>0.74</per-ounce-rate>
> </shipper>
> </purchase-order>
> Example code used:
> import java.io.File;
> import java.io.IOException;
> import org.apache.xmlbeans.XmlException;
> import org.apache.xmlbeans.XmlObject;
> import org.openuri.easypo.LineItem;
> import org.openuri.easypo.PurchaseOrderDocument;
> /**
> * @author
> *
> */
> public class XMLBeanTester
> {
> 	/**
> 	 * @param args
> 	 */
> 	public static void main(String[] args)
> 	{
> 		new XMLBeanTester().testXMLBeans();
> 	}
> 	
> 	public void testXMLBeans()
> 	{
> 		File xmlFile = new File("myPO.xml");
> 		String test_XML_data = "nested_xml.xml";
> 		try
> 		{
> 			PurchaseOrderDocument PODoc = PurchaseOrderDocument.Factory.parse(xmlFile);
> 			XmlObject xml = XmlObject.Factory.parse(new File(test_XML_data));		
> 			LineItem item = PODoc.getPurchaseOrder().addNewLineItem();
> 			item.setDescription(xml.xmlText());	
> 			PODoc.save(new File("myNewPO.xml"));
> 		}
> 		catch (XmlException e)
> 		{
> 			System.out.println("XML Problem:- ");
> 			e.printStackTrace();
> 		}
> 		catch (IOException e)
> 		{
> 			System.out.println("IO Problem:- ");
> 			e.printStackTrace();
> 		} 
> 	}
> }
> Is this a known bug or I am I missing something fundamental (quite possible!)? Any \
> input will be appreciated as this is now having a serious impact on our project.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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