Affiliation:
1. Kyoto University, Kyoto, Japan
2. University of Pennsylvania, Philadelphia, PA
Abstract
XDuce is a statically typed programming language for XML processing. Its basic data values are XML documents, and its types (so-called
regular expression types
) directly correspond to document schemas. XDuce also provides a flexible form of
regular expression pattern matching
, integrating conditional branching, tag checking, and subtree extraction, as well as dynamic typechecking. We survey the principles of XDuce's design, develop examples illustrating its key features, describe its foundations in the theory of regular tree automata, and present a complete formal definition of its core, along with a proof of type safety.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Networks and Communications
Reference48 articles.
1. The Lorel query language for semistructured data;Abiteboul S.;Int. J. Dig. Lib.,1997
2. Asami T. 2000. Relaxer. http://www.asahi-net.or.jp/˜dp8t-asm/java/tools/Relaxer/index.html.]] Asami T. 2000. Relaxer. http://www.asahi-net.or.jp/˜dp8t-asm/java/tools/Relaxer/index.html.]]
3. Bourret R. 2001. XML data binding resources. http://www.rpbourret.com/xml/XMLData-Binding.htm.]] Bourret R. 2001. XML data binding resources. http://www.rpbourret.com/xml/XMLData-Binding.htm.]]
4. The project
Cited by
156 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Core Calculus for Documents: Or, Lambda: The Ultimate Document;Proceedings of the ACM on Programming Languages;2024-01-05
2. Multi-model query languages: taming the variety of big data;Distributed and Parallel Databases;2023-05-31
3. A Bowtie for a Beast: Overloading, Eta Expansion, and Extensible Data Types in F⋈;Proceedings of the ACM on Programming Languages;2023-01-09
4. String Test Data Generation for Java Programs;2022 IEEE 33rd International Symposium on Software Reliability Engineering (ISSRE);2022-10
5. Set-theoretic Types for Erlang;Proceedings of the 34th Symposium on Implementation and Application of Functional Languages;2022-08-31