University of Bielefeld Faculty of Technology Joern Clausen  

Homepage
Education
Development
Documents
Links
Contact
Weblog

Friends of XML - An Episode Guide

The redirect

Although this guide is still updated and complete, I have created a newer version, that has less fluff and is probably easier to navigate. Check out "Yet Another Friends Episode Guide". No, the visual design is bad, but I'll work on it...


The short story

This is my episode guide to Warner Bros.'s sitcom "Friends". You'll find here:

If you want to know how I manage this episode guide, read on.


The long story

This was (and still is) a project to learn XSLT. Being a fan of Warner Bros.'s sitcom "Friends", I own most of the episodes on DVD. The german version shown on TV leaves much to be desired, so finally getting all episodes in english (and without commercial breaks) was really worth the investment.

So I wanted to have a nice overview of all episodes, with a list of all actors in guest roles, and so on. So, here we go...

All XML and XSL files are available as pretty printed HTML (thanks to Warren Hedley's XML Pretty Printer) and as raw XML. Please note that the pretty printed versions are significantly larger. The XML source file grew from some 300 kBytes to more than 1 MByte.

  • All data is stored in one single XML file (raw XML) which conforms to a DTD. This is a generic DTD for TV series, so please let me know when you have XMLified Star Trek, Babylon 5 or some other series.

  • This XML file is transformed by several (again generic) style sheets into different representations:

    • An overview of the complete series is generated by this style sheet (raw XML).

    • It contains links to detailed season overviews (e.g. the first season). They are generated by applying this style sheet (raw XML), which needs the desired season and the source of the synopsis passed as argument. The XML file contains two synopsises for each episode (one from Warner's website, and one from Play.com, which is a great source for actually getting the DVDs). The pages shown here contain the description from Warner's site. I presume these texts are highly copyrighted by the respective companies. They are reproduced here solely to demonstrate the features of XML/XSL, and to express my admiration for this great TV show.

    • The seasonal list contains links to a list of actors. For recurring roles, this file contains links back to the seasonal lists, so this is a nice way to e.g. find all epsiodes with Jane Sibbett. This list is generated by this style sheet (raw XML). This is the most time consuming transformation. If you have any ideas on enhancing this sheet, please let me know.

    • Just for the fun of it, here are some statistics about the series, with links to all other files. The corresponding style sheet (raw XML) uses some of XPaths functions, e.g. for counting nodes.

  • To test some of the more advanced features of XSLT (advanced at least for me ;), I have one more page with a collection of transformations (raw XML). As all the episode titles start with "The One ...", I have made an index sorted according to this phrase. Another transformation lists some actors sorted by the number of appearances on the show. This style sheet uses a function from the EXSLT library for converting a result fragment tree to a node-set, which is processed further.


Jörn Clausen
created: 2001-05-21 / last modified: 2004-05-10