Abstract
We propose X-Fun, a core language for implementing various Xml standards in a uniform manner. X-Fun is a higher-order functional programming language for transforming data trees based on node selection queries. It can support the Xml data model and XPath queries as a special case. We present a lean operational semantics of X-Fun based on a typed lambda calculus that enables its in-memory implementation on top of any chosen path query evaluator. We also discuss compilers from Xslt, XQuery and XProc into X-Fun which cover the many details of these standardized languages. As a result, we obtain in-memory implementations of all these Xml standards with large coverage and high efficiency in a uniform manner from SaXON’s XPath implementation.
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
Arroyuelo, D., et al.: Fast in-memory xpath search using compressed indexes. In: ICDE, pp. 417–428. IEEE (2010)
Castagna, G., Im, H., Nguyen, K., Benzaken, V.: A Core Calculus for XQuery 3.0 (2013) (unpublished manuscript), http://www.pps.univ-paris-diderot.fr/~gc/papers/xqueryduce.pdf
Frisch, A., Nakano, K.: Streaming XML Transformation Using Term Rewriting. In: Programming Language Technologies for XML (PLAN-X), pp. 2–13 (2007)
Fülöp, Z., Vogler, H.: Syntax-Directed Semantics – Formal Models based on Tree Transducers. In: EATCS Monographs in Theoretical CS. Springer (1998)
Hakuta, S., Maneth, S., Nakano, K., Iwasaki, H.: XQuery Streaming by Forest Transducers. In: ICDE, pp. 952–963. IEEE (2014)
Innovimax, INRIA Lille: Quix tools suite, https://project.inria.fr/quix-tool-suite/
Kay, M.: XSL Transformations (XSLT) Version 3.0. W3C Last Call Working Draft (2013), http://www.w3.org/TR/xslt-30
Kepser, S.: A Simple Proof for the Turing-Completeness of XSLT and XQuery. In: Proceedings of the Extreme Markup Languages® (2004)
Labath, P., Niehren, J.: A Functional Language for Hyperstreaming XSLT. Research report (March 2013), http://hal.inria.fr/hal-00806343
Labath, P., Niehren, J.: A Uniform Programming Language for Implementing XML Standards. Research report (January 2015), http://hal.inria.fr/hal-00954692
Neumann, A., Seidl, H.: Locating matches of tree patterns in forests. In: Arvind, V., Sarukkai, S. (eds.) FST TCS 1998. LNCS, vol. 1530, pp. 134–146. Springer, Heidelberg (1998)
Maneth, S., Berlea, A., Perst, T., Seidl, H.: XML type checking with macro tree transducers. In: PODS 2005, pp. 283–294. ACM-Press (2005)
Robie, J., et al.: XQuery 3.0: An XML Query Language. W3C Proposed Recommendation (2013), http://www.w3.org/TR/xquery-30
Saxonica: SAXON 9.5: The XSLT and XQuery Processor, http://saxonica.com
Schmidt, A., et al.: XMark: A Benchmark for XML Data Management. In: In 28th International Conference on VLDB (2002)
Walsh, N.: XML Calabash, http://xmlcalabash.com
Walsh, N., et al.: XProc: An XML Pipeline Language. W3C Recommendation (2010), http://www.w3.org/TR/xproc
Zergaoui, M.: Innovimax: QuiXProc, https://project.inria.fr/quix-tool-suite/quixproc/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Labath, P., Niehren, J. (2015). A Uniform Programmning Language for Implementing XML Standards. In: Italiano, G.F., Margaria-Steffen, T., Pokorný, J., Quisquater, JJ., Wattenhofer, R. (eds) SOFSEM 2015: Theory and Practice of Computer Science. SOFSEM 2015. Lecture Notes in Computer Science, vol 8939. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-46078-8_45
Download citation
DOI: https://doi.org/10.1007/978-3-662-46078-8_45
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-46077-1
Online ISBN: 978-3-662-46078-8
eBook Packages: Computer ScienceComputer Science (R0)