Abstract
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 runtime 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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Atkins, D., Ball, T., Bruns, G., Cox, K.: Mawl: a domain-specific language for form-based services. IEEE Transactions on Software Engineering 25(3), 334–346 (1999)
Benzaken, V., Castagna, G., Frisch, A.: CDuce: An XML-centric general purpose language. In: Proc. 8th ACM International Conference on Functional Programming, ICFP (August 2003)
Bloch, J.: Effective Java Programming Language Guide. Addison-Wesley, Reading (June 2001)
XQuery 1.0: An XML query language, W3C Working Draft (November 2003), http://www.w3.org/TR/xquery/
Brabrand, C., Møller, A., Schwartzbach, M.I.: The <bigwig> project. ACM Transactions on Internet Technology 2(2), 79–114 (2002)
Christensen, A.S., Møller, A., Schwartzbach, M.I.: Extending Java for high-level Web service construction. ACM Transactions on Programming Languages and Systems 25(6), 814–875 (2003)
Clark, J.: XSL transformations (XSLT) specification, W3C Recommendation (November 1999), http://www.w3.org/TR/xslt
Clark, J., DeRose, S.: XML path language, W3C Recommendation (November 1999), http://www.w3.org/TR/xpath
DataPower. XSLTMark (2001), http://www.datapower.com/xmldev/xsltmark.html
Gapayev, V., Pierce, B.C.: Regular object types. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003)
Gapeyev, V., Levin, M.Y., Pierce, B.C., Schmitt, A.: XML goes native: Run-time representations for Xtatic (2004)
Gottlob, G., Koch, C., Pichler, R.: XPath query evaluation: Improving time and space efficiency. In: Proc. 19th International Conference on Data Engineering, ICDE 2003, IEEE Computer Society, Los Alamitos (2003)
Harold, E.R.: Processing XML with Java. Addison-Wesley, Reading (November 2002)
Harren, M., Raghavachari, M., Shmueli, O., Burke, M., Sarkar, V., Bordawekar, R.: XJ: Integration ofXMLprocessing into Java. Technical Report RC23007, IBM Research (2003)
Hosoya, H., Pierce, B.C.: XDuce: A typed XML processing language. In: Suciu, D., Vossen, G. (eds.) WebDB 2000. LNCS, vol. 1997, p. 226. Springer, Heidelberg (2001)
Hosoya, H., Pierce, B.C.: XDuce: A statically typed XML processing language. ACM Transactions on Internet Technology 3(2) (2003)
Hunter, J., McLaughlin, B.: JDOM ( 2004), http://jdom.org/
Kay. M.: XSL transformations (XSLT) version 2.0, W3C Working Draft (May 2003), http://www.w3.org/TR/xslt20/
Kempa, M., Linnemann, V.: Type checking in XOBE. In: GI 1974. LNI, vol. 26 ( February 2003)
Kirkegaard, C., Møller, A., Schwartzbach, M.I.: Static analysis of XML transformations in Java. IEEE Transactions on Software Engineering 30(3), 181–192 (2004)
McWhirter, B., et al.: Jaxen (December 2003), http://jaxen.org/
Meijer, E., Schulte, W., Bierman, G.: Programming with rectangles, triangles, and circles. In: Proc. XML Conference and Exposition, XML 2003 (December 2003)
Reynolds, J.C.: Intuitionistic reasoning about shared mutable data structure. In: Davies, J., Roscoe, B., Woodcock, J. (eds.) Millennial Perspectives in Computer Science, Proc. 1999 Oxford–Microsoft Symposium in Honour of Sir Tony Hoare, Palgrave, pp. 303–321 (November 2000)
Sagiv, S., Reps, T.W., Wilhelm, R.: Parametric shape analysis via 3- valued logic. ACM Transactions on Programming Languages and Systems 24(3), 217–298 (2002)
Schorr, H., Waite, W.M.: An efficient machine independent procedure for garbage collection in various list structures. Communications of the ACM 10(8), 501–506 (1967)
Venners, B.: A conversation with James Gosling. JavaWorld (June 2001)
Wallace, M., Runciman, C.: Haskell and XML: Generic combinators or typebased translation. In: Proc. 5th ACM SIGPLAN International Conference on Functional Programming, ICFP 1999 (September 1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Christensen, A.S., Kirkegaard, C., Møller, A. (2004). A Runtime System for XML Transformations in Java. In: Bellahsène, Z., Milo, T., Rys, M., Suciu, D., Unland, R. (eds) Database and XML Technologies. XSym 2004. Lecture Notes in Computer Science, vol 3186. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30081-6_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-30081-6_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22969-8
Online ISBN: 978-3-540-30081-6
eBook Packages: Springer Book Archive