|
ABSTRACT
XML transformations are very sensitive to types: XML types describe the tags and attributes of XML elements as well as the number, kind, and order of their sub-elements. Therefore, operations, even simple ones, that modify these features may affect the types of documents. Operations on XML documents are performed by iterators that, to be useful, need to be typed by a kind of polymorphism that goes beyond what currently exists. For this reason these iterators are not programmed but, rather, hard-coded in the languages. However, this approach soon reaches its limits, as the hard-coded iterators cannot cover fairly standard usage scenarios. As a solution to this problem we propose a generic language to define iterators for XML data. This language can either be used as a compilation target (e.g., for XPATH) or it can be grafted on any statically typed host programming language (as long as this has product types) to endow it with XML processing capabilities. We show that our language mostly offers the required degree of polymorphism, study its formal properties, and show its expressiveness and practical impact by providing several usage examples and encodings.
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
|
|
| |
4
|
V. Benzaken, G. Castagna, and C. Miachon. A full pattern-based paradigm for XML query processing. In PADL 05, number 3350 in LNCS, pages 235--252, 2005.
|
| |
5
|
B. Courcelle. Fundamental properties of infinite trees. Theoretical Computer Science, 25:95--169, 1983.
|
| |
6
|
W3C: DTD specifications. http://www.w3.org/TR/REC-xml.
|
| |
7
|
A. Frisch. Regular tree language recognition with static information. In Proc. IFIP Conf. on Theor. Comput. Sci. (TCS). Kleuwer, 2004.
|
 |
8
|
|
| |
9
|
|
 |
10
|
Alain Frisch , Giuseppe Castagna , Véronique Benzaken, Semantic subtyping: Dealing set-theoretically with function, union, intersection, and negation types, Journal of the ACM (JACM), v.55 n.4, p.1-64, September 2008
[doi> 10.1145/1391289.1391293]
|
| |
11
|
Alain Frisch and Haruo Hosoya. Towards practial typechecking for macro tree transducers. In DBPL, 2007.
|
| |
12
|
|
| |
13
|
V. Gapeyev, M. Y. Levin, B. C. Pierce, and A. Schmitt. The Xtatic experience. In PLAN-X, 2005.
|
| |
14
|
H. Hosoya. Regular expression filters for XML. In Programming Languages Technologies for XML (PLAN-X), pages 13--27, 2004.
|
 |
15
|
Haruo Hosoya , Alain Frisch , Giuseppe Castagna, Parametric polymorphism for XML, Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.50-62, January 12-14, 2005, Long Beach, California, USA
|
 |
16
|
|
 |
17
|
|
 |
18
|
|
 |
19
|
|
| |
20
|
M.Y. Levin and B.C. Pierce. Type-based optimization for regular patterns. In DBPL '05, August 2005.
|
 |
21
|
|
| |
22
|
S. Maneth, T. Perst, and H. Seidl. Exact XML type checking in polynomial time. In ICDT, pages 254--268, 2007.
|
| |
23
|
|
| |
24
|
|
| |
25
|
Kim Nguyen. Combinator language for XML: design, typing, and implementation. PhD thesis, Université Paris-Sud 11, 2008.
|
| |
26
|
OASIS Committee Specification: Relax-NG. http://relaxng.org/
|
| |
27
|
M. Sulzmann and K. Zhuo Ming Lu. A type-safe embedding of XDuce into ML. El. Notes Theor. Comp. Sci., 148(2):239--264, 2006.
|
| |
28
|
M. Sulzmann and K. Zhuo Ming Lu. XHaskell. In PLAN-X, 2006.
|
 |
29
|
|
| |
30
|
|
| |
31
|
W3C: XML Schema. http://www.w3.org/XML/Schema.
|
| |
32
|
W3C: XML Path Language Ver. 1.0. http://www.w3.org/TR/xpath.
|
|