XMLC 2.2.9 Release Note
Also see the XMLC 2.2 Release Note, XMLC 2.2.1 Release Note, XMLC 2.2.2 Release Note, XMLC 2.2.3 Release Note, XMLC 2.2.4 Release Note, XMLC 2.2.5 Release Note, XMLC 2.2.6 Release Note, XMLC 2.2.7.1 Release Note, and XMLC 2.2.8.1 Release Note.
Bug fixes in 2.2.9
- XMLC taskdef used non-intuitive behavior when dealing with multiple options.xmlc files in the directory hierarchy, patch provided by Shawn Wilson
Previously, the XMLC taskdef would use the options.xmlc file found in the highest parent directory even if one existed closer to the source file. Changed to search files in child-first order instead of parent-first (start at bottom of hierarchy). With this change, the options.xmlc found closest to the source file (searching up the directory tree) is used.
Enhancements in 2.2.9
- Significant enhancements to the test suite
- Modified xmlc module bulid file to store results of all tests rather than having them overwritten for each pass of the same testcase. This allows for separate result files representing different input variables, all named accordingly. This means that a report of all testcases run can be generated and reviewed.
- Modified DOMInfoPrinter to deal more consistenly with white space and recognize xml:space. This change alone made many more tests pass, which were often failing simply because there were whitespace differences between the expected and output files.
- Modified insignificant whitespace in a number of expected files to match the new, more consistent output of DOMInfoPrinter. It seems like some testcases had been modified to match the old, barely predictable, output.
- Had to turn off pretty printing in the OutputOptions in MetadataDocument.serialize(File). Once I did that, tests finally passed. They were all failing because of extra line breaks caused by the broken pretty printing code.
- Had to update SimpleDiffFilter to allow for path normalization so that "\" can be normalized to "/", since that's the way the paths are set in the expected files. This was done generically by adding the ability to replace specified path chars with desired ones. Updated TestCaseBase to use this new functionality. This, along with the other character normalization fixes, made many more testcases pass.
- Accounted for creation of setTextXXX() methods even when there is no existing text node there. This feature was added in XMLC-2.2.x.
- Modified some input files which the parser found to be invalid (actually, some were invalid according to Xerces2. I changed them to be valid with both Xerces1 and Xerces2 where it didn't break the test for Xerces1, which is what XMLC-2.2.x uses).
- Misc. other fixes
There are still a number of testcase failures, but most are for the Swing HTML parser, which I'm considering dropping support for anyway in a future release. A couple failures are happening because of references to files that exist in other modules (such as the "wireless" module). Very few happen with the core XMLC classes.
The main point of all of this was to obtain a baseline to compare against future development with Xerces2 instead of Xerces1. It took a lot of time, but I think it was worth it.
General updates in 2.2.9
- Eclipse
Added Eclipse .settings directory to the repository so standard settings for the project can be loaded.
- Updated libraries
Updated to ASM-2.2.2, xml-apis-1.3.03, and jaxen-1.1-beta9