1. Abstract

"Practical Transformation Using XQuery and XPath" overviews the entire scope of the XML Query Language (XQuery) 1.0 http://www.w3.org/TR/XQuery, and XPath 2.0 http://www.w3.org/TR/xpath20 W3C Recommendations, used for transforming structured information from files or projected from databases (e.g. XML to XML, XML to HTML, XML to XSL-FO, XML to text, etc.). The objectives of the course are to understand the role and utility of the Recommendations, to overview all the constructs of the Recommendations (the four-day delivery covers every keyword), to design and develop XQuery modules, and to efficiently navigate the available documentation and resources.

This hands-on course combines the use of lectures and exercises to convey the material. Students For the practical exercises, attendees are invited to bring a personal computer (with a USB port) and their own XQuery environment or they can use public-domain XQuery software that will be made available for a Java-based environment.

2. Length

This course runs in either a one-day or four-day format. The one day is more of an introduction with exercises than a comprehensive tutorial as it is not long enough to cover every construct. The four-day format covers everything and is the recommended length. Time is allocated on the XQuery and XPath perspectives of XML syntax and more exercise time.

This is an intensive class running 7 to 9 hours per day including the exercises, with homework assigned each night. In markets where English may not be a strong language with students (e.g. China, Japan, etc.) or simultaneous or consecutive translation is needed, please double the number of elapsed days: the syllabus half-day segments will each be taught over a full day at the students' pace. This also leaves extra time for questions of clarification regarding language and the descriptions of the exercise solutions.

3. Expected Audience

This course is aimed at people needing to understand both conceptual and practical aspects of the XQuery and XPath languages and the available tools.

4. Prerequisites - Is this the right class for you?

Attendees must have a working technical knowledge of XML concepts and the syntax of angle brackets, as these are not covered explicitly in the course. Time is allocated in the four-day delivery to accommodate additional questions from attendees regarding XML syntax, in the perspective of XQuery and XPath.

To participate in the hands-on exercises, attendees must have either an XQuery-equipped or a Java-equipped personal computer. Copies of the exercise materials are available on USB sticks at the course. Complete solutions are provided to research in place of attendees deriving the exercise solutions on their own.

Attendees must have a firm knowledge of the operating system environment as there is no time for coaching from the instructor regarding the command-line environments of today's operating systems.

To get the maximum benefit from this material, please be prepared to work hard. Some exercises are assigned as homework for the next day.

If you come to class with problems to solve, you will get more from the material and exercises than trying to learn the concepts in the abstract.

This is an exhaustive (and some students tell us "exhausting") and comprehensive class for both beginners and experts. For a different approach to the same material, you may wish to consider the Mulberry Technology suite of XML classes.

5. Synopsis

For many people, all that is needed to "get over the hump" of understanding the apparently complex concepts of the XML Query Language (XQuery) and the XML Path Language (XPath) is instruction in the basics upon which these standards are built and exercise of the theory.

"Practical Transformation Using XQuery and XPath" successfully equips the attendee with an understanding of the major components of these Recommendations, and practice in the skills required to use XQuery and XPath with publicly available tools. These skills can then be used after the course for self-study of any revisions to this standard and any formatting facets that cannot be covered in such a short course time.

When designing our XML vocabularies to represent our information in files or projected from databases, we should not be constraining our structures to the presented form we anticipate. We should be constraining our structures to the inherent relationships of information considering the ways we plan to author and maintain our information for the long haul and for many and varied purposes and presentations. This is the commonly-felt shortfall of capturing our information in HTML or, if we are printing information, in either a proprietary printing application or a static print appearance.

XPath and XQuery give us the ability to, respectively, address our structured information in XML and express the desired transformation of our information into new and varied arrangements. Perhaps these arrangements are necessary because of different XML vocabularies or different technologies such as web browsers, hand-held devices, and print engines. Perhaps these arrangements are necessary because the target audiences for our information differ and we need to either subset or emphasize or rearrange our information into the target uses that make our information the easiest to consume for each of our many and varied users.

XPath is an expression language based on an abstract node-based representation of our structured XML information. XQuery is a declarative language, yet powerful enough to be Turing-complete, where we represent the result of the transformation of our information in a way that a processor can engage whatever algorithms are required to produce the final desired vocabulary and structure.

Using XQuery and XPath frees us to focus our XML creation processes on the nature of our information, while at the same time frees us to meet existing and future requirements for different uses of our information.

Many people find that the recommendations themselves are difficult to read and understand, while others find the documents outright scary. The curriculum covers the entire suite of functionality in the recommendations in order to understand how to be productive using tools in a production environment. A number of resources that are publicly available over the Internet are briefly overviewed so that the attendee can determine which materials are important to obtain and use.

The hands-on exercises help cement XQuery and XPath concepts by leading the attendee to resolve basic, often initially frustrating, obstacles under the supervision of the instructor and collaboration with fellow students. Exercises cover important concepts with simple objectives. Attendees are invited to research completed exercise solutions without needing to derive the solutions on their own.

During the course the exercises are timed to cover breaks so that students can choose to balance work time with break time should extra exercise time be required, thus reducing the chance of delaying the progress of the course material.

6. Hands-on exercises

Sample complete answers to all exercises are available to attendees. All exercises produce HTML for use in a browser to check results, though the principles taught in the course cover all possible result tree syntax serializations.

The following exercises are included in the four-day course:

  • the setup and invocation of XQuery processors
  • the XPath data model
  • writing XPath expressions for addressing nodes of a document tree
  • XML source tree traversal
  • using called templates and user-defined functions
  • XQuery module management techniques
  • using number functions
  • using string functions
  • building a table of contents
  • using date functions
  • XQuery expressions
  • sorting and grouping XML information into reports

7. Deliveries

7.1. One-day Delivery Syllabus

 00:00   Course Introduction
         Instructor/Student Expectations
         Module 1: The XML Query Language and the XML Path Language
         Module 2: Getting Started with XQuery and XPath
         Exercise: Setup
 01:30   Break
 00:00   Module 3: XPath Data Model
         Exercise: XPath
 01:30   Lunch
 00:00   Module 4: XQuery Processing Model
         Module 5: The XQuery Transformation Environment
         Exercise: A Simple Document
 01:30   Break
 00:00   Module 6: XQuery Module Management
         Module 7: Sorting and Grouping
         Module 8: XPath and XQuery Expressions and Techniques
         Annex A: XML to HTML Transformation Techniques
         Annex B: Element, Grammar, Function and Object
                    Quick References
         Annex C: Sample Tool Information
 01:30   End of Day 

7.2. Four-day Delivery Syllabus

7.2.1. Day 1 of 4

         Course Introduction
         Instructor/Student Expectations
         Module 1: The XML Query Language and the XML Path Language
         Module 2: Getting Started with XQuery and XPath
         Exercise: Setup
         Module 3: XPath Data Model
         Exercise: XPath Data Model
         End of Day

7.2.2. Day 2 of 4

         Day 1 Questions
         Module 3: XPath Data Model (cont.)
         Exercise: XPath Expressions
         Module 4: XQuery Processing Model
         Exercise: Source Tree Traversal
         Exercise: A Simple Document
         End of Day

7.2.3. Day 3 of 4

         Day 1 and 2 Questions
         Module 5: The XQuery Transformation Environment
         Module 6: XQuery Module and Data Management
         Exercise: Called templates and user-defined functions
         Exercise: Module management
         Exercise: Data management
         Module 7: Result Tree Keywords
         Exercise: Number Representation
         End of Day 

7.2.4. Day 4 of 4

         Day 1 through 3 Questions
         Module 8: XQuery/XPath Expressions and Techniques
         Exercise: Using number functions
         Exercise: Using string functions
         Exercise: Building a table of contents
         Exercise: Using date functions
         Module 9: Sorting and Grouping
         Exercise: Sorting and Grouping
         Annex A: XML to HTML Transformation Techniques
         Annex B: Grammar, Function and Keyword
                    Quick References
         Annex C: Sample Tool Information
         End of Day 

8. Outcomes

At the end of the four-day course, attendees will be able to:

  • understand the role and the scope of XQuery and XPath in XML document processing
  • be aware of every element, every attribute, and every function of XQuery 1.0 and XPath 2.0
  • write XPath expressions for source tree nodes and other data types
  • write XQuery modules
  • manage module fragments and understand issues of module maintenance
  • sort and group information
  • navigate the formal Recommendation documents
Crane logo

Please consider to

towards our
free resources.

+1 (613) 489-0999 (Voice)
+1 (613) 489-0995 (Fax)


Link traversal: This web site relies heavily on client-side redirection. If certain links do not work for you, please ensure you have this behaviour enabled in your browser.

Page navigation:

Site navigation:

Small print: All use of this web site and all business conducted with Crane Softwrights Ltd. is subject to the legal disclaimers detailed at http://www.CraneSoftwrights.com/legal ... please contact us if you have any questions. All trademarks, servicemarks, registered trademarks, and registered servicemarks are the property of their respective owners.

Link legend: links that are marked with this dotted underline will open up a new browser window, otherwise the same browser window is used for the link target. 

Last changed: $Date: 2009/12/04 21:15:45 $(UTC) (Privacy policy)