Skip to main content

An Implementation Scheme for XML Transformation Languages Through Derivation of Stream Processors

  • Conference paper
Programming Languages and Systems (APLAS 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3302))

Included in the following conference series:

Abstract

We propose a new implementation scheme for XML transformation languages through derivation of stream processors. Most of XML transformation languages are implemented as tree manipulation, where input XML trees are completely stored in memory. It leads to inefficient memory usage in particular when we apply a facile transformation to large-sized inputs. In contrast, XML stream processing can minimize memory usage and execution time since it begins to output the transformation result before reading the whole input. However, it is much harder to program XML stream processors than to specify tree manipulations because stream processing frequently requires ‘stateful programming’. This paper proposes an implementation scheme for XML transformation languages, in which we can define an XML transformation as tree manipulation and also we can obtain an XML stream processor automatically. The implementation scheme employs a framework of a composition of attribute grammars.

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. Altinel, M., Franklin, M.J.: Efficient filtering of XML documents for selective dissemination of information. In: International Conference on Very Large Databases (2000)

    Google Scholar 

  2. Benedikt, M., Chan, C.Y., Fan, W., Rastogi, R., Zheng, S., Zhou, A.: Dtd-directed publishing with attribute translation grammars. In: International Conference on Very Large Databases (2002)

    Google Scholar 

  3. Benzaken, V., Castagna, G., Frisch, A.: CDuce: an XML-centric general-purpose language. In: International Conference on Functional Programming. ACM Press, New York (2003)

    Google Scholar 

  4. Diao, Y., Fischer, P., Franklin, M.J., To, R.: YFilter: Efficient and scalable filtering of XML documents. In: International Conference on Data Engineering (2002)

    Google Scholar 

  5. Expat XML: parser, http://expat.sourceforge.net

  6. Fülöp, Z.: On attributed tree transducers. Acta Cybernetica 5, 261–280 (1980)

    MathSciNet  Google Scholar 

  7. Fülöp, Z., Vogler, H.: Syntax-directed semantics—Formal models based on tree transducers. In: Monographs in Theoretical Computer Science. Springer, Heidelberg (1998)

    Google Scholar 

  8. Ganzinger, H., Giegerich, R.: Attribute coupled grammars. In: Symposium on Compiler Construction. SIGPLAN Notices (1984)

    Google Scholar 

  9. Green, T.J., Miklau, G., Onizuka, M., Suciu, D.: Processing XML streams with deterministic automata. In: Calvanese, D., Lenzerini, M., Motwani, R. (eds.) ICDT 2003. LNCS, vol. 2572, pp. 173–189. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  10. Hosoya, H., Pierce, B.C.: XDuce: A statically typed XML processing language. ACM Transactions on Internet Technology 3(2), 117–148 (2003)

    Article  Google Scholar 

  11. Kiselyov, O.: A better XML parser through functional programming. In: Krishnamurthi, S., Ramakrishnan, C.R. (eds.) PADL 2002. LNCS, vol. 2257, p. 209. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  12. Knuth, D.E.: Semantics of context-free languages. Mathematical Systems Theory 2(2) (1968)

    Google Scholar 

  13. Koch, C., Scherzinger, S.: Attribute grammars for scalable query processing on XML streams. In: International Workshop on Database Programming Languages (2003)

    Google Scholar 

  14. Kühnemann, A.: Berechnungsstärken von Teilklassen primitiv-rekursiver Programmschemata. PhD thesis, Technical University of Dresden. Shaker Verlag, Aachen (1997)

    Google Scholar 

  15. Ludäscher, B., Mukhopadhayn, P., Papakonstantinou, Y.: A transducer-based XML query processor. In: International Conference on Very Large Databases (2002)

    Google Scholar 

  16. Nakano, K.: Composing stack-attributed tree transducers. Technical Report METR–2004–01. Department of Mathematical Informatics, University of Tokyo, Japan (2004)

    Google Scholar 

  17. Nakano, K., Nishimura, S.: Deriving event-based document transformers from tree-based specifications. In: Workshop on Language Descriptions, Tools and Applications. Electronic Notes in Theoretical Computer Science, vol. 44(2) (2001)

    Google Scholar 

  18. Neven, F.: Extensions of attribute grammars for structured document queries. In: Connor, R.C.H., Mendelzon, A.O. (eds.) DBPL 1999. LNCS, vol. 1949, p. 99. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  19. Nishimura, S., Nakano, K.: XML stream transformer generation through program composition and dependency analysis. Science of Computer Programming (to appear)

    Google Scholar 

  20. The Caml language homepage, http://caml.inria.fr/

  21. Olteanu, D., Meuss, H., Furche, T., Bry, F.: XPath: Looking forward. In: Chaudhri, A.B., Unland, R., Djeraba, C., Lindner, W. (eds.) EDBT 2002. LNCS, vol. 2490, pp. 109–127. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  22. SAX: The simple API for XML, http://www.saxproject.org/

  23. SAXON: The XSLT and XQuery processor, http://saxon.sourceforge.net/

  24. XML path language (XPath), http://www.w3c.org/TR/xpath/

  25. XSL transformations (XSLT), http://www.w3c.org/TR/xslt/

  26. Xalan-Java homepage, http://xml.apache.org/xalan-j/

  27. XP++: XML processing plus plus. dfdfdsfdsaf, http://www.alphaworks.ibm.com/tech/xmlprocessingplusplus

  28. XQuery 1.0: An XML query language, http://www.w3.org/TR/xquery/

  29. XTiSP: An implementation framework of XML transformation languages intended for stream processing, http://xtisp.psdlab.org/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nakano, K. (2004). An Implementation Scheme for XML Transformation Languages Through Derivation of Stream Processors. In: Chin, WN. (eds) Programming Languages and Systems. APLAS 2004. Lecture Notes in Computer Science, vol 3302. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30477-7_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30477-7_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23724-2

  • Online ISBN: 978-3-540-30477-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics