ACM Home Page
Please provide us with feedback. Feedback
FLUX: functional updates for XML
Full text PdfPdf (298 KB)
Source
International Conference on Functional Programming archive
Proceeding of the 13th ACM SIGPLAN international conference on Functional programming table of contents
Victoria, BC, Canada
SESSION: Session 1 table of contents
Pages 3-14  
Year of Publication: 2008
ISBN:978-1-59593-919-7
Also published in ...
Author
James Cheney  University of Edinburgh, Edinburgh, United Kingdom
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 130,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1411204.1411209
What is a DOI?

ABSTRACT

XML database query languages have been studied extensively, but XML database updates have received relatively little attention, and pose many challenges to language design. We are developing an XML update language called FLUX, which stands for FunctionaL Updates for XML, drawing upon ideas from functional programming languages. In prior work, we have introduced a core language for FLUX with a clear operational semantics and a sound, decidable static type system based on regular expression types.

Our initial proposal had several limitations. First, it lacked support for recursive types or update procedures. Second, although a high-level source language can easily be translated to the core language, it is difficult to propagate meaningful type errors from the core language back to the source. Third, certain updates are wellformed yet contain path errors, or "dead" subexpressions which never do any useful work. It would be useful to detect path errors, since they often represent errors or optimization opportunities.

In this paper, we address all three limitations. Specifically, we present an improved, sound type system that handles recursion. We also formalize a source update language and give a translation to the core language that preserves and reflects typability. We also develop a path-error analysis (a form of dead-code analysis) for updates.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
Michael Benedikt, Angela Bonifati, Sergio Flesca, and Avinash Vyas. Verification of tree updates for optimization. In Kousha Etessami and Sriram K. Rajamani, editors, CAV, volume 3576 of Lecture Notes in Computer Science, pages 379--393. Springer, 2005a.
 
4
Michael Benedikt, Angela Bonifati, Sergio Flesca, and Avinash Vyas. Adding updates to XQuery: Semantics, optimization, and static analysis. In Daniela Florescu and Hamid Pirahesh, editors, XIME-P, 2005b.
5
6
 
7
8
 
9
Don Chamberlin and Jonathan Robie. XQuery update facility requirements. W3C Working Draft, June 2005. http://www.w3.org/TR/xquery-update-requirements/.
 
10
Don Chamberlin, Mike Carey, Daniela Florescu, Donald Kossmann, and Jonathan Robie. XQueryP: Programming with XQuery. In XIME-P, 2006.
 
11
Don Chamberlin, Daniela Florescu, Jim Melton, Jonathan Robie, and Jérôme Siméon. XQuery update facility. W3C Candidate Recommendation, March 2008. http://www.w3c.org/TR/xquery-update-10/.
 
12
James Cheney. Lux: A lightweight, statically typed XML update language. In PLAN-X, pages 25--36, 2007.
 
13
James Cheney. Regular expression subtyping for XML query and update languages. In Proceedings of the 17th European Symposium on Programming (ESOP 2008), number 4960 in LNCS, pages 32--46, 2008a.
 
14
James Cheney. Flux: Functional updates for XML. Technical Report 2008. http://www.w3c.org/TR/xquery-update-10/.
 
15
Byron Choi. What are real DTDs like? In WebDB, pages 43--48, 2002.
 
16
J. Clark. XSL transformations (XSLT). W3C Recommendation, November 1999. http://www.w3.org/TR/xslt.
 
17
 
18
Denise Draper, Peter Fankhauser, Mary Fernández, Ashok Malhotra, Kristoffer Rose, Michael Rys, Jérôme Siméon, and ilip Wadler. XQuery 1.0 and XPath 2.0 formal semantics. W3C Recommendation, January 2007. http://www.w3.org/TR/xquery-semantics/.
 
19
20
 
21
Vladimir Gapeyev, Franc¸ois Garillot, and Benjamin C. Pierce. Statically typed document transformation: An Xtatic experience. In Giuseppe Castagna and Mukund Raghavachari, editors, PLAN-X, pages 2--13. BRICS, 2006.
22
 
23
G. Ghelli, K. Rose, and J. Sim´eon. Commutativity analysis in XML update languages. In Dan Suciu and Thomas Schwentick, editors, Proceedings of the 11th International Conference on Database Theory (ICDT 2007), pages 374--388, January 2007a.
 
24
Giorgio Ghelli, Christopher Re, and Jérôme Siméon. XQuery!: An XML query language with side effects. In EDBT Workshops, volume 4254 of Lecture Notes in Computer Science, pages 178--191. Springer, 2006.
 
25
Giorgio Ghelli, Nicola Onose, Kristoffer Rose, and Jérôme Siméon. A better semantics for XQuery with side-effects. In Marcelo Arenas and Michael I. Schwartzbach, editors, DBPL, volume 4797 of Lecture Notes in Computer Science, pages 81--96. Springer, 2007b.
26
27
 
28
 
29
Andreas Laux and Lars Martin. XUpdate - XML update language. http://xmldb-org.sourceforge.net/xupdate/-xupdate-wd.html, September 2000. Work in progress.
 
30
 
31
Anders Møller and Michael I. Schwartzbach. The design space of type checkers for XML transformation languages. In Proceedings of the 10th International Conference on Database Theory (ICDT 2005), pages 17--36, 2005.
 
32
Gargi Sur, Joachim Hammer, and Jérôme Siméon. UpdateX - an XQuery-based language for processing updates in XML. In PLAN-X, 2004.
33
 
34
Guoren Wang, Mengchi Liu, and Li Lu. Extending XML-RL with update. In IDEAS, pages 66--75. IEEE Computer Society, 2003.