XSLT is one of my favorite parts of programming; however, it can be difficult to grasp. To combat this problem, we started at the beginning with iterative and recursive style sheets. Next I covered scope and the issues with nonvariable variables. We then took a little step backward to cover XPath and its relationship to XSLT before rolling up our sleeves and getting down to some serious XSLT.
The basics of templates were discussed, including named templates and the use of the mode attribute. Following that, we covered how to handle decisions using if and choose, along with sorting. The built-in XSLT functions were then described, along with how some of them are used in grouping. Finally, we covered the subject of client-side transformations.