Advanced XSLT (and XQuery, and XSL-FO)
A good place to learn.
While there are many places for beginners to learn the basics of XSLT (I have my favorite, but I’m biased), learning more advanced techniques often means spending a good deal of money to bring in a specific expert for specialized training.
For the eight or so years that I’ve chaired the XSLT/XSL-FO/XQuery track at the XML Summer School in Oxford, England, I’ve begun it by giving a beginner-level XSLT introduction class, but with people like Michael Kay, Jeni Tennison, and Priscilla Walmsley on hand (and that’s just the XSLT track—other tracks include XSLT experts such as Debbie Lapeyre and Norm Walsh), I’ve always wanted to take better advantage of the opportunity to address more advanced, cutting-edge issues. So this year, when the Summer School is held from the 20th to the 25th of September, I won’t give an introductory class as part of this track; Debbie will cover the introductory level material in the Hands-on Introduction to XML course, leaving the XSLT, XSL-FO, and XQuery track more room to cover material that helps current XSLT practitioners build better applications more quickly. (I will be doing the introductory class in the Semantic Technologies course, which I’m greatly looking forward to.)
For example, one new class aimed squarely at current XSLT practitioners is Jeni’s “Test-driven XSLT development”. Different programming and scripting languages present difference advantages and challenges for the use of unit tests in application development; Jeni has worked out a framework to let this approach benefit XSLT development, and will show us how it has helped her work.
Another new class will be Michael Kay’s discussion of application architecture. Standards-based XML development often offers several ways to do the same task within a system (for example, XSLT vs. XQuery or native XML databases vs. relational ones) and Michael’s perspective on how to go about making the right choices will be very interesting, given his extensive development experience with both the inner workings of his Saxon XSLT processor and with system development for clients.
A more large-scale class that I really look forward to is the XSLT Efficiency Workshop, a session that will last an entire afternoon. This will be led by Michael, Jeni, Priscilla, and myself, and cover both development efficiency and execution efficiency. Instead of simply taking turns presenting slides, we have an interactive session planned, in which we work with subsets of the workshop’s attendees to identify the most pressing issues in their own development, and then I and this all-star panel will discuss approaches to these issues.
Classes from previous years that will be offered again are Jeni’s “Getting the Most Out of XSLT 2.0” and Priscilla’s introductions to XQuery and XSL-FO. I’ve seen these presentations several times and learn something new each time.
As Jeni wrote in her weblog recently,
I know a lot of beginners go to the XML Summer School for the introduction course, but to me the real value is for people who are actually using XML on a day to day basis and want to keep on top of the latest tools and technologies that will actually help them do their jobs. I learn something new every year.
We hope that the Efficiency Workshop in particular brings the advanced expertise together with stories of day-to-day use to help the practitioners learn new techniques and the experts learn more about how people are using these technologies in a range of real-world applications.
And of course there’s Oxford itself, and the beer, and the hanging out with friends, which can be even better than the classes, but it’s difficult to distinguish between the classes and the hanging out in the college bar when these old and new friends know so much about XML technology and enjoy discussing their work.
2 Comments
By nicky on August 10, 2009 2:54 AM
By jope on November 30, 2010 3:19 PM
Hey,
I’ve learned XSLT and FOP by tutorials googled on the web and about 2 books. A video guide would be also a nice learning training, because of the replay function.
Greets
Share this post