Hi all,

So, are we going to live with coalescing parsing in Synapse? As per
SYNAPSE-280 <https://issues.apache.org/jira/browse/SYNAPSE-280> which is
pointed out by Andreas what are the benefits that we can get from using
non-coalescing mode in Synapse and in that case are we planning to move to
non-coalescing in the future?
And even though we resolve SYNAPSE-624 as 'not-a but', I guess
replacing OMText#getText
by OMElement#getText() is still applicable.

Thanks,
Kasun


On Sat, May 1, 2010 at 3:05 PM, Hiranya Jayathilaka <hiranya...@gmail.com>wrote:

> Hi Indika,
>
> On Fri, Apr 30, 2010 at 10:23 PM, indika kumara <indika.k...@gmail.com>wrote:
>
>> Hiranya ... it seems that as Andreas pointed out in ws commons list, the
>> working with Axiom in non coalescing can be a risk.
>>
>
> Yes. Actually that discussion helped me understand a lot. It seems the
> existing logic in Synapse+Axiom for handling local entries with CDATA
> elements is correct after all. The problem with serialization I pointed out
> in my previous mail is to be expected. Even though the serialized XML is
> lexically different from the input XML, their XML infosets are equal. Even
> though AXIOM has removed CDATA tags, the text has been encoded to escape any
> invalid characters like '<'.
>
> All in all I think we can live with the existing logic. We can resolve
> SYNAPSE-624 as 'not a bug'. However there are few things that need be
> properly communicated to the users through our docs.
>
> 1. If a local entry text contains any XML markup the whole text must be
> wrapped in CDATA tags
>
> eg: <localEntry
> key="foo"><![CDATA[mc.setPayloadXML(<xml>data</xml>);]]></localEntry>
>
> 2. If a local entry text contains XML markup and CDATA tags then we should
> properly escape the CDATA tags to avoid having nested CDATA elements.
> (Nested CDATA elements cause XML parser to throw a parse exception)
>
> eg: <localEntry
> key="foo"><![CDATA[mc.setPayloadXML(<xml><![CDATA[data]]]]><![CDATA[></xml>);]]></localEntry>
>
> 3. XML local entries with CDATA elements will not have the CDATA tags in
> the serialized version
>
> I have updated the test cases to cover all these scenarios and the expected
> behavior.
>
> Thanks,
> Hiranya
>
>
>>
>> is the 'coalescing' off/on a system property ?  and if  not  , is there
>> any way to create a new parser instance in non coalescing mode only for
>> synapse configuration parsing ?
>>
>> Thanks
>>
>> Indika
>>
>> On Fri, Apr 30, 2010 at 6:41 PM, Hiranya Jayathilaka <
>> hiranya...@gmail.com> wrote:
>>
>>> Hi Folks,
>>>
>>> While doing some work on SYNAPSE-624, I have realized that Synapse does
>>> not handle local entry values with CDATA elements properly. Axiom seems to
>>> drop CDATA elements while parsing XML. For an example given the following
>>> local entry configuration:
>>>
>>> <localEntry key="foo"><test><![CDATA[<SomeXML/>]]></test></localEntry>
>>>
>>> the serialized XML would be as follows:
>>>
>>> <localEntry key="foo"><test>&lt;SomeXML/></test></localEntry>
>>>
>>> Note that the CDATA element is gone, and its value has been partially
>>> encoded. The way out of this issue is to disable coalescing in the parser.
>>> But that would be globally applied to all XML parsing logic in Synapse
>>> (unless we somehow use a separate OM builder for parsing local entries). So
>>> how do you think we should handle this scenario?
>>>
>>> Thanks
>>> --
>>> Hiranya Jayathilaka
>>> Software Engineer;
>>> WSO2 Inc.;  http://wso2.org
>>> E-mail: hira...@wso2.com;  Mobile: +94 77 633 3491
>>> Blog: http://techfeast-hiranya.blogspot.com
>>>
>>
>>
>
>
> --
> Hiranya Jayathilaka
> Software Engineer;
> WSO2 Inc.;  http://wso2.org
> E-mail: hira...@wso2.com;  Mobile: +94 77 633 3491
> Blog: http://techfeast-hiranya.blogspot.com
>



-- 
Kasun Indrasiri
Senior Software Engineer,
WSO2 Inc. - "Lean . Enterprise . Middleware" - http://www.wso2.com/
Blog : http://kasunpanorama.blogspot.com/

Reply via email to