Two principles of Agile development are DRY (don't repeat yourself) and merciless refactoring. Thanks to excellent IDE support it isn't too hard to apply these principles to coding Java and similar. Groovy offers even more built-in language features which support these principles for your coding, and though IDE support for refactoring Groovy is still a little behind Java, it is catching up all the time. With XML however, it's a different story, even though there are reasonable XML editors and reasonable XML IDE support, very few provide decent (or any) refactoring capabilities and XML itself isn't necessarily well suited to reducing replication.
The good news is that