Updates
Latest Tweet
What's New?
Check out for latest innovation, a computer based training video collection
Like this Page
XQuery from the Experts: A Guide to the W3C XML Query Language Review by ART SEDIGHI
Very informative set of essays
Simply good. A collection of essays written by so many well-known names in the industry covering various aspects of the XQuery language from a "A Guided Tour" to "Introduction to Formal Semantics". A book that would be very useful for people with XSLT background, and need more power to do their job. A book that closes the between Relational Databases and XML.
A good number of authors and innovators contributed materials to this book:
- Don Chamberlin (an editor of the XML Query Use Cases, XQuery 1.0, XML Path Language 2.0 working drafts),
- Denise Draper (one of the editors of XQuery 1.0 Formal Semantics),
- Mary Fernandez (one of the editors of the working drafts of XQuery 1.0, XPath 2.0 Data Model, XML Path Language and XQuery 1.0 Formal Semantics),
- Howard Katz (editor of this book)
- Michael Kay (an editor of the XSLT, XSLT 2.0 and XQuery Serialization and XML Path Language 2.0 working drafts)
- Jonathan Robie (an editor of XQuery 1.0, XML Query Requirements, XML Syntax for XQuery 1.0 and XPath 2.0 working drafts)
- Michael Rys (an editor of the XQuery Formal Semantics, XML Syntax for XQuery, XML Query Requirements, XML Query and the XPath Full-Text Requirements working drafts)
- Jerome Simeon (an editor of XQuery 1.0, XPath 2.0 and the XQuery Formal Semantics working drafts)
- Jim Tivy (System architect of the ODMC 1.0 SQL Engine for Microsoft)
- Philip Walder (an editor of the XQuery, XPath Formal Semantics and the XML Schema working drafts)Even though that some of the chapter in this book will benefit an expert programmer, with a solid background in XML, there are more than enough chapter that will benefit the beginner and one's who are no really familiar with XPath, XQuery and XSLT. The book starts by going over the basics of the XQuery language. The Guided Tour is simply a refresher, and introduces the reader to XQuery and its syntax/semantics. It talks about the differences between XPath and XQuery for example, and the benefits of XQuery over XPath. Small code sections are used to convey to the read the difference of one technology versus the other. XPath and XQuery get a lot of attention in this book as there are lots of similarities between the two as far as syntax is concerned and plenty of difference as far as its capabilities with XPath.
The author[s] dedicate the second chapter to the principles behind the design decisions of the XQuery language. Don Chamberlin, the author of this chapter, write the following mission statement for XQuery:
"The purpose of the new query language was to provide a flexability to extract information from real and virtual XML documents."
It is very refreshing to see the committee for creating XML actually went to the process of defining requirements, design definitions and the rest of the formal specification realization before they actually "wrote" the language. The message of formalism is very clear throughout the book. At each stage of design for this new language, proper documents have been generated (Use Case doc, Requirements doc, etc) that portray a good process. The section on formal semantics adds the following:
"After the Java programming language was released, several formal semantics of the language were written. Some of these semantics revealed errors in the type system, which in turn could lead to security holes in browsers that run Java programs. ..."XQuery looks very similar to XPath, and this book spends a couple of chapters (a little of chapter 2, and most of chapter 3) to talk about the similarities, differences and influences of one language over the other. The new releases of XSTL, XPath and XQuery 1.0 look very similar since these groups collaborated with each other throughout the process of development. If you don't know anything about XPath or XSLT, and want to know how they differ and hoe they have evolved in the recent years, chapter 3, by Michael Kay, is what you need to read - or may even start with before you read the other chapters in this book. Chapter 3 starts off very easy, but it goes into more advanced topics such as optimization techniques used with XQuery - specially the one's that have been used before with XSLT and XPath for the same purpose.
One of the most interesting chapters in this book is chapter 5 on Formal Semantics. It is rare and rather refreshing to see a language being broken up like that and it's predicate logic and semantics be given in such detail. You can skip this chapter all together, but I suggest otherwise. Even if it is to realize how language processing and semantics of a language work. I would love to see such topic for C++ or JAVA... This chapter is good for anyone interested in optimization techniques and wishes to learn more about the details and correctness of the XQuery language.
Applications of XQuery at they apply to Databases and how it can be integrated into databases are covered in part 4.
XQuery had the capability to navigate, select, combine, transform, sort and aggregate XML data - thus making the integration of XQuery with the backend database very powerful and rather simple. XML data, and how it can be integrated into the database with the help of XQuery is covered in detail and two techniques are laid out: the LOB (large object) representation where the entire XML data is saved as a large object in the database, and the composed representation where each XML element is stored individually.
Even though XQuery is fairly a new language, the authors in this book go to great length depicting the formalism, the correctness, the stability and flexibility of the XQuery language. The chapters that cover Database integration with XML data clearly convey the power of this language, and thought process that went behind designing such stable and powerful language.