Issue No.03 - March (2004 vol.30)
<p><b>Abstract</b>—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 X<scp>act</scp>, 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 analysis algorithm will statically verify that valid input data is always transformed into valid output data and that the operations are used consistently.</p>
Language constructs and features, markup languages, requirements/specifications.
Christian Kirkegaard, Anders M?ller, Michael I. Schwartzbach, "Static Analysis of XML Transformations in Java", IEEE Transactions on Software Engineering, vol.30, no. 3, pp. 181-192, March 2004, doi:10.1109/TSE.2004.1271173