Conditional XPath, the first order complete XPath dialect

Maarten Marx
2004 Proceedings of the twenty-third ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems - PODS '04  
XPath is the W3C-standard node addressing language for XML documents. XPath is still under development and its technical aspects are intensively studied. What is missing at present is a clear characterization of the expressive power of XPath, be it either semantical or with reference to some well established existing (logical) formalism. Core XPath (the logical core of XPath 1.0 defined by Gottlob et al.) cannot express queries with conditional paths as exemplified by "do a child step, while
more » ... t is true at the resulting node." In a first-order complete extension of Core XPath, such queries are expressible. We add conditional axis relations to Core XPath and show that the resulting language, called conditional XPath, is equally expressive as first-order logic when interpreted on ordered trees. Both the result, the extended XPath language, and the proof are closely related to temporal logic. Specifically, while Core XPath may be viewed as a simple temporal logic, conditional XPath extends this with (counterparts of) the since and until operators.
doi:10.1145/1055558.1055562 dblp:conf/pods/Marx04 fatcat:2mlg33wnwndirlxugb2ueqyg44