XSLT Training, Day 1

by Simon St. Laurent

Related link: http://www.cranesoftwrights.com/training/crane.htm

It's been a long time since I've attended a technical training session. I look in on tutorials at conferences, and I've given plenty of training sessions, but right now I'm getting back into that feeling with a five-day XSLT/XSL-FO session from Crane Softwrights. The results aren't what I expected - they're better.

So why am I taking an XSLT training session? I'm not known for my fondness of either XSLT or XSL-FO; the kindest thing I've ever found to say about them is that "I've come to terms with them." I use XSLT on a regular basis for my work at O'Reilly, both manipulating the DocBook files we use for books and for the writing work I'm doing myself. I've used XSLT (with some EXSLT trigonometry extensions) to draw SVG maps of forest sections. Despite that kind of practical work, there's still nothing like an intensive course to get your mind refocused.

I spent much of the morning reminding myself not to boil over (much), as Ken Holman has been explaining a lot of the "why" of XSLT and XSL-FO - and I've disagreed for years about those design decisions, often vehemently. At the same time, though, Ken's explanations have done a great job of forcing me to think about my positions and how they play through my work, with the result that my handout is now covered in yellow post-it notes. I've asked a few fairly cranky questions, but fortunately Ken is gracious enough to answer them without increasing the overall level of crankiness in the room. I expect that'll be less of a problem as the training moves into more specific fields.

While I wouldn't have imagined saying this a few years ago, it's also pretty clear that XSLT 1.0 and XPath 1.0 are about the highest level of abstract description of XML documents which pretty much everyone finds useful, regardless of their project type. Although it's certainly possible to process XML without XSLT - and most of the code I share with the world is in Java - it's hard to have a conversation at an XML conference without at least the prospect of XSLT coming up. Specifications which have come later - including XSLT and XPath 2.0, as well as XQuery - try to solve many more problems, but in so doing, have created a group of people who aren't willing to go near them, largely because of their strong connections to W3C XML Schema.

This is just day one of five, but I feel like I've already had a (necessary) kickstart to my thinking about the markup I use every day. It's hard to express the value of being forced to closely examine tools you've used before, especially with a group of people learning to use them. Different questions come up in training sessions than on mailing lists primarily composed of experts, or even at regular conference sessions. Conference tutorials, while valuable, are often just a morning or afternoon, and rarely have the leisure to go beyond a day. Especially in these times where specifications are now larger than the books that explain them, sitting down with a subject and a group of people seems like a necessary supplement to my library of books and email archives.

How does face-to-face training complement (or compete with) books for you?