Skip to main content

A Uniform Programmning Language for Implementing XML Standards

  • Conference paper
Book cover SOFSEM 2015: Theory and Practice of Computer Science (SOFSEM 2015)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8939))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arroyuelo, D., et al.: Fast in-memory xpath search using compressed indexes. In: ICDE, pp. 417–428. IEEE (2010)

    Google Scholar 

  2. 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

  3. Frisch, A., Nakano, K.: Streaming XML Transformation Using Term Rewriting. In: Programming Language Technologies for XML (PLAN-X), pp. 2–13 (2007)

    Google Scholar 

  4. Fülöp, Z., Vogler, H.: Syntax-Directed Semantics – Formal Models based on Tree Transducers. In: EATCS Monographs in Theoretical CS. Springer (1998)

    Google Scholar 

  5. Hakuta, S., Maneth, S., Nakano, K., Iwasaki, H.: XQuery Streaming by Forest Transducers. In: ICDE, pp. 952–963. IEEE (2014)

    Google Scholar 

  6. Innovimax, INRIA Lille: Quix tools suite, https://project.inria.fr/quix-tool-suite/

  7. Kay, M.: XSL Transformations (XSLT) Version 3.0. W3C Last Call Working Draft (2013), http://www.w3.org/TR/xslt-30

  8. Kepser, S.: A Simple Proof for the Turing-Completeness of XSLT and XQuery. In: Proceedings of the Extreme Markup Languages® (2004)

    Google Scholar 

  9. Labath, P., Niehren, J.: A Functional Language for Hyperstreaming XSLT. Research report (March 2013), http://hal.inria.fr/hal-00806343

  10. Labath, P., Niehren, J.: A Uniform Programming Language for Implementing XML Standards. Research report (January 2015), http://hal.inria.fr/hal-00954692

  11. 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)

    Chapter  Google Scholar 

  12. Maneth, S., Berlea, A., Perst, T., Seidl, H.: XML type checking with macro tree transducers. In: PODS 2005, pp. 283–294. ACM-Press (2005)

    Google Scholar 

  13. Robie, J., et al.: XQuery 3.0: An XML Query Language. W3C Proposed Recommendation (2013), http://www.w3.org/TR/xquery-30

  14. Saxonica: SAXON 9.5: The XSLT and XQuery Processor, http://saxonica.com

  15. Schmidt, A., et al.: XMark: A Benchmark for XML Data Management. In: In 28th International Conference on VLDB (2002)

    Google Scholar 

  16. Walsh, N.: XML Calabash, http://xmlcalabash.com

  17. Walsh, N., et al.: XProc: An XML Pipeline Language. W3C Recommendation (2010), http://www.w3.org/TR/xproc

  18. Zergaoui, M.: Innovimax: QuiXProc, https://project.inria.fr/quix-tool-suite/quixproc/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics