World Wide Web Journal - Special issue on XML: principles, tools, and techniques
WWW '99 Proceedings of the eighth international conference on World Wide Web
Typechecking for XML transformers
PODS '00 Proceedings of the nineteenth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Regular expression types for XML
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Extended path expressions of XML
PODS '01 Proceedings of the twentieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Towards static type checking for XSLT
DocEng '01 Proceedings of the 2001 ACM Symposium on Document engineering
Typechecking Top-Down Uniform Unranked Tree Transducers
ICDT '03 Proceedings of the 9th International Conference on Database Theory
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Using YAT to Build a Web Server
WebDB '98 Selected papers from the International Workshop on The World Wide Web and Databases
XDuce: A statically typed XML processing language
ACM Transactions on Internet Technology (TOIT)
CDuce: an XML-centric general-purpose language
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Regular expression pattern matching for XML
Journal of Functional Programming
Information Processing Letters
Types for path correctness of XML queries
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Parametric polymorphism for XML
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
XML type checking with macro tree transducers
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Taxonomy of XML schema languages using formal language theory
ACM Transactions on Internet Technology (TOIT)
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
Parametric polymorphism for XML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Towards practical typechecking for macro tree transducers
DBPL'07 Proceedings of the 11th international conference on Database programming languages
The design space of type checkers for XML transformation languages
ICDT'05 Proceedings of the 10th international conference on Database Theory
Hi-index | 0.00 |
XML data are described by types involving regular expressions. This raises the question of what language feature is convenient for manipulating such data. Previously, we have given an answer to this question by proposing regular expression pattern matching. However, since this construct is derived from ML pattern matching, it does not have an iteration functionality in itself, which makes it cumbersome to process data typed by Kleene stars. In this paper, we propose a novel programming feature regular expression filters. This construct extends the previous proposal by permitting pattern clauses to be closed under arbitrary regular expression operators. This yields many convenient programming idioms such as non-uniform processing of sequences and almost-copying of trees. We further develop a type inference mechanism that obtains (1) types for pattern variables that are locally precise with respect to the type of input values and (2) a type for the result of the whole filter expression that is also locally precise with respect to the types of the body expressions. We discuss how our construct is useful in the practice of XML processing and, in particular, how our type inference is crucial for avoiding changes of programs when types of data to be processed evolve frequently.