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.
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
Atanassow, F., Clarke, D., Jeuring, J.: Scripting XML with Generic Haskell. Technical Report UU-CS-2003, Utrecht University (2003)
Atanassow, F., Jeuring, J.: Inferring type isomorphisms generically. In: Kozen, D. (ed.) MPC 2004. LNCS, vol. 3125, pp. 32–53. Springer, Heidelberg (2004)
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)
Brown, A., Fuchs, M., Robie, J., Wadler, P.: MSL: A model for W3C XML Schema. In: Proc. WWW10 (May 2001)
Cluet, S., Siméon, J.: YATL: a functional and declarative language for XML (2000)
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)
Flynn, P.: Understanding SGML and XML Tools. Kluwer Academic Publishers, Dordrecht (1998)
Gapeyev, V., Pierce, B.C.: Regular object types. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003)
Garshol, L.M.: Free XML tools and software, Available from http://www.garshol.priv.no/download/xmltools/
Google. Web Directory on XML tools, http://www.google.com/
Hinze, R., Jeuring, J.: Generic Haskell: practice and theory (2003) (to appear)
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)
Hutton, G., Meijer, E.: Monadic parser combinators. Journal of Functional Programming 8(4), 437–444 (1996)
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)
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)
McLaughlin, B.: Java & XML data binding. O’Reilly, Sebastopol (2003)
Meijer, E., Shields, M.: XMLambda: A functional language for constructing and manipulating XML documents (1999), Available from http://www.cse.ogi.edu/~mbs/
Metz, E., Brookes, A.: XML data binding. Dr. Dobb’s Journal, 26–36 (March 2003)
OASIS. RELAX NG (2001), http://www.relaxng.org
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/
Siméon, J., Wadler, P.: The essence of XML. In: Proc. POPL 2003 (2003)
Thiemann, P.: A typed representation for HTML and XML documents in Haskell. Journal of Functional Programming 12(4&5), 435–468 (2002)
W3C. XML 1.0 (1998), http://www.w3.org/XML/
W3C. XSL Transformations 1.0 (1999), http://www.w3.org/TR/xslt
W3C. XML Schema: Formal description (2001), http://www.w3.org/TR/xmlschema-formal
W3C. XML Schema part 0: Primer (2001), http://www.w3.org/TR/xmlschema-0
W3C. XML Schema part 1: Structures (2001), http://www.w3.org/TR/xmlschema-1
W3C. XML Schema part 2: Datatypes (2001), http://www.w3.org/TR/xmlschema-2
Wallace, M., Runciman, C.: Haskell and XML: Generic combinators or type-based translation? In: International Conference on Functional Programming, pp. 148–159 (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
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