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