MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A Typeful and Tagless Representation for XML Documents ⋆

Download:
Download as a PDF
by Dengping Zhu, Hongwei Xi
http://www.church-project.org/reports/electronic/./Zhu+Xi:APLAS-2003.pdf.gz
Add To MetaCart

Abstract:

Abstract. When constructing programs to process XML documents, we immediately face the question as to how XML documents should be represented internally in the programming language we use. Currently, most representations for XML documents are typeless in the sense that the type information of an XML document cannot be reflected in the type of the representation of the document (if the representation is assumed to be typed). Though convenient to construct, a typeless representation for XML documents often makes use of a large number of representation tags, which not only require some significant amount of space to store but may also incur numerous run-time tag checks when the represented documents are processed. Moreover, with a typeless representation for XML documents, it becomes difficult or even impossible to statically capture program invariants that are related to the type information of XML documents. Building upon our recent work on guarded recursive datatypes, we present an approach to representing XML documents in this paper that not only allows the type information of an XML document to be reflected in the type of the representation of the document but also significantly reduces the need for representation tags that are required in typeless representations. With this approach, we become able to process XML documents in a typeful manner, thus reaping various well-known software engineering benefits from the presence of types. 1

Citations

1463 The definition of Standard ML – Milner, Tofte, et al. - 1990
212 Dependent types in practical programming – Xi, Pfenning - 1999
200 Web Consortium. Extensible Markup Language – Wide - 1997
114 Typechecking for XML transformers – Milo, Suciu, et al.
110 XDuce: A typed XML processing language – Hosoya, Pierce
74 Guarded recursive datatype constructors – Xi, Chen, et al. - 2003
65 Haskell and xml: generic combinators or type-based translation – Wallace, Runciman - 1999
44 The Essence of XML – Sim'eon, Wadler - 2003
40 XMλ: A Functional Language for Constructing and Manipulating XML Documents – Meijer, Shields - 1999
33 A typed representation for HTML and XML documents in Haskell – Thiemann - 1999
28 et al.: Haskell 98 - A Non-strict, Purely Functional Language, Available at http://www.haskell.org/onlinereport – Jones, S - 1999
15 Scripting XML with Generic Haskell – Atanassow, Clarke, et al. - 2003
14 Web Consortium: XML Schema Part 1: Structures – Wide
14 Web Consortium: XML Schema Part 2: Datatypes – Wide
5 Generic Programming for XML Tools – Jeuring, Hagg - 2002
1 Generic Haskell. Available at: http://www.generic-haskell.org – Clarke, Hinze, et al.