I
Igor Pechtchanski
XML Enhancements for Java (XJ) (http://www.alphaworks.ibm.com/tech/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.
Igor Pechtchanski (for the XJ team)
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.
Igor Pechtchanski (for the XJ team)