Jörg Schaible wrote:

> Hi Stefan,
> 
> Stefan Bühlmann wrote:
> 
>> Sure thing, complete CDATA element:
>> 
>> <data><![CDATA[],[null,null],[null,null]],getResult:function(){var
>> c=this.results,a,b=[];for(a=0;a<c.length;a++){b=c[a];if(b[0])
> {break}}return[].concat(b)},HTML:[0,0,0],active:
> [0,0,0],DummyObjTagHTML:0,DummySpanTagHTML:0,allowed:
> [1,1,1],VerifyTagsHas:function(c){var
>> d=this,b;for(b=0;b<d.allowed.length;b++){if(d.allowed[b]===c){return
>> 1}}return 0},saveAsVerifyTagsArray:function(c){var
>> b=this,d=b.$,a;if(d.isArray(c)){for(a=0;a<b.allowed.length;a++)
> {if(d.isNum(c[a])){if(c[a]<0){c[a]=0}if(c[a]>3)
> {c[a]=3}b.allowed[a]=c[a]}}}},setVerifyTagsArray:function(d){var
>> b=this,c=b.$,a=b.$$;if(a.getVersionDone===null)
> {b.saveAsVerifyTagsArray(a.getVerifyTagsDefault())}if(a.debug||
> (a.verify&&a.verify.isEnabled()))
> {b.saveAsVerifyTagsArray([3,3,3])}else{if(d)
> {b.saveAsVerifyTagsArray(d)}}},allDisabled:function(){return
>> this.$$.isDisabled.allApplets()},isDisabled:function(d){var
>> b=this,c=b.$,a=b.$$;if(d==2&&!c.isIE){return 1}if(d===0||d==2){return
>> a.isDisabled.ObjectTag()}if(d==1){return
>> a.isDisabled.AppletTag()}},can_Ins]]></data>
> 
> Congrats, you found a parser bug ;-)
> 
> All other XML parsers can process this happily, but Xpp3 fails. I have not
> yet found the minimal sequence that triggers the erroneous behavior.
> 
> You might use kXML2 as alternative XPP parser - that one fails to
> normalize attribute values properly, but that normalization is typically
> not wanted anyway.

====== %< =======
public void testCanReadComplexCDATA() throws Exception {
  String data = "]],if(c[a]>3&&a.v)";
  HierarchicalStreamReader xmlReader = createReader(
    "<string><![CDATA[" + data + "]]></string>");
  assertEquals(data, xmlReader.getValue());
}
====== %< =======

this is a quite minimal String that triggers the problem.

- Jörg


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to