Fundamenta Informaticae 145 (2016) 429–470 429 DOI 10.3233/FI-2016-1370 IOS Press A Formal and Unified Description of XML Manipulation Languages Jan Hidders Delft University of Technology Mekelweg 4, NL-2628 CD Delft, The Netherlands a.j.h.hidders@tudelft.nl Jan Paredaens University of Antwerp Middelheimlaan 1, BE-2020 Antwerp, Belgium jan.paredaens@ua.ac.be Abstract. We discuss three well-known languages for querying and manipulating XML documents: XQuery, XPath and XSLT. They are considered to be the standard languages for processing XML documents. However, specifying their complete semantics in a formal way seems almost impossible. Indeed, an attempt by the W3C XML Query Working Group to do so for XQuery was ultimately abandoned. We introduce three sublanguages, called MiXPath, MiXQuery and MiXSLT, and de- scribe their syntax and formal semantics. The syntax and semantics of these languages are chosen such that they are consistent with the ones given in the related W3C recommendations. As such this provides a practical foundation for research and teaching of XML languages. For this purpose the sublanguages are chosen such that they contain the most crucial features, constructs and expressions of each of these three languages. Keywords: semistructured data, transformation languages, XML, XPath, XQuery, XSLT, formal semantics 1. Introduction XML has become the default standard for exchanging data on the Web [1, 2, 3]. For transforming and querying XML data there are two languages which have become the leading standards for expressing Address for correspondence: Delft University of Technology, Mekelweg 4, NL-2628 CD Delft, The Netherlands. Received June 2012; revised April 2016.