XPath Leashed MICHAEL BENEDIKT Oxford University Computing Laboratory and CHRISTOPH KOCH Cornell University This survey gives an overview of formal results on the XML query language XPath. We identify several important fragments of XPath, focusing on subsets of XPath 1.0. We then give results on the expressiveness of XPath and its fragments compared to other formalisms for querying trees, algorithms, and complexity bounds for evaluation of XPath queries, as well as static analysis of XPath queries. Categories and Subject Descriptors: H.2.3 [Languages]: Query languages General Terms: Languages Additional Key Words and Phrases: XML, XPath ACM Reference Format: Benedikt, M. and Koch, C. 2008. XPath leashed. ACM Comput. Surv., 41, 1, Article 3 (December 2008), 54 pages DOI = 10.1145/1456650.1456653 http://doi.acm.org/10.1145/1456650.1456653 1. INTRODUCTION XPath [World Wide Web Consortium 1999a] is a language for matching paths and, more generally, patterns in tree-structured data and XML documents. These patterns may use either just the tree structure of an XML document or data values occurring in the document as well. XPath is used as a component in XML query languages (in particular, XQuery [World Wide Web Consortium 2002] and XSLT [World Wide Web Consortium 1999b]), constraint languages (e.g., XML Schema [World Wide
/lp/association-for-computing-machinery/xpath-leashed-H0V0haga31