Skip to Main content Skip to Navigation
Conference papers

XQuery and Static Typing: Tackling the Problem of Backward Axes

Pierre Genevès 1 Nils Gesbert 1
1 TYREX - Types and Reasoning for the Web
Inria Grenoble - Rhône-Alpes, LIG - Laboratoire d'Informatique de Grenoble [2007-2015]
Abstract : XQuery is a functional language dedicated to XML data querying and manipulation. As opposed to other W3C-standardized languages for XML (e.g. XSLT), it has been intended to feature strong static typing. Currently, however, some expressions of the language cannot be statically typed with any precision. We argue that this is due to a discrepancy between the semantics of the language and its type algebra: namely, the values of the language are (possibly inner) tree nodes, which may have siblings and ancestors in the data. The types on the other hand are regular tree types, as usual in the XML world: they describe sets of trees. The type associated to a node then corresponds to the subtree whose root is that node and contains no information about the rest of the data. This makes navigation expressions using `backward axes,' which return e.g. the siblings of a node, impossible to type. We discuss how to handle this discrepancy by improving the type system. We describe a logic-based language of extended types able to represent inner tree nodes and show how it can dramatically increase the precision of typing for navigation expressions. We describe how inclusion between these extended types and the classical regular tree types can be decided, allowing a hybrid system combining both type languages. The result is a net increase in precision of typing.
Complete list of metadatas
Contributor : Tyrex Equipe <>
Submitted on : Thursday, December 29, 2016 - 12:02:47 PM
Last modification on : Thursday, July 9, 2020 - 9:44:51 AM
Document(s) archivé(s) le : Monday, March 20, 2017 - 8:40:58 PM


Files produced by the author(s)





Pierre Genevès, Nils Gesbert. XQuery and Static Typing: Tackling the Problem of Backward Axes. ICFP (International Conference on Functional Programming), ACM SIGPLAN, Aug 2015, Vancouver, Canada. ⟨10.1145/2784731.2784746⟩. ⟨hal-01082635v3⟩



Record views


Files downloads