Andy Krumel recently announced the 'Beta 3 preview release 2' version of Jato, a new library for converting between Java and XML. The preview release contains the initial version of the Jato debugger and improved expression support. With development hosted on SourceForge, Jato is "a GPL open-sourced, XML based non-procedural language for transforming any XML document to/from any set of Java objects. Non-procedural languages describe the operations to perform, leaving the algorithms for implementing the operations to an interpreter. A Jato script expresses the relationships between XML elements and Java objects and frees the developer from writing iteration loops, recursive routines, error checking code, and many other error prone, verbose, and monotonous XML parsing chores. Jato encourages XML and Java designs to be optimized for their specified tasks. Developers simply express the XML elements that map to or from specific Java classes. The Jato interpreter then implements the necessary parsing and generation algorithms to accomplish the desired actions."
"Jato is built on JDOM, supports XML Namespaces, and supports the JavaBeans naming conventions. The conditional transformation feature allows transformations to be based on the type of XML element, presence or value of an attribute, the state of an object, etc. A graphical debugger is included to allow interactive execution of scripts while monitoring the processing of XML input and generation of XML output. It includes support for breakpoints, step into, step over, run to, restart, and animation execution; the debugger also supports being run simultaneously with your Java IDE so you can debug your scripts and your Java code simultaneously."
From the JavaWorld article summary: "The Jato API converts XML documents into Java objects and back again. In January, Andy Krumel publicly released the API in beta form at SourceForge. Based on the observation that transformations are mechanical and tedious, with Jato a simple XML script describes the XML/Java mapping. In this article, the first of three, Andy explains how to use Jato to perform basic Java-to-XML and XML-to-Java transformations. In Part 2, he will focus on performing complex Java-to-XML transformations. Part 3 will explore converting an XML document into Java application objects."