A Runtime System for XML Transformations in Java

We show that it is possible to extend a general-purpose programming language with a convenient high-level data-type for manipulating XML documents while permitting (1) precise static analysis for guaranteeing validity of the constructed XML documents relative to the given DTD schemas, and (2) a run-time system where the operations can be performed efficiently. The system, named XACT, is based on a notion of immutable XML templates and uses XPath for deconstructing documents. A companion paper presents the program analysis; this paper focuses on the efficient runtime representation.

[1]  Kim G. Larsen,et al.  Regular languages definable by Lindström quantifiers , 2003, RAIRO Theor. Informatics Appl..

[2]  Rajesh Bordawekar,et al.  XJ: integration of XML processing into java , 2004, WWW Alt. '04.

[3]  Volker Linnemann,et al.  Type Checking in XOBE , 2003, BTW.

[4]  Jeffrey D. Ullman,et al.  Monotone data flow analysis frameworks , 1977, Acta Informatica.

[5]  Reinhard Wilhelm,et al.  Parametric shape analysis via 3-valued logic , 2002, TOPL.

[6]  Joshua J. Bloch Effective Java : programming language guide , 2001 .

[7]  Peter Thiemann,et al.  WASH/CGI: Server-Side Web Scripting with Sessions and Typed, Compositional Forms , 2002, PADL.

[8]  Olivier Danvy,et al.  An Operational Foundation for Delimited Continuations in the CPS Hierarchy , 2005, Log. Methods Comput. Sci..

[9]  Philipp Gerhardy A Quantitative Version of Kirk's Fixed Point Theorem for Asymptotic Contractions , 2004 .

[10]  Benjamin C. Pierce,et al.  Xduce: a typed xml processing language , 1997 .

[11]  Benjamin C. Pierce,et al.  XDuce: A statically typed XML processing language , 2003, TOIT.

[12]  Luca Aceto,et al.  Nested Semantics over Finite Trees are Equationally Hard: Invited Talk , 2003, EXPRESS.

[13]  S. Boag,et al.  XQuery 1.0 : An XML query language, W3C Working Draft 12 November 2003 , 2003 .

[14]  Eric Allman A Conversation with James Gosling , 2004 .

[15]  C. M. Sperberg-McQueen,et al.  eXtensible Markup Language (XML) 1.0 (Second Edition) , 2000 .

[16]  Christian Kirkegaard,et al.  Static analysis of XML transformations in Java , 2003, IEEE Transactions on Software Engineering.

[17]  Benjamin C. Pierce,et al.  XDuce: A Typed XML Processing Language (Preliminary Report) , 2000, WebDB.

[18]  Aske Simon Christensen,et al.  Static Analysis for Dynamic XML , 2002 .

[19]  Elliote Rusty Harold Processing Xml with Java , 2002 .

[20]  Giuseppe Castagna,et al.  CDuce: an XML-centric general-purpose language , 2003, ACM SIGPLAN Notices.

[21]  Benjamin C. Pierce,et al.  XML Goes Native: Run-Time Representations for Xtatic , 2005, CC.

[22]  Ulrich Kohlenbach,et al.  Some logical metatheorems with applications in functional analysis , 2003 .

[23]  Olivier Danvy,et al.  A functional correspondence between monadic evaluators and abstract machines for languages with computational effects , 2003, Theor. Comput. Sci..

[24]  William M. Waite,et al.  An efficient machine-independent procedure for garbage collection in various list structures , 1967, CACM.

[25]  Benjamin C. Pierce,et al.  Regular Object Types , 2003, ECOOP.

[26]  James Clark,et al.  XSL Transformations (XSLT) Version 1.0 , 1999 .

[27]  Reinhard Wilhelm,et al.  Parametric shape analysis via 3-valued logic , 1999, POPL '99.

[28]  Steven J. DeRose,et al.  XML Path Language (XPath) , 1999 .

[29]  Georg Gottlob,et al.  XPath query evaluation: improving time and space efficiency , 2003, Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405).

[30]  John C. Reynolds,et al.  Intuitionistic reasoning about shared mutable data structure , 1999 .

[31]  Thomas Ball,et al.  Mawl: A Domain-Specific Language for Form-Based Services , 1999, IEEE Trans. Software Eng..

[32]  Olivier Danvy,et al.  Fast partial evaluation of pattern matching in strings , 2003, PEPM '03.

[33]  Claus Brabrand,et al.  The bigwig Project , 2000 .

[34]  Aske Simon Christensen,et al.  Extending Java for high-level Web service construction , 2002, TOPL.

[35]  Olivier Danvy,et al.  A functional correspondence between call-by-need evaluators and lazy abstract machines , 2003, Inf. Process. Lett..

[36]  M. Goldberg On the Recursive Enumerability of Fixed-Point Combinators , 2004 .

[37]  Colin Runciman,et al.  Haskell and XML: generic combinators or type-based translation? , 1999, ICFP '99.

[38]  Margarita V. Korovina Recent Advances in Σ-definability over Continuous Data Types , 2003 .

[39]  J. Christopher Ramming,et al.  Programming the Web: An Application-Oriented Language for Hypermedia Service Programming , 1996, World Wide Web journal.

[40]  Christian Kirkegaard,et al.  A Runtime System for XML Transformations in Java , 2003 .

[41]  Ivan Damgård,et al.  Scalable Key-Escrow , 2003 .

[42]  Claus Brabrand,et al.  Static validation of dynamically generated HTML , 2001, PASTE '01.

[43]  Philipp Gerhardy,et al.  Strongly uniform bounds from semi-constructive proofs , 2004, Ann. Pure Appl. Log..