Skip to main content

UUXML: A Type-Preserving XML Schema–Haskell Data Binding

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2004)

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

Included in the following conference series:

Abstract

An XML data binding is a translation of XML documents into values of some programming language. This paper discusses a type-preserving XML–Haskell data binding that handles documents typed by the W3C XML Schema standard. Our translation is based on a formal semantics of Schema, and has been proved sound with respect to the semantics. We also show a program in Generic Haskell that constructs parsers specialized to a particular Schema type.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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.

Similar content being viewed by others

References

  1. Atanassow, F., Clarke, D., Jeuring, J.: Scripting XML with Generic Haskell. Technical Report UU-CS-2003, Utrecht University (2003)

    Google Scholar 

  2. Atanassow, F., Jeuring, J.: Inferring type isomorphisms generically. In: Kozen, D. (ed.) MPC 2004. LNCS, vol. 3125, pp. 32–53. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  3. Baars, A.I., Löh, A., Swierstra, S.D.: Parsing permutation phrases. In: Hinze, R. (ed.) Proceedings of the 2001 ACM SIGPLAN Haskell Workshop, pp. 171–182. Elsevier, Amsterdam (2001)

    Google Scholar 

  4. Brown, A., Fuchs, M., Robie, J., Wadler, P.: MSL: A model for W3C XML Schema. In: Proc. WWW10 (May 2001)

    Google Scholar 

  5. Cluet, S., Siméon, J.: YATL: a functional and declarative language for XML (2000)

    Google Scholar 

  6. Coelho, J., Florido, M.: Type-based XML processing in logic programming. In: Dahl, V., Wadler, P. (eds.) PADL 2003. LNCS, vol. 2562, pp. 273–285. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  7. Flynn, P.: Understanding SGML and XML Tools. Kluwer Academic Publishers, Dordrecht (1998)

    Google Scholar 

  8. Gapeyev, V., Pierce, B.C.: Regular object types. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003)

    Google Scholar 

  9. Garshol, L.M.: Free XML tools and software, Available from http://www.garshol.priv.no/download/xmltools/

  10. Google. Web Directory on XML tools, http://www.google.com/

  11. Hinze, R., Jeuring, J.: Generic Haskell: practice and theory (2003) (to appear)

    Google Scholar 

  12. Hosoya, H., Pierce, B.C.: XDuce: A typed XML processing language. In: Suciu, D., Vossen, G. (eds.) WebDB 2000. LNCS, vol. 1997, pp. 226–244. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  13. Hutton, G., Meijer, E.: Monadic parser combinators. Journal of Functional Programming 8(4), 437–444 (1996)

    Article  Google Scholar 

  14. Kiselyov, O., Krishnamurti, S.: SXSLT: manipulation language for XML. In: Dahl, V., Wadler, P. (eds.) PADL 2003. LNCS, vol. 2562, pp. 226–272. Springer, Heidelberg (2002)

    Google Scholar 

  15. Leijen, D., Meijer, E.: Domain specific embedded compilers. In: Second USENIX Conference on Domain Specific Languages (DSL 1999), Austin, Texas, October 1999, pp. 109–122 (1999); USENIX Association. Also appeared in ACM SIGPLAN Notices 35(1) (January 2000)

    Google Scholar 

  16. McLaughlin, B.: Java & XML data binding. O’Reilly, Sebastopol (2003)

    Google Scholar 

  17. Meijer, E., Shields, M.: XMLambda: A functional language for constructing and manipulating XML documents (1999), Available from http://www.cse.ogi.edu/~mbs/

  18. Metz, E., Brookes, A.: XML data binding. Dr. Dobb’s Journal, 26–36 (March 2003)

    Google Scholar 

  19. OASIS. RELAX NG (2001), http://www.relaxng.org

  20. Shields, M., Meijer, E.: Type-indexed rows. In: The 28th Annual ACM SIGPLAN - SIGACT Symposium on Principles of Programming Languages, pp. 261–275 (2001), Also available from http://www.cse.ogi.edu/~mbs/

  21. Siméon, J., Wadler, P.: The essence of XML. In: Proc. POPL 2003 (2003)

    Google Scholar 

  22. Thiemann, P.: A typed representation for HTML and XML documents in Haskell. Journal of Functional Programming 12(4&5), 435–468 (2002)

    MATH  MathSciNet  Google Scholar 

  23. W3C. XML 1.0 (1998), http://www.w3.org/XML/

  24. W3C. XSL Transformations 1.0 (1999), http://www.w3.org/TR/xslt

  25. W3C. XML Schema: Formal description (2001), http://www.w3.org/TR/xmlschema-formal

  26. W3C. XML Schema part 0: Primer (2001), http://www.w3.org/TR/xmlschema-0

  27. W3C. XML Schema part 1: Structures (2001), http://www.w3.org/TR/xmlschema-1

  28. W3C. XML Schema part 2: Datatypes (2001), http://www.w3.org/TR/xmlschema-2

  29. Wallace, M., Runciman, C.: Haskell and XML: Generic combinators or type-based translation? In: International Conference on Functional Programming, pp. 148–159 (1999)

    Google Scholar 

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

Atanassow, F., Clarke, D., Jeuring, J. (2004). UUXML: A Type-Preserving XML Schema–Haskell Data Binding. In: Jayaraman, B. (eds) Practical Aspects of Declarative Languages. PADL 2004. Lecture Notes in Computer Science, vol 3057. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24836-1_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24836-1_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22253-8

  • Online ISBN: 978-3-540-24836-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics