[ https://issues.apache.org/jira/browse/TUSCANY-3715?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ant elder updated TUSCANY-3715: ------------------------------- Fix Version/s: Java-SDO-Next > SDOSAX2Parser inserts "]]><![CDATA[" when parsing XML from string buffer > ------------------------------------------------------------------------ > > Key: TUSCANY-3715 > URL: https://issues.apache.org/jira/browse/TUSCANY-3715 > Project: Tuscany > Issue Type: Bug > Components: C++ SDO > Affects Versions: Cpp-M3 > Reporter: Thomas Gentsch > Fix For: Java-SDO-Next > > > When parsing a XML doc from a string buffer using XMLHelper::load() the > resulting string property contains "]]><![CDATA[". > Example: > Original: > ==================== > <?xml version="1.0" encoding="UTF-8"?> > <tns1:bla xmlns:tns1="http://bla..."> > <tns1:name>...</tns1:name> > <tns1:label>...</tns1:label> > <tns1:description>...</tns1:description> > <tns1:modeltype>raw</tns1:modeltype> > <tns1:version>1.0.0</tns1:version> > <tns1:raw> > <![CDATA[ > Whatever stuff containing < and > and this and that ... > ... > ==================== > Results in something like (with the wrong CDATA tags every 300 bytes): > ==================== > <?xml version="1.0" encoding="UTF-8"?> > <tns1:bla xmlns:tns1="http://bla..."> > <tns1:name>...</tns1:name> > <tns1:label>...</tns1:label> > <tns1:description>...</tns1:description> > <tns1:modeltype>raw</tns1:modeltype> > <tns1:version>1.0.0</tns1:version> > <tns1:raw> > <![CDATA[ > Whatever stuff con]]><![CDATA[taining < and > and this an]]><![CDATA[d that > ... > ... > ==================== > This does not happen when parsing the same XML from a file. > The problem is in the chunked parsing and then constructing the prop value: > void SDOSAX2Parser::characters(const SDOXMLString& chars) > { > ... > if (!currentPropertySetting.name.isNull()) > { > currentPropertySetting.value = currentPropertySetting.value + chars; > return; > } > ... > } > Here the prop value gets just concatenated but every chunk of "chars" is > enclosed in <![CDATA[...]]>. > Solution: > Before adding a new chunk, strip "]]>" from currentPropertySetting.value and > "<![CDATA[" from "chars". -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira