This paper is a must-read for anyone interested in the emerging area of data management for XML. At the time of this review (October 1999) there's a small handful of query languages designed for XML-encoded data. The language Lorel emerged from my own Lore project on managing semistructured data and recently was modified for an XML-based data model. XML-QL was designed more specifically for XML, although it too evolved from a language for querying semistructured data (StruQL, by many of the same authors); more on this point later. Finally, the language XQL has been proposed by Microsoft and others from industry. (Other languages such as XSL and YATL can be used to query XML data but were not designed specifically for that purpose. XML-GL is a graphical query language that can be translated to the textual languages mentioned here.)

The XML-QL paper describes both a data model and a query language. The work is done primarily by researchers at AT&T. Unlike other research-driven languages, the authors have gone so far as to submit their specification to the World-Wide Web Consortium (W3C) as a technical note. As a result, XML-QL has gained a fair bit of attention from industry. While the alternative submitted language, XQL, still remains the more "popular" proposed standard (no doubt due to its backing from Microsoft and others), everyone agrees that XML-QL is much more expressive while still retaining a reasonably user-friendly flavor. The authors of XML-QL remain admirably active in the XML query language standardization effort. Regardless of the final outcome, XML-QL and its authors will have some real impact - at the very least in educating people about important features that XQL lacks (e.g., joins).

The XML-QL paper reads fairly well and, as I said, is an important basic contribution in the area of XML data management. I have a few criticisms of the work. One is that although XML-QL has an XML flavor and "appearance", because XML-QL evolved from a language designed for graph-based semistructured data it does not handle some XML features as elegantly as it might. (Lorel suffers from some of the same history, but Lorel has not been pushed as an XML query language to the extent that XML-QL has.) Also the semantics of XML-QL are not crystal clear, for example with respect to variable bindings, implicit quantification, grouping, and ordering. In some cases it's been necessary to check with the authors about what a particular query is actually intended to do. On the other hand, some features of XML-QL are quite nice, particularly its powerful restructuring facilities and clean separation of locating data and constructing results. To the best of my knowledge, currently there is only a small main-memory prototype query processor for XML-QL, so implementation and optimization issues remain open.

Note that with the current intense interest in XML and rapid progress in the area of XML data management, this 10/99 review is likely to become obsolete in a short period of time. Nevertheless, the XML-QL paper will remain an important initial work.

a service of Schloss Dagstuhl - Leibniz Center for Informatics