Dexter is a tool that allows users to define extended attributes which can be associated with descriptors and editors. These attributes can be embedded into any well-formed XML document. The resulting embellished document, the 'source', is then input to the dexter engine. This will generate one or more XSLT stylesheets describing the input document interpolating editor modifications and any instructions specified by the descriptors. As dexter's operations are specified exclusively with extended attributes, all but the most unforgiving of XML content viewers will continue to see the decorated source exactly as the designer saw it before.
Groovy is an agile, dynamic language for the JVM which combines many features from languages like Python, Ruby, and Smalltalk and makes them available to Java developers using a Java-like syntax. It is designed to help get things done on the Java platform in a quicker, more concise, and fun way. It can be used as an alternative compiler to javac to generate standard Java bytecode to be used by any Java project or it can be used dynamically as an alternative language, such as for scripting Java objects, templating, or writing unit test cases.
HTML4J provides HTML parsing and editing capabilities to the Java platform. While there are several packages for XML/XHTML parsing, HTML4J is one of the few packages able to parse real-world HTML. In addition to parsing (different parsing alternatives are offered), it provides higher-level methods to easily get information about an HTML document, and even edit it.