Editing Modernism in Canada


June 3, 2014

“A Collaborative Approach to XSLT” and a Riddle

I just finished my second day in the EMiC-sponsored course “A Collaborative Approach to XSLT.” This is a new offering at DHSI, and it is fairly original in its design—it is team-taught by a father and son duo, Zailig and Josh Pollock. This pedagogical model—with Zailig as the digital humanist, and Josh as the programmer—works really well for the course, which stresses the importance of successful collaboration. The premise of the course is that “few digital humanists have the time or inclination to master the complex details of [TEI] implementation,” and that instead, what a digital humanist should learn is enough basic vocabulary and skills so that they can communicate with a programmer. This course, therefore, practices what it preaches, with Zailig providing concrete examples in which a scholar might use a complex piece of code and with Josh able to effectively answer all of the more technical questions.

Although it is still early in the week, I can confidently state that this is one of the best courses I have taken at DHSI/DEMiC. Zailig and Josh have clearly spent a long time designing and thinking about the best way to teach this course. The course’s structure, so far, has been that a concept is explained followed by a small exercise where the students have to put this concept into practice. Rinse and repeat. After two days, we have run through twelve exercises, teaching (or refreshing) students about: XML, HTML, CSS, XSLT, and XPaths. Although we have covered a large amount of material in two days is large, the method of periodically stopping and practice each concept as we proceed has ensured that everyone understands and is on track.

Josh successfully demonstrated how far we have come as a class when late Tuesday afternoon he posted a riddle, and demonstrated how we could solve it using XPaths. For the curious, the riddle is: “Brothers and sisters have I none. This man’s father is my father’s son.” To solve this riddle, you simply need an .xml file and some Xpaths.

Screen Shot 2014-06-03 at 7.34.51 PM

count(//me/preceding-sibling::* | //me/following-sibling::*)=0
[Result: true]

//*[.. = //me/../*]
[Result: son]

Leave a Reply

You must be logged in to post a comment.