Haskell and XML: generic combinators or type-based translation?

We present two complementary approaches to writing XML document-processing applications in a functional language.In the first approach, the generic tree structure of XML documents is used as the basis for the design of a library of combinators for generic processing: selection, generation, and transformation of XML trees.The second approach is to use a type-translation framework for treating XML document type definitions (DTDs) as declarations of algebraic data types, and a derivation of the corresponding functions for reading and writing documents as typed values in Haskell.

[1]  Graham Hutton,et al.  Monadic parsing in Haskell , 1998, Journal of Functional Programming.

[2]  Jon Fairbairn Making form follow function: An exercise in functional programming style , 1987, Softw. Pract. Exp..

[3]  Benedict R. Gaster Records, variants and qualified types , 1998 .

[4]  John Hughes,et al.  Why Functional Programming Matters , 1989, Comput. J..

[5]  Eelco Visser,et al.  Building program optimizers with rewriting strategies , 1998, ICFP '98.

[6]  D. A. Turner,et al.  A new implementation technique for applicative languages , 1979, Softw. Pract. Exp..

[7]  Otto C. Juelich,et al.  On the recursive programming techniques , 1964, CACM.

[8]  Philip Wadler,et al.  Packrat parsing:: simple, powerful, lazy, linear time, functional pearl , 2002, ICFP '02.

[9]  John Hughes,et al.  The Design of a Pretty-printing Library , 1995, Advanced Functional Programming.

[10]  Noel Winstanley,et al.  Reeections on Instance Derivation , 1997 .

[11]  Markus Mohnen,et al.  Context Patterns in Haskell , 1996, Implementation of Functional Languages.

[12]  S. Doaitse Swierstra,et al.  Deterministic, Error-Correcting Combinator Parsers , 1996, Advanced Functional Programming.