[ 
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

        

Reply via email to