Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Regular expression types for XML

Published: 01 September 2000 Publication History
  • Get Citation Alerts
  • Abstract

    We propose regular expression types as a foundation for XML processing languages. Regular expression types are a natural generalization of Document Type Definitions (DTDs), describing structures in XML documents using regular expression operators (i.e., *, ?, |, etc.) and supporting a simple but powerful notion of subtyping.The decision problem for the subtype relation is EXPTIME-hard, but it can be checked quite efficiently in many cases of practical interest. The subtyping algorithm developed here is a variant of Aiken and Murphy's set-inclusion constraint solver, to which are added several optimizations and two new properties: (1) our algorithm is provably complete, and (2) it allows a useful "subtagging" relation between nodes with different labels in XML trees.

    References

    [1]
    A. Aiken and B. R. Murphy. Implementing regular tree expressions. In J. Hughes, editor, Functional Programming Languages and Computer Architecture1991, volume 523 of Lecture Notes in Computer Science. Springer-Verlag, 1991.]]
    [2]
    A. Aiken and E. L. Wimmers. Solving systems of set constraints (extended abstract). In Proceedings, Seventh Annual IEEE Symposium on Logic in Computer Science, pages 329{340, Santa Cruz, California, 22-25 June 1992. IEEE Computer Society Press.]]
    [3]
    R. M. Amadio and L. Cardelli. Subtyping recursive types. ACM Transactions on Programming Languages and Systems, 15(4):575-631, 1993. Preliminary version in POPL '91 (pp. 104-118); also DEC Systems Research Center Research Report number 62, August 1990.]]
    [4]
    Amy Felty, Elsa Gunter, John Hannan, Dale Miller, Gopalan Nadathur and A. Scedrov. Lambda prolog: An extended logic programming language. In E. L. R. Overbeek, editor, Proceedings on the 9th International Conference onAutomated Deduction, volume 310 of LNCS, pages 754-755, Berlin, May 1988. Springer.]]
    [5]
    L. Augustsson. Cayenne | a language with dependent types. In Proceedings of the ACM SIGPLAN International Conference onFunctional Programming (ICFP '98), volume 34(1) of ACM SIGPLAN Notices, pages 239-250. ACM, June 1999.]]
    [6]
    M. Brandt and F. Henglein. Coinductive axiomatization of recursive type equality and subtyping. In R. Hindley, editor, Proc. 3d Int'l Conf. on Typed Lambda Calculi and Applications (TLCA), Nancy, France, April 2-4, 1997, volume 1210 of Lecture Notes in Computer Science (LNCS), pages 63-81. Springer-Verlag, Apr. 1997. Full version in Fundamenta Informaticae, Vol. 33, pp. 309-338, 1998.]]
    [7]
    P. Buneman and B. Pierce. Union types for semistructured data. In Proceedings of the International Database Programming Languages Workshop, Sept. 1999. Also available as University of Pennsylvania Dept. of CIS technical report MS-CIS-99-09.]]
    [8]
    S. S. Chawathe. Comparing hierarchical data in external memory. InProceedings of the Twenty-~fth International Conference onVery Large Data Bases, pages 90-101, Edinburgh, Scotland, U.K., Sept. 1999.]]
    [9]
    S. Cluet and J. Simeon. Using YAT tobuildaweb server. In Intl. Workshop on the Web and Databases (WebDB), 1998.]]
    [10]
    H. Common, M. Dauchet, R. Gilleron, F. Jacquemard, D. Lugiez, S. Tison, and M. Tommasi. Tree automata techniques and applications. Draft book; available electronically on http:// www.grappa.univ-lille3.fr/tata.]]
    [11]
    M. Fahndrich and A. Aiken. Making set-constraint program analyses scale. Technical Report CSD-96-917, University of California, Berkeley, Sept. 1996.]]
    [12]
    V. Gapeyev, M. Levin, and B. Pierce. Recursive subtyping revealed. In Proceedings of the International Conference onFunctional Programming (ICFP), 2000.]]
    [13]
    J. E. Hopcroft and J. D. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, 1979.]]
    [14]
    H. Hosoya and B. Pierce. Tree automata and pattern matching, July 2000. Available through http:// www.cis.upenn.edu/~hahosoya/papers/ tapat-full.ps.]]
    [15]
    H. Hosoya and B. C. Pierce. XDuce: A typed XML processing language. In Proceedings of Third International Workshop on the Web and Databases (WebDB2000), May 2000.]]
    [16]
    H. Hosoya, J. Vouillon, and B. C. Pierce. Regular expression types for XML. Technical report, University ofPennsylvania, 2000.]]
    [17]
    X. Leroy, J. Vouillon, D. Doligez, et al. The Objective Caml system. Software and documentation available on the Web, http://pauillac.inria.fr/ocaml/, 1996.]]
    [18]
    E. Meijer and M. Shields. XMLambda: A Functional Programming Language for Constructing and Manipulating XML Documents. page 13. Submitted to USENIX 2000 Technical Conference.]]
    [19]
    T. Milo, D. Suciu, and V. Vianu. Typechecking for XML transformers. In Proceedings of the Nineteenth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, pages 11-22. ACM, May 2000.]]
    [20]
    H. Seidl. Deciding equivalence of ~nite tree automata. SIAM Journal of Computing, 19(3):424-437, June 1990.]]
    [21]
    M. Wallace and C. Ranciman. Haskell and XML: Generic combinators or type-based translation? In Proceedings of the Fourth ACM SIGPLAN International Conference onFunctional Programming (ICFP`99), volume 34-9 of ACM Sigplan Notices, pages 148-159, N.Y., Sept. 27-29 1999. ACM Press.]]
    [22]
    Extensible markup language (XMLTM). http://www.w3.org/XML/.]]
    [23]
    XML Schema Part 0: Primer, W3C Working Draft. http://www.w3.org/TR/xmlschema-0/, 2000.]]

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 35, Issue 9
    Sept. 2000
    291 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/357766
    Issue’s Table of Contents
    • cover image ACM Conferences
      ICFP '00: Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
      September 2000
      294 pages
      ISBN:1581132026
      DOI:10.1145/351240
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 September 2000
    Published in SIGPLAN Volume 35, Issue 9

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)174
    • Downloads (Last 6 weeks)16
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Programming with Union, Intersection, and Negation TypesThe French School of Programming10.1007/978-3-031-34518-0_12(309-378)Online publication date: 11-Oct-2023
    • (2022)Revisiting occurrence typingScience of Computer Programming10.1016/j.scico.2022.102781217(102781)Online publication date: May-2022
    • (2021)Runtime Recovery of Web Applications under Zero-Day ReDoS Attacks2021 IEEE Symposium on Security and Privacy (SP)10.1109/SP40001.2021.00077(1575-1588)Online publication date: May-2021
    • (2021)Web Scraping Methods Used in Predicting Real Estate PricesAdvances in Computational Collective Intelligence10.1007/978-3-030-88113-9_30(375-387)Online publication date: 27-Sep-2021
    • (2019)Gradual typing: a new perspectiveProceedings of the ACM on Programming Languages10.1145/32903293:POPL(1-32)Online publication date: 2-Jan-2019
    • (2016)Solving Data Mismatches in Bioinformatics Workflows by Generating Data ConvertersSpecial Issue on Database- and Expert-Systems Applications on Transactions on Large-Scale Data- and Knowledge-Centered Systems XXIV - Volume 951010.1007/978-3-662-49214-7_3(88-115)Online publication date: 1-Jan-2016
    • (2015)From APIs to languages: generalising method namesACM SIGPLAN Notices10.1145/2936313.281670851:2(1-12)Online publication date: 21-Oct-2015
    • (2015)From APIs to languages: generalising method namesProceedings of the 11th Symposium on Dynamic Languages10.1145/2816707.2816708(1-12)Online publication date: 21-Oct-2015
    • (2014)Generating Data Converters to Help Compose Services in Bioinformatics WorkflowsDatabase and Expert Systems Applications10.1007/978-3-319-10073-9_23(284-298)Online publication date: 2014
    • (2012)A Framework for Learning Comprehensible Theories in XML Document ClassificationIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2011.15824:1(1-14)Online publication date: 1-Jan-2012
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media