[root]/groovy/groovy-core/src/main/groovy/xml/dom
fix for 'Ambiguous method overloading' bug
25 lines of code changed in:
little XML tweaks
14 lines of code changed in:
add '**' to DOMCategory and XmlParser
make children() in DOMCategory behave like XmlParser
Add depth/breadthFirst to DOMCategory
115 lines of code changed in:
add '..' to DOMCategory and XmlParser
add '*' to XmlParser
7 lines of code changed in:
begin rationalising XML test
11 lines of code changed in:
tweak to try to make build more stable
5 lines of code changed in:
Added attributes() to DOMCategory and fixed previous bug causing build problems
33 lines of code changed in:
Added list() to DOMCategory
26 lines of code changed in:
Fixed up error message text (copy and paste error)
2 lines of code changed in:
GROOVY-1524 Further improvements and testcases for DOMCategory plus fixed up groovy.xml.dom.DOMTest
79 lines of code changed in:
GROOVY-1524 Further improvements and testcases for DOMCategory
43 lines of code changed in:
GROOVY-1524 Further improvements and testcases for DOMCategory
71 lines of code changed in:
GROOVY-1524 Some additional DOM syntactic sugar
50 lines of code changed in:
This adds support for reading XML documents into a DOM, manipulating them with GPath, and then writing the documents back out. Builders didn't support having attributes and content on a node, so that was added. Instead of adding the DOM methods DefaultGroovyMethods, I introduced a dynamic way to do this using a global "use" method. Simply call this method with a class similar in format to DefaultGroovyMethods to add new methods only for the current thread. It might be interesting to change the scope at a later date, but that is what it is now. I refer to these in the code as Categories, like obj-c and smalltalk do. You can see in DOMTest.groovy how they are used. I am disatisfied with the way toString(Object) and asIterator() work right now. I would like those to be broken out, instead of being a giant method. I think that some sort of conversion pipeline might be the way to do that. The changes to support Categories was limited to the Invoker and an addition global method.
76 lines of code changed in: