ACM Home Page
Please provide us with feedback. Feedback
Regular expression types for XML
Full text PdfPdf (350 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 27 ,  Issue 1  (January 2005) table of contents
Pages: 46 - 90  
Year of Publication: 2005
ISSN:0164-0925
Authors
Haruo Hosoya  The University of Tokyo, Tokyo, Japan
Jérôme Vouillon  CNRS and Denis Diderot University, Paris Cedex, France
Benjamin C. Pierce  University of Pennsylvania, Philadelphia, PA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 178,   Citation Count: 18
Additional Information:

abstract   references   cited by   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/1053468.1053470
What is a DOI?

ABSTRACT

We propose regular expression types as a foundation for statically typed XML processing languages. Regular expression types, like most schema languages for XML, introduce regular expression notations such as repetition (*), alternation (|), etc., to describe XML documents. The novelty of our type system is a semantic presentation of subtyping, as inclusion between the sets of documents denoted by two types. We give several examples illustrating the usefulness of this form of subtyping in XML processing.The decision problem for the subtype relation reduces to the inclusion problem between tree automata, which is known to be EXPTIME-complete. To avoid this high complexity in typical cases, we develop a practical algorithm that, unlike classical algorithms based on determinization of tree automata, checks the inclusion relation by a top-down traversal of the original type expressions. The main advantage of this algorithm is that it can exploit the property that type expressions being compared often share portions of their representations. Our algorithm is a variant of Aiken and Murphy's set-inclusion constraint solver, to which are added several new implementation techniques, correctness proofs, and preliminary performance measurements on some small programs in the domain of typed XML processing.


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
Bray, T., Paoli, J., Sperberg-McQueen, C. M., and Maler, E. 2000. Extensible markup language (XML#8482;). http://www.w3.org/XML/.
5
 
6
 
7
 
8
 
9
 
10
Clark, J. 1999. XSL Transformations (XSLT). http://www.w3.org/TR/xslt.
 
11
Clark, J. 2001. TREX: Tree Regular Expressions for XML. http://www.thaiopensource.com/trex/.
 
12
Clark, J. and Murata, M. 2001. RELAX NG. http://www.relaxng.org.
 
13
 
14
Comon, H., Dauchet, M., Gilleron, R., Jacquemard, F., Lugiez, D., Tison, S., and Tommasi, M. 1999. Tree automata techniques and applications (Draft book; available electronically on http://www.grappa.univ-lille3.fr/tata.)
 
15
 
16
Davidson, A., Fuchs, M., Hedin, M., Jain, M., Koistinen, J., Lloyd, C., Maloney, M., and Schwarzhof, K. 1999. Schema for object-oriented XML. http://www.w3.org/TR/NOTE-SOX/.
 
17
Davies, R. 2000. Tree automata inclusion. Personal communication.
 
18
Deutsch, A., Fernandez, M., Florescu, D., Levy, A., and Suciu, D. 1998. XML-QL: A Query Language for XML. http://www.w3.org/TR/NOTE-xml-ql.
 
19
DOM. 2001. Document object model (DOM). http://www.w3.org/DOM/.
 
20
Fallside, D. C. 2001. XML Schema Part 0: Primer, W3C Recommendation. http://www.w3.org/TR/xmlschema-0/.
 
21
22
 
23
24
 
25
Gilleron, R., Tison, S., and Tommasi, M. 1999. Set constraints and automata. Inf. Comput. 149, 1, 1--41.
 
26
 
27
 
28
Hornung, T. 1996. Labelled trees and their recognition. In Publ. Math. Debrecen. Number 3--4 in 48. 309--316.
 
29
Hosoya, H. 2003. Regular expression pattern matching---A simpler design. Tech. Rep. 1397, RIMS, Kyoto University.
30
 
31
 
32
Klarlund, N., Møller, A., and Schwartzbach, M. I. 2000. DSD: A schema language for XML. http://www.brics.dk/DSD/.
 
33
 
34
Meijer, E. and Shields, M. 1999. XMλ: A functional programming language for constructing and manipulating XML documents. Manuscript.
35
 
36
Murata, M. 2000. Hedge automata: A formal model for XML schemata. http://www.xml.gr.jp/relax/hedge_nice.html.
 
37
Murata, M. 2001. RELAX (REgular LAnguage description for XML). http://www.xml.gr.jp/relax/.
38
 
39
40
41

CITED BY  18

Collaborative Colleagues:
Haruo Hosoya: colleagues
Jérôme Vouillon: colleagues
Benjamin C. Pierce: colleagues