[
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