The data for these races is stored in a MySQL database and various WWW forms fronting a Cake PHP application are used to maintain this database.
Whenever the data is changed, an XML document describing the races is generated from the database and then six XSL Transformations are used to produce the six HTML pages (/next, /updates, /previous, /results, /pb, /pb2).
The "future races" page displays an button for each race. When this button is used, some iCalendar information will be produced. This is done by executing some XSLT code. The XSLT code was provided by Brian Suda under the W3C Open Source License. The XSLT code is described at http://suda.co.uk/projects/X2V/ and it is available from http://suda.co.uk/projects/X2V/xhtml2vcard.xsl.
The iCalendar information is produced using the mime type
text/calendar
.
Exactly what happens at this point
depends on how your browser has been configured.
Either an application will be launched,
or you will be asked whether you want to start an application,
or you will be asked whether you want to save the iCalendar information
to a file.
The ICAL button used on these web pages () was produced by mokolabs. It is released with a Creative Commons licence.