Section: New Software and Platforms
XQuery Type-Checker
Scientific Description
This prototype implements a sound static type-system for an XQuery core. The type language supported is a large subset of RelaxNG+Schematron, which is novel in static type checking. It also supports the static typing of backward axes, which is not supported by any other system nor the XQuery recommendation. Our type checker successfully verifies complex programs for which existing type-checkers (either known from the literature or those developed in commercial software) fail by reporting false alarms. One major benefit is to allow the cost of validation to be deferred from runtime to compile-time (once only). This prototype is implemented in Scala and interacts with the solver by issuing externals calls for deciding complex subtyping relations.