cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joerg Heinicke <joerg.heini...@gmx.de>
Subject Re: svn commit: r597535 - in /cocoon/trunk/blocks/cocoon-forms/cocoon-forms-impl/src: main/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionList.java test/java/org/apache/cocoon/forms/datatype/FlowJXPathSelectionListTestCase.java
Date Thu, 27 Dec 2007 13:32:26 GMT
Grek, thanks for your work on this. I figured out the missing pieces.

First, I did not know that DOM is slightly different than the theory of XML.

On 27.12.2007 12:46 Uhr, Grzegorz Kossakowski wrote:
> Grzegorz Kossakowski pisze:
>> 3. My gut feeling is that we are affected by XALANJ-2091[2] bug. I'll try to verify
my feelings
>> tomorrow.
> 
> I have checked if update to Xalan 2.7.1 helps and it's not. Anyway, after taking closer
look at our
> code it's not a surprise because we don't use DOMBuilder from Xalan but our own class.

Second, that's not quite correct. Xalan 2.7.1 fixes the issue. Our 
DOMBuilder is only a wrapper. It does not replace the Xalan DOMBuilder 
at all.

Third, there is a missing piece though to make it work: The fix for 
XALANJ-2091 is triggered by startPrefixMapping(). With 
FlowJXPathSelectionList.generateSaxFragment() as in the test case 
without the actual CForms framework code startPrefixMapping() is never 
called. After I added startPrefixMapping() at the very beginning of 
FlowJXPathSelectionList.generateSaxFragment() and endPrefixMapping() at 
the end of it (though there is still an issue with the missing 
implementation of the latter [1]) the test passed without the explicit 
removal of the namespace attribute.

The question is if we really want to change all places where this 
applies and add start/endPrefixMapping(). In theory that's the correct 
way to do it. Another possibility to fix the tests would be to serialize 
the XML from the actual test run and reparse it in the same way as the 
documents we compare to.

Joerg

Mime
View raw message