"Practical Transformation Using XSLT, XQuery and XPath" overviews the entire scope of the Extensible Stylesheet Language Transformations (XSLT) 1.0 http://www.w3.org/TR/xslt, XSLT 2.0 http://www.w3.org/TR/xslt20, the XML Query Language (XQuery) 1.0 http://www.w3.org/TR/xquery, the XML Path Language (XPath) 1.0 http://www.w3.org/TR/xpath and XPath 2.0 http://www.w3.org/TR/xpath20 W3C Recommendations, used for transforming structured information (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 five-day delivery covers every element, every attribute, every function and every keyword), to design and develop XSLT and XQuery scripts, and to efficiently navigate the available documentation and resources. The relationship of XSLT to XSL is explained, though details of XSL Formatting Object semantics are not included.
This hands-on course combines the use of lectures and exercises to convey the material. Students can choose to complete the exercises in either XSLT or XQuery or both, as both solutions are provided and reviewed in class. For the practical exercises, attendees are invited to bring a personal computer (with a USB port) and their own XSLT or XQuery environment or they can use public-domain XSLT and XQuery software that will be made available for a Java-based environment.
This course runs in either a one-day or five-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 five-day format covers everything and is the recommended length. Time is allocated on the XSLT, 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 XSLT, 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 five-day delivery to accommodate additional questions from attendees regarding XML syntax, in the perspective of XSLT, XQuery and XPath.
To participate in the hands-on exercises, attendees must have either an XSLT-equipped, XQuery-equipped or a Java-equipped personal computer. Copies of the exercise materials are available on USB sticks at the course. Students can choose to complete the exercises in either XSLT or XQuery or both, as both solutions are provided and reviewed in class. 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.
For many people, all that is needed to "get over the hump" of understanding the apparently complex concepts of the Extensible Stylesheet Language Transformations (XSLT), 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. Few people realize the parallels between XSLT and XQuery, and in fact some vendor products treat the two syntaxes merely as different skins for a single runtime engine.
"Practical Transformation Using XSLT, 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 XSLT, 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, 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 XSLT/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 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. XSLT and XQuery are declarative languages, 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 XSLT, 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 XSLT, 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. Students can choose to complete the exercises in either XSLT or XQuery or both, as both solutions are provided and reviewed in class.
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 five-day course:
7.1. One-day Delivery Syllabus
00:00 Course Introduction Instructor/Student Expectations Module 1: The context of XSLT, XQuery and XPath Module 2: Getting Started with XSLT, XQuery and XPath Exercise: Setup 01:30 Break 00:00 Module 3: XPath Data Model Exercise: XPath 01:30 Lunch 00:00 Module 4: Processing Model Module 5: Transformation Environment Exercise: A Simple Document 01:30 Break 00:00 Module 6: Transform and data management Module 7: Data type expre ssions and functions Module 8: Constructing the result tree Module 9: Sorting and Grouping Annex A: XML to HTML Transformation Techniques Annex B: XSL Formatting Semantics Introduction Annex C: Element, Grammar, Function and Object Quick References Annex D: Sample Tool Information Question/Answer 01:30 End of Day
7.2. Five-day Delivery/Video Syllabus
7.2.1. Day 1 of 5
Course Introduction Instructor/Student Expectations Module 1: The context of XSLT, XQuery and XPath Module 2: Getting Started with XSLT, XQuery and XPath Exercise: Setup Module 3: XPath Data Model Exercise: XPath Data Model End of Day
7.2.2. Day 2 of 5
Day 1 Questions Module 3: XPath Data Model (cont.) Exercise: XPath Expressions Module 4: Processing Model Exercise: Source Tree Traversal End of Day
7.2.3. Day 3 of 5
Day 1 and 2 Questions Module 5: Transformation Environment Exercise: A Simple Document Module 6: Transform and data management Exercise: Called templates and user-defined functions Exercise: Stylesheet/module management Exercise: Data management End of Day
7.2.4. Day 4 of 5
Day 1 through 3 Questions Module 7: Data type expressions and functions Exercise: Using number functions Exercise: Using string functions Exercise: Building a table of contents Exercise: Using date functions Exercise: Number Representation Module 8: Constructing the result tree Exercise: Number Representation End of Day
7.2.5. Day 5 of 5
Day 1 through 4 Questions Module 9: Sorting and Grouping Exercise: Sorting and Grouping Annex A: XML to HTML Transformation Techniques Annex B: XSL Formatting Semantics Introduction Annex C: Element, Grammar, Function and Keyword Quick References Annex D: Sample Tool Information Question/Answer End of Day
At the end of the five-day course, attendees will be able to:
9. Public testimonials
Some publicly posted testimonials regarding the earlier XSLT/XPath 1.0 version of this course:
+1 (613) 489-0999 (Voice)
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.
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.