A Simple but Formal Semantics for XML Manipulation Languages
XML is a modern format that is nowadays used to store many documents, expecially on the Web. Since a set of documents can be considered as a semi-structured dataset or database, we want to query these documents. Moreover in many applications we need to transform documents into other documents, containing the same information, but with a different structure. Finally, most documents are represented in HTML on the Web, which can be seen as XML-documents.
We discuss sublanguages of XPath, XQuery and XSLT. The latter are wellused manipulation languages for XML that were developed during the last decade in which we can express these queries and transformations. XPath is a simple language that enables us to navigate through a document. XQuery is a powerful query language for XML and XSLT is a transformation language. These three languages are conceptually totally different. For each of them we have defined an upward compatible sublanguage respectively MiXPath, MiXQuery and MiXSLT. These are three manipulation languages for XML, whose semantics is defined in a formal, uniform, compact and elegant way.
These three languages will enable us later on to investigate more easily certain aspects such as the expressive power of certain types of expressions found in XPath, XQuery and XSLT, the expressive power of recursion and possible syntactical restrictions that let us control this power, the complexity of deciding equivalence of expressions for purposes such as query optimization, the functional character in comparison with functional languages such as LISP and ML, the role of XPath 1.0 and 2.0 in XQuery in terms of expressive power and query optimization, and the relationship between queries on XML and the classical well-understood concept of generic database queries. The contribution of MiXPath, MiXQuery and MiXSLT is their relatively simple syntax and semantics that is appropriate both for educational and research purposes. Indeed, we are convinced that these languages have a number of interesting properties, that can be proved formally, and that can be transposed to XPath, XQuery and XSLT.
Unable to display preview. Download preview PDF.