Static Analysis of XML Transformations in Java
Christian Kirkegaard
May 2003 |
Abstract:
XML documents generated dynamically by programs are typically
represented as text strings or DOM trees. This is a low-level approach for
several reasons: 1) Traversing and modifying such structures can be tedious
and error prone; 2) Although schema languages, e.g. DTD, allow classes of
XML documents to be defined, there are generally no automatic mechanisms for
statically checking that a program transforms from one class to another as
intended. We introduce XACT, a high-level approach for Java using XML
templates as a first-class data type with operations for manipulating XML
values based on XPath. In addition to an efficient runtime representation,
the data type permits static type checking using DTD schemas as types. By
specifying schemas for the input and output of a program, our algorithm will
statically verify that valid input data is always transformed into valid
output data and that no errors occur during processing
Available as PostScript, PDF. |