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

Reply via email to