Lists Home |
Date Index |
We are happy to announce the release of the XML Enhancements for Java (XJ)
compiler and runtime system on Alphaworks (
http://www.alphaworks.ibm.com/tech/xj). The XML Enhancements for Java
(XJ) project extends Java 1.4 with first-class support for 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, it performs optimizations 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. The XJ language has the following
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
We have released a prototype compiler and runtime system on Alphaworks (
http://www.alphaworks.ibm.com/tech/xj). XJ is an evolving language, and we
are extremely interested in feedback on the utility of its features. We
are interested in what people think about "tight" integration of XML into
Java. Our opinion is that it makes XML processing applications more
efficient and robust.
IBM T.J. Watson Research Center
XJ: the XMLification of Java (http://www.research.ibm.com/xj)