Learn XQuery: A list of great articles, blog posts, and books for learning XQuery
Let's show the world how to learn XQuery. Pull requests welcome. Quality over comprehensiveness - just the best, most helpful resources, please. Talk about
#xquery on Twitter.
- W3Schools XQuery. Limited to XQuery 1.0, but a quick overview.
- XQuery Wikibook Beginning Examples. Perhaps the best developed portion of the XQuery Wikibook site (see remarks below).
Materials from XQuery courses
- XQuery for Humanists, by Clifford Anderson, et al. Exercises for XQuery workshops geared toward humanities scholars; most recently updated for Digital Humanities 2017.
- Make your edition: models and methods for digital textual scholarship, a.k.a. Pittsburgh NEH Institute, hosted at the University of Pittsburgh in 2017. Covers many topics, including XPath and XQuery.
- Digital Humanities Courses, by Elisa E. Beshero-Bondar. Covers many topics, including XPath and XQuery.
- XQuery and XML Applications, by Adam Retter (see his other presentations). Slides from the XQuery track of the 2016 XML Summer School, Oxford.
- XQuery Summer Institute, hosted at Vanderbilt University in 2015.
- XPath and XQuery (YouTube), by Jennifer Widom, Stanford University, 2014. Covers the XPath language for processing XML data, along with many features of the more advanced XQuery language. Part of a set of smaller self-paced "mini-courses", which can be assembled in a variety of ways to learn about different aspects of databases.
- Web Development Using XML, David P. Heitmeyer, CSCI E-18, Fall 2015, Harvard Extension School. (See lecture notes from this course since 2003.)
- Querying XML: XPath and XQuery, by Katrien Verbert and George Fletcher, slides from Database Technology (2ID35), Technische Universiteit Eindhoven, Spring 2013.
- XML with Java, Java Servlet, and JSP (YouTube), David Malan, CSCI E-259, Fall 2007, Harvard Extension School.
Some people can learn languages by reading online tutorials. Some people like to dive into a book, or have one on their shelf for reference.
- XQuery, 2nd Edition: Search Across a Variety of XML Data, Priscilla Walmsley, O'Reilly 2015. The standard text for XQuery, updated for XQuery 3.1. Also introduces functx. Doesn't cover the topic of building applications with XQuery; this is out of scope.
- eXist: A NoSQL Document Database and Application Platform, Erik Siegel and Adam Retter, 2014. If Walmsley is limited to the language, Siegel and Retter coherently introduce approaches to building applications with one popular XQuery-based platform, eXist. Example code for the book is on GitHub.
- XQuery from the Experts, A bit dated (2003), and only available second-hand, but its coverage of the concepts and purpose and role of the language makes it more than just a tutorial or reference manual.
- 3.1 (W3C Recommendation, 2017): XQuery 3.1, Data Model, Functions and Operators, Serialization, Update Facility (no 3.1 version yet; see the 3.0 version).
- 3.0 (W3C Recommendation, 2014): XQuery 3.0, Data Model, Functions and Operators, Serialization, Update Facility
- 1.0 (W3C Recommendation, 2007): XQuery 1.0, Data Model, Functions and Operators, Serialization, Update Facility.
Latest developments in XQuery
- New in XQuery 3.1: Maps and arrays, Jesse Alama, 2015. A core new set of features in XQuery 3.1.
- A preview of XQuery 3.1's JSON support in eXist, Joe Wicentowski, 2015. Shows how XQuery 3.1 improves JSON handling.
Thought pieces situating XQuery in the world
- XQuery as a data integration language, Hans-Jürgen Rennau and Christian Grün. Presented at Balisage: The Markup Conference 2015, Washington, DC, August 11 - 14, 2015. In Proceedings of Balisage: The Markup Conference 2015. Balisage Series on Markup Technologies, vol. 15 (2015). DOI:
- On Teaching XQuery to Digital Humanists, Clifford Anderson, presented at Balisage: The Markup Conference 2014, Washington, DC, August 5-8, 2014. In Proceedings of Balisage: The Markup Conference 2014. Balisage Series on Markup Technologies, vol. 13 (2014). DOI:
- XQuery, the Server Language, Kurt Cagle, 2007. Explains that XQuery is much more than a language for querying XML.
- XQuery Novelties Revisited, Geert Josten, 2011. Situates XQuery among the various XML and non-XML standards. Provides a little history on the development of XQuery.
- XQuery: It's not just for queries!, Jesse Alama, 2015. Emphasizes wide utility of XQuery.
- XQuery Wikibook: An introduction to XQuery and a cookbook for various applications. Fairly eXist-centric and many pages out of date with developments both in eXist and XQuery, but very useful still.
- XQuery Update facility for the impatient, A quick introduction to the XQuery Update Facility, Xavier Franc. Presents the XQuery Update facilities introduced by the W3C recommendation.
- XQuery and Lazy Enrichment, Matt Turner, 2007. Demonstrates a simple but powerful technique for enriching text with links to Wikipedia. Easily applied to any XQuery implementation.
- MarkLogic Server and Office 2007, Pete Aven, 2007-09. The last in a series (see the links to the other articles at the bottom) on how to open, manipulate, and create Microsoft Office documents using XQuery. Easily applied to any XQuery implementation.
Documentation from XQuery implementations about their use of XQuery
In depth articles on conformance to / divergence from the spec, and links to key articles and documentation:
- XQuery in BaseX. See also all BaseX documentation.
- XQuery in eXist-db. See also eXist XQuery Features Demo, XQuery Function Documentation, Getting Started with Web Application Development in eXist and all eXist documentation
- XQuery in MarkLogic. See also Application Developer's Guide and all MarkLogic documentation
Mailing lists, forums
- XQuery-Talk: a mailing list best for general XQuery questions and discussion. Subscribe. Archives.
- Stack Overflow has many active users who answer XQuery questions.
- Implementation mailing lists:
Other lists of XQuery learning materials
- XQuery, from "XML / Database Links", by Ronald Bourret. Last updated 2011 but still useful.