Mariano P. Consens, John W. Liu, Flavio Rizzolo
The popularity of XML has motivated the development of novel XML processing tools many of which embed the XPath language for XML querying, transformation, constraint specification, etc. XPath developers (as well as less technical users) have access to commercial tools to help them use the language effectively. Example tools include debuggers that return the result of XPath subexpressions visualized in the context of the input XML document.
This paper introduces XPlainer, a language that provides explanations of why XPath expressions return a specific answer. An explanation returns precisely the nodes in the input XML document that contribute to the answer. We provide a complete formalization for explanation queries based on the semantics of XPath. This enables the use of XPath engines for the evaluation of explanation queries.
We describe a tool that uses XPlainer queries to provide visual
explanations. The XPlainer-Eclipse tool is built on an extensible
development environment that includes editors for visualizing both
XML documents and XPath expressions as trees together with the
explanation of the answers.