2002-03-11 15:39:54 -05:00
<?xml version='1.0'?>
<xsl:stylesheet version= "1.0"
2002-04-15 13:37:12 -04:00
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:csc="http://www.csclub.uwaterloo.ca/cow"
extension-element-prefixes="csc">
2002-03-11 15:39:54 -05:00
<xsl:output method= "html" />
<xsl:template match= "cscpage" >
<xsl:text disable-output-escaping= "yes" > <![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">]]>
</xsl:text>
<html >
<head >
<title > <xsl:value-of select= "@title" /> </title>
2002-10-27 21:36:59 -05:00
<link rel= "stylesheet" href= "/default.css" type= "text/css" />
2002-03-11 15:39:54 -05:00
<style type= "text/css" >
<![CDATA[<!-- @import url('/default.css'); -->]]>
</style>
</head>
2002-10-27 21:11:31 -05:00
<body bgcolor= "#ffffff" >
2002-03-11 15:39:54 -05:00
<xsl:apply-templates select= "biglogo" />
<xsl:apply-templates select= "header" >
<xsl:with-param name= "title" select= "@title" />
</xsl:apply-templates>
<xsl:apply-templates select= "section|menu" />
<xsl:apply-templates select= "footer" />
</body>
</html>
</xsl:template>
<xsl:template match= "section" >
<h2 > <xsl:value-of select= "@title" /> </h2>
<xsl:apply-templates />
</xsl:template>
2002-04-22 21:02:42 -04:00
<xsl:template match= "biglogo" name= "biglogo" >
<table cellspacing= "0" cellpadding= "0" border= "0" align= "center" >
2002-03-11 15:39:54 -05:00
<tr >
2002-04-22 21:02:42 -04:00
<td width= "109" > <a href= "http://www.uwaterloo.ca/" > <img
src="/logos/uw_logo_100_68.gif" alt="University of Waterloo"
width="100" height="68" align="center" border="0" /></a> </td>
<td width= "174" > <a href= "/" > <img src= "/logos/csc_160_70.png"
alt="Computer Science Club" width="165" height="75" align="center"
border="0" /></a> </td>
<td width= "91" > <a href= "http://www.acm.org" > <img width= "82"
height="103" src="/logos/acm_logo.gif" alt="A Student Chapter of
the ACM" align="center" border="0" /></a> </td>
2002-03-11 15:39:54 -05:00
</tr>
</table>
</xsl:template>
<xsl:template match= "menuitem" >
2002-10-27 21:11:31 -05:00
<td bgcolor= "#eeeeee" class= "button" >
2002-03-11 15:39:54 -05:00
<a href= "{@href}" > <img border= "0" src= "/buttons/{@icon}.png"
width="40" height="40" alt="" /></a> <br />
<a href= "{@href}" > <xsl:value-of select= "@title" /> </a>
</td>
</xsl:template>
<xsl:template match= "menudefs" >
<table cellspacing= "1" cellpadding= "3" border= "0" bgcolor= "black" align= "center" >
<tr >
<xsl:apply-templates select= "menuitem" />
</tr>
</table>
</xsl:template>
<xsl:template match= "menu" name= "menu" >
<xsl:apply-templates select= "document('menu.xml')/menudefs" />
</xsl:template>
<xsl:template match= "header" name= "header" >
<table cellspacing= "0" cellpadding= "2" border= "0" width= "100%"
bgcolor="#cee6ff">
<tr >
<td width= "84" > <a href= "/" > <img src= "/logos/csc_80_35.png"
alt="CSC" width="80" height="35" border="0" /></a> </td>
<td class= "pagetitle" > <xsl:value-of select= "$title" /> </td>
</tr>
<tr >
<td colspan= "2" >
<xsl:apply-templates
select="document(concat($pwd,'/directory.xml'))/directory"/>
</td>
</tr>
</table>
</xsl:template>
<xsl:template match= "directory" >
2002-04-22 21:28:50 -04:00
[<xsl:if test= "@href = ''" > <a href= "index.html" > <xsl:value-of
select="@title"/></a> </xsl:if> <xsl:if test= "@href != ''" >
<a href= "{@href}" > <xsl:value-of select= "@title" /> </a> </xsl:if> ]
2002-03-11 15:39:54 -05:00
<xsl:apply-templates match= "diritem" />
</xsl:template>
<xsl:template match= "diritem" >
[<a href= "{@href}" > <xsl:value-of select= "@title" /> </a> ]
</xsl:template>
<xsl:template match= "footer" name= "footer" >
<hr />
<xsl:call-template name= "menu" />
<p >
This page was generated on <xsl:value-of select= "$date" /> at
<xsl:value-of select= "$time" /> .
</p>
2002-08-10 13:33:12 -04:00
<p >
We recently switched to our new website. The <a href= "/old/" > old
website (as of 2002-08-10)</a> is still available.
</p>
2002-03-11 15:39:54 -05:00
<p >
Copyright 2002 the Computer Science Club of the University of
Waterloo. Please direct website comments to the <a
href="mailto:www@csclub.uwaterloo.ca">Webmaster</a> .
</p>
</xsl:template>
<xsl:template match= "newsdefs" >
2002-09-18 02:25:33 -04:00
<xsl:apply-templates select= "newsitem[csc:term(@date) = csc:term($date)]" >
<xsl:sort select= "translate(@date, '-', '')"
order="descending"
data-type="number"/>
</xsl:apply-templates>
2002-03-11 15:39:54 -05:00
</xsl:template>
<xsl:template match= "newsitem" >
<tr >
2002-10-27 21:13:35 -05:00
<td class= "newsdate" bgcolor= "#eeeeff" > <xsl:value-of select= "@date" /> </td>
2002-10-27 21:16:31 -05:00
<td rowspan= "2" valign= "top" class= "newsitem" bgcolor= "white" > <xsl:apply-templates /> </td>
2002-03-11 15:39:54 -05:00
</tr>
<tr >
2002-10-27 21:13:35 -05:00
<td class= "newsauthor" bgcolor= "#eeeeff" > <xsl:value-of select= "@author" /> </td>
2002-03-11 15:39:54 -05:00
</tr>
</xsl:template>
<xsl:template match= "news" name= "news" >
<tr >
2002-10-27 21:19:42 -05:00
<th colspan= "2" class= "news" bgcolor= "#aaaaff" >
2002-03-11 15:39:54 -05:00
News
</th>
</tr>
<xsl:apply-templates select= "document('news.xml')/newsdefs" />
<tr >
2002-10-27 21:14:54 -05:00
<td class= "newsitem" bgcolor= "white" colspan= "2" >
2002-03-11 15:39:54 -05:00
<a href= "news/" > Older news items</a> are available. Make sure you
check out the <a href= "nntp://uw.csc" > uw.csc</a> newsgroup and our
announcement boards on the second and third floor of MC for more
updates.
</td>
</tr>
</xsl:template>
<xsl:template match= "events" name= "events" >
<tr >
2002-10-27 21:18:41 -05:00
<th colspan= "2" class= "news" bgcolor= "#aaaaff" >
2002-03-11 15:39:54 -05:00
Upcoming Events
</th>
</tr>
<xsl:for-each select= "document('events.xml')/eventdefs/eventitem" >
<xsl:sort select= "translate(@date, '-', '')"
order="ascending"
data-type="number"/>
<xsl:if test= "translate(@date, '-', '') >= translate($date, '-', '')" >
<tr >
2002-10-27 21:14:54 -05:00
<td class= "eventdate" bgcolor= "#eeffee" > <xsl:value-of select= "@date" /> </td>
<td rowspan= "2" valign= "top" class= "eventitem" bgcolor= "white" >
2002-03-11 15:39:54 -05:00
<a href= "{translate(concat('/events/', @room, '-', @date, '-', @time, '.html'), ' ', '_')}" >
<xsl:value-of select= "@title" />
</a> .
<xsl:value-of select= "short" />
</td>
</tr>
<tr >
2002-10-27 21:14:54 -05:00
<td class= "eventroom" bgcolor= "#eeffee" > <xsl:value-of select= "@time" /> ,
2002-03-11 15:39:54 -05:00
<xsl:value-of select= "@room" /> </td>
</tr>
</xsl:if>
</xsl:for-each>
<tr >
2002-10-27 21:17:10 -05:00
<td class= "eventitem" bgcolor= "white" colspan= "2" > <a href= "events/" > Past
2002-03-11 15:39:54 -05:00
events</a> are available.</td>
</tr>
</xsl:template>
<xsl:template match= "eventdefs" >
<xsl:apply-templates />
</xsl:template>
<xsl:template match= "eventitem" >
<xsl:document method= "html"
href="{translate(concat($root, '/events/', @room, '-', @date, '-', @time, '.html'), ' ', '_')}">
<xsl:text disable-output-escaping= "yes" > <![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">]]>
</xsl:text>
<html >
<head >
<title > <xsl:value-of select= "@title" /> </title>
<style type= "text/css" >
<![CDATA[<!-- @import url('/default.css'); -->]]>
</style>
</head>
2002-10-27 21:11:31 -05:00
<body bgcolor= "#ffffff" >
2002-03-11 15:39:54 -05:00
<xsl:call-template name= "header" >
<xsl:with-param name= "title" select= "@title" />
</xsl:call-template>
<p >
Held in <xsl:value-of select= "@room" /> at
<xsl:value-of select= "@date" /> , <xsl:value-of select= "@time" /> .
</p>
<h2 > Abstract</h2>
<xsl:apply-templates select= "abstract" />
<xsl:call-template name= "footer" />
</body>
</html>
</xsl:document>
</xsl:template>
<xsl:template match= "news-and-events" >
<table cellspacing= "1" cellpadding= "2" bgcolor= "black" >
<xsl:call-template name= "events" />
2002-09-17 00:08:11 -04:00
<xsl:call-template name= "news" />
2002-03-11 15:39:54 -05:00
</table>
</xsl:template>
2002-04-15 20:03:09 -04:00
<xsl:template match= "events-this-term" name= "events-by-term" >
2002-04-15 13:37:12 -04:00
<p > The events for <xsl:value-of select= "csc:term($date)" /> are listed here.</p>
2002-03-11 15:39:54 -05:00
<xsl:for-each select= "document('events.xml')/eventdefs/eventitem" >
<xsl:sort select= "translate(@date, '-', '')"
order="ascending"
data-type="number"/>
2002-04-15 13:38:13 -04:00
<xsl:if test= "csc:term(@date) = csc:term($date)" >
2002-04-15 17:20:33 -04:00
<h3 > <a href= "{translate(concat('/events/', @room, '-', @date, '-', @time, '.html'), ' ', '_')}" > <xsl:value-of select= "@title" /> </a> </h3>
2002-03-11 15:39:54 -05:00
<p >
<b > <xsl:value-of select= "@room" /> ,
<xsl:value-of select= "@date" /> , <xsl:value-of
select="@time"/>: </b>
<xsl:value-of select= "short" />
<a href= "{translate(concat('/events/', @room, '-', @date, '-', @time, '.html'), ' ', '_')}" >
More information</a> .
</p>
</xsl:if>
</xsl:for-each>
</xsl:template>
2002-09-17 00:08:11 -04:00
<xsl:template match= "news-this-term" name= "news-by-term" >
<p > The news for <xsl:value-of select= "csc:term($date)" /> is listed here.</p>
<xsl:for-each select= "document('news.xml')/newsdefs/newsitem" >
<xsl:sort select= "translate(@date, '-', '')"
order="descending"
data-type="number"/>
<xsl:if test= "csc:term(@date) = csc:term($date)" >
<p >
<b > <xsl:value-of select= "@date" /> ,
<xsl:value-of select= "@author" /> : </b> <xsl:apply-templates />
</p>
</xsl:if>
</xsl:for-each>
</xsl:template>
2002-04-15 18:31:30 -04:00
<xsl:template match= "members-this-term" >
<p > The members for <xsl:value-of select= "csc:term($date)" /> are
2002-09-16 23:26:19 -04:00
listed here. We currently have <xsl:value-of
select="count(document('members.xml')/memberlist/member)"/> members.</p>
2002-04-15 18:31:30 -04:00
<table >
<tr >
<th > Member ID</th>
<th > Name</th>
<th > Program</th>
</tr>
<xsl:for-each select= "document('members.xml')/memberlist/member" >
<tr >
2002-04-22 21:02:42 -04:00
<xsl:if test= "position() mod 2 = 0" >
<xsl:attribute name= "bgcolor" > #cee6ff</xsl:attribute>
</xsl:if>
2002-04-15 18:31:30 -04:00
<td > <xsl:value-of select= "@id" /> </td>
<td > <xsl:value-of select= "@name" /> </td>
<td > <xsl:value-of select= "@program" /> </td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
2002-04-22 21:02:42 -04:00
<xsl:template match= "all-books" >
<p > The books we currently own include:</p>
<table >
<tr >
<th > Title</th>
<th > Author</th>
</tr>
<xsl:for-each select= "document('books.xml')/booklist/book" >
<tr >
<xsl:if test= "position() mod 2 = 0" >
<xsl:attribute name= "bgcolor" > #cee6ff</xsl:attribute>
</xsl:if>
2002-04-22 23:30:13 -04:00
<td > <a href= "/office/books/{translate(@isbn, ' ', '_')}.html" > <xsl:value-of
2002-04-22 21:02:42 -04:00
select="@title"/><xsl:if test= "@edition != ''" > (<xsl:value-of
select="@edition"/>)</xsl:if> </a> </td>
<td > <xsl:value-of select= "@author" /> </td>
</tr>
<xsl:document method= "html" href= "{translate(concat($root, '/office/books/', @isbn, '.html'), ' ', '_')}" >
<xsl:text disable-output-escaping= "yes" > <![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">]]>
</xsl:text>
<html >
<head >
<title > Book: <xsl:value-of select= "@title" /> </title>
<style type= "text/css" >
<![CDATA[<!-- @import url('/default.css'); -->]]>
</style>
</head>
2002-10-27 21:11:31 -05:00
<body bgcolor= "#ffffff" >
2002-04-22 21:02:42 -04:00
<xsl:call-template name= "header" >
<xsl:with-param name= "title" select= "@title" />
2002-04-22 21:28:50 -04:00
<xsl:with-param name= "pwd" select= "concat($pwd, '/books')" />
2002-04-22 21:02:42 -04:00
</xsl:call-template>
<p >
<b > Title: </b> <xsl:value-of select= "@title" /> <br />
<b > Edition: </b> <xsl:value-of select= "@edition" /> <br />
<b > ISBN: </b> <xsl:value-of select= "@isbn" /> <br />
<b > Author: </b> <xsl:value-of select= "@author" /> <br />
<b > Published: </b> <xsl:value-of select= "@published" /> <br />
</p>
<xsl:call-template name= "footer" />
</body>
</html>
</xsl:document>
</xsl:for-each>
</table>
</xsl:template>
2002-03-11 15:39:54 -05:00
<xsl:template match= "generate-event-files" >
<xsl:apply-templates select= "document('events.xml')/eventdefs" />
</xsl:template>
2002-04-15 20:03:09 -04:00
<xsl:key name= "eventterm"
match="/eventdefs/eventitem"
use="csc:term(@date)" />
2002-03-11 15:39:54 -05:00
2002-04-15 20:03:09 -04:00
<xsl:template match= "old-events" >
<xsl:for-each
select="document('events.xml')/eventdefs/eventitem">
<xsl:sort select= "translate(@date, '-', '')"
2002-04-15 23:50:34 -04:00
order="descending"
2002-04-15 20:03:09 -04:00
data-type="number"/>
2002-03-11 15:39:54 -05:00
2002-04-15 20:03:09 -04:00
<xsl:if
test="not(preceding-sibling::*[csc:term(@date)=csc:term(current()/@date)]) and not(csc:term(@date) = csc:term($date))">
<p > <a href= "{translate(concat('old-',
csc:term(@date), '.html'), ' ', '_')}">
<xsl:value-of
select="csc:term(@date)"/></a> </p>
<xsl:document method= "html" href= "{translate(concat($root, '/events/old-', csc:term(@date), '.html'), ' ', '_')}" >
<xsl:text disable-output-escaping= "yes" > <![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">]]>
</xsl:text>
<html >
<head >
<title > Events for <xsl:value-of select= "csc:term(@date)" /> </title>
<style type= "text/css" >
<![CDATA[<!-- @import url('/default.css'); -->]]>
</style>
</head>
2002-10-27 21:11:31 -05:00
<body bgcolor= "#ffffff" >
2002-04-15 20:03:09 -04:00
<xsl:call-template name= "header" >
<xsl:with-param name= "title" select= "concat('Events for ', csc:term(@date))" />
</xsl:call-template>
<xsl:call-template name= "events-by-term" >
<xsl:with-param name= "date" select= "@date" />
</xsl:call-template>
<xsl:call-template name= "footer" />
</body>
</html>
</xsl:document>
</xsl:if>
</xsl:for-each>
</xsl:template>
2002-09-17 00:08:11 -04:00
<xsl:key name= "newsterm"
match="/newsdefs/newsitem"
use="csc:term(@date)" />
<xsl:template match= "old-news" >
<xsl:for-each
select="document('news.xml')/newsdefs/newsitem">
<xsl:sort select= "translate(@date, '-', '')"
order="descending"
data-type="number"/>
<xsl:if
test="not(preceding-sibling::*[csc:term(@date)=csc:term(current()/@date)]) and not(csc:term(@date) = csc:term($date))">
<p > <a href= "{translate(concat('old-',
csc:term(@date), '.html'), ' ', '_')}">
<xsl:value-of
select="csc:term(@date)"/></a> </p>
<xsl:document method= "html" href= "{translate(concat($root, '/news/old-', csc:term(@date), '.html'), ' ', '_')}" >
<xsl:text disable-output-escaping= "yes" > <![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">]]>
</xsl:text>
<html >
<head >
2002-09-17 00:09:07 -04:00
<title > News for <xsl:value-of select= "csc:term(@date)" /> </title>
2002-09-17 00:08:11 -04:00
<style type= "text/css" >
<![CDATA[<!-- @import url('/default.css'); -->]]>
</style>
</head>
2002-10-27 21:11:31 -05:00
<body bgcolor= "#ffffff" >
2002-09-17 00:08:11 -04:00
<xsl:call-template name= "header" >
<xsl:with-param name= "title" select= "concat('News for ', csc:term(@date))" />
</xsl:call-template>
<xsl:call-template name= "news-by-term" >
<xsl:with-param name= "date" select= "@date" />
</xsl:call-template>
<xsl:call-template name= "footer" />
</body>
</html>
</xsl:document>
</xsl:if>
</xsl:for-each>
</xsl:template>
2002-03-11 15:39:54 -05:00
<xsl:template match= "execlist" >
<h3 > Elected positions</h3>
<ul >
<xsl:apply-templates select= "exec[@type='elected']" />
</ul>
<h3 > Appointed positions</h3>
<ul >
<xsl:apply-templates select= "exec[@type='appointed']" />
</ul>
</xsl:template>
<xsl:template match= "exec" >
<li > <xsl:value-of select= "@name" /> is this term's <b > <xsl:value-of
select="@position"/></b> . You can <a
2002-10-05 18:47:13 -04:00
href="mailto:{@userid}@csclub.uwaterloo.ca">e-mail the <xsl:value-of select= "@position" /> </a> <xsl:if
2003-01-14 20:30:41 -05:00
test="not(@href='')"> or <a href= "{@href}" > visit
<xsl:choose >
<xsl:when test= "@sex='male'" > his </xsl:when>
<xsl:when test= "@sex='female'" > her </xsl:when>
<xsl:otherwise > his or her </xsl:otherwise>
</xsl:choose>
2002-03-11 15:39:54 -05:00
homepage</a> </xsl:if> .
</li>
</xsl:template>
<xsl:template match= "*" >
<xsl:copy >
<xsl:copy-of select= "@*" />
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>