Query Reformulation is used in database technology in different scenarios, for example in data integration, in schema evolution, or in bilateral situations, where two applications exchange data. Among other things, the goals of query reformulation are that using query reformulation — saves processing time, as only the necessary section of the data is transformed instead of the whole data, — saves transportation costs in distributed scenarios, as only the necessary section of the data has to be transmitted instead of the whole data, and — avoids problems of replication (e.g. synchronization problems), because there is no need to store a local copy of the transformed data, as not only the first, but also following queries can be answered quickly.
Originally designed to meet the challenges of large-scale electronic publishing, XML is also playing an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere. Today, we use more and more of XML’s capability of labeling the information content of diverse data sources including structured and semi-structured documents, relational databases, and object repositories. Furthermore, real XML databases have occurred in recent years. The XQuery language is designed to express queries across all these kinds of data, whether physically stored in XML or viewed as XML via middleware. The Extensible Stylesheet Language (XSL) and especially its part XSL Transformations (XSLT) are designed to transform one or more input XML documents into output using another format than the input XML documents. Both languages, XSLT and XQuery embed the XPath language as a path language for addressing parts of variables or of input XML documents. This work presents query reformulation methods for the XML languages XPath, XSLT and XQuery.
Topics covered include
- basics of XML, XPath, XSLT, XQuery, DTD, XML Schema, EBNF and attribute grammar
- various approaches for XML query reformulation using the XML languages XPath, XSLT and XQuery. The presented approaches support XPath, XSLT and XQuerys as query languages, and XSLT and XQuery as view languages.
- proofs of correctness of the approaches using XSLT views
- many performance analysises that show the optimization potential
- transformation from XQuery expressions into XSLT stylesheets and vive versa
- logical satisfiability test of an XPath expression according to a schema
- reduction of various problems including o the reduction of the determination of projection paths to the query reformulation problem o the reduction of the logical intersection test and subsumption test of XPath expressions to the satisfiablilty test of an XPath expression