I'm a bit late in posting this, but take a look at the new cool "XML Enhancements for Java" on alphaWorks. Like everything else there, this is experimental and is meant to try new approachs. Try it out and let the authors know. The following is from the linked site:
What are XML Enhancements for JavaTM?
XML Enhancements for Java (XJ) are a set of extensions to Java 1.4 that integrate support for XML, XML Schema and XPath 1.0 into the language. The advantages of XJ over existing mechanisms for XML development are:
- Familiarity (for the XML Programmer) : XML processing in XJ is consistent with open XML standards.
- Robustness : XJ programs are strongly typed with respect to XML Schemas. The XJ compiler can detect errors in uses of XPath expressions and construction of XML data.
- Easier Maintenance: Since XJ programs are written in terms of XML and not low-level APIs such as DOM or SAX, they are easier to maintain and modify if XML Schemas change.
- Performance: Since the compiler is aware of the use of XML in a program, it can optimize the runtime representation, parsing, and XPath evaluation of XML.
In XJ, one can import XML schemas just as one does Java classes. All the element declarations in the XML schema are then available to programmers as if they were Java classes. Programmers can write inline XPath expressions on these classes, and the compiler checks them for correctness with respect to the XML schema. In addition, the compiler performs optimizations in order to improve the evaluation of XPath expressions. A programmer may construct new XML documents by writing XML directly inline. Again, the compiler ensures correctness with respect to the appropriate schema. By integrating XML and Java, XJ allows programmers to reuse existing Java libraries in the development of XML code and vice-versa.
XJ is an evolving language, and therefore any comments, criticisms or praise from developers is most welcome.
This technology is part of the Emerging Technologies Toolkit (ETTK), a special collection of emerging technologies from IBM's software development and research labs. It runs on Windows Linux and UNIX