c3d2-web/xsl/datenspuren/xhtml.xsl

232 lines
7.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="xsl">
<xsl:import href="../common.xsl" />
<xsl:variable name="css_classprefix">schedule</xsl:variable>
<xsl:output method="xml"
version="1.0"
encoding="utf-8"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="DTD/xhtml1-strict.dtd"
indent="yes"/>
<xsl:strip-space elements="p ul td"/>
<xsl:template match="p">
<xsl:element name="p">
<xsl:attribute name="class">schedule</xsl:attribute>
</xsl:element>
</xsl:template>
<xsl:template match="/page">
<xsl:variable name="title">
<xsl:choose>
<xsl:when test="/page/@pagetitle">
<xsl:value-of select="/page/@pagetitle"/>
</xsl:when>
<xsl:when test="/page/@title">
<xsl:value-of select="/page/@title"/>
</xsl:when>
<xsl:otherwise>
<xsl:comment><xsl:text> missing title </xsl:text></xsl:comment>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<xsl:call-template name="htmlhead"/>
<body>
<xsl:call-template name="heading">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<div id="bodyText">
<xsl:apply-templates/>
</div>
<xsl:call-template name="ending"/>
</body>
</html>
</xsl:template>
<!-- Parse XHTML schedule generated by Pentabarf[tm] -->
<xsl:template match="/html">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<xsl:call-template name="htmlhead"/>
<body>
<xsl:call-template name="heading">
<xsl:with-param name="title" select="'Programm'"/>
</xsl:call-template>
<div id="bodyText">
<xsl:for-each select="body/div/div/table">
<table class="schedule">
<xsl:apply-templates/>
</table>
</xsl:for-each>
</div>
<xsl:call-template name="ending"/>
</body>
</html>
</xsl:template>
<xsl:template match="table">
<xsl:element name="table">
<xsl:attribute name="class">
<xsl:value-of select="$css_classprefix"/><xsl:value-of select="@class"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="thead">
<xsl:element name="thead">
<xsl:attribute name="class">
<xsl:value-of select="$css_classprefix"/><xsl:value-of select="@class"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="tr">
<xsl:element name="tr">
<xsl:attribute name="class">
<xsl:value-of select="$css_classprefix"/><xsl:value-of select="@class"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="th">
<xsl:element name="th">
<xsl:attribute name="class">
<xsl:value-of select="$css_classprefix"/><xsl:value-of select="@class"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="td">
<xsl:element name="td">
<xsl:attribute name="class">
<xsl:value-of select="$css_classprefix"/><xsl:value-of select="@class"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="td">
<xsl:comment>
Count: <xsl:value-of select="count(../td[@class='room empty'])"/>
Position: <xsl:value-of select="position()"/>
</xsl:comment>
<xsl:choose>
<xsl:when test="(count(../td[@class='room empty'])=2 or count(../td)=2) and position()=4">
<td class="scheduleempty" colspan="2">
<xsl:text> </xsl:text>
</td>
</xsl:when>
<xsl:when test="count(../td[@class='room empty'])=2 and position()=6"/>
<xsl:otherwise>
<xsl:element name="td">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="@class='time'">scheduletime</xsl:when>
<xsl:when test="@class='room empty'">scheduleempty</xsl:when>
<xsl:otherwise>scheduleroom</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:choose>
<xsl:when test="@class='time'"><xsl:value-of select="."/></xsl:when>
<xsl:when test="@class='room empty'"><xsl:text> </xsl:text></xsl:when>
<xsl:otherwise>
<a class="scheduletitle">
<xsl:attribute name="href">http://www.pentabarf.org/ds2006<xsl:value-of select="p[@class='title']/a/@href"/></xsl:attribute>
<xsl:value-of select="p[@class='title']/a"/>
</a>
<span class="schedulespeakers">
<xsl:value-of select="ul/li/a"/>
</span>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="tbody">
<xsl:element name="tbody">
<xsl:attribute name="class">
<xsl:value-of select="$css_classprefix"/><xsl:value-of select="@class"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="ul">
<xsl:apply-templates/>
</xsl:template>
<xsl:template name="htmlhead">
<xsl:param name="title"/>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="Symposium Datenspuren - Privatsphäre war gestern, 08.05.2005, Kulturzentrum Scheune, veranstaltet vom Chaos Computer Club Dresden" />
<meta name="keywords" content="Symposium Datenspuren,c3d2,Chaos Computer Club,CCC,Dresden,Datenschutz,Privatsphäre,Anonymität,informationelle Selbstbestimmung,Überwachung,Data Mining,ETSI,RFID,Mautsystem,Remailer,TCPA,TCG" />
<meta name="robots" content="index,follow" />
<meta name="language" content="German" />
<link rel="stylesheet" type="text/css" href="style/style.css" />
<link rel="stylesheet" type="text/css" href="style/schedule.css" />
<title>
<xsl:text>Datenspuren 2006 - </xsl:text>
<xsl:value-of select="$title" />
</title>
</head>
</xsl:template>
<xsl:template name="heading">
<div id="header">
<h1>Datenspuren 2006</h1>
<h2>Privatsphäre war gestern</h2>
</div>
<div class="leftSideBar">
<div class="sideBarTitle">Termin</div>
<span>
Sonnabend &amp; Sonntag,<br />
13. &amp; 14. Mai 2006<br />
<br />
</span>
<div class="sideBarTitle">Ort</div>
<a href="http://www.scheune.org/">Kulturzentrum Scheune</a>
<span>
Alaunstr. 36-40<br />
01099 Dresden<br />
<a href="ort.html">mehr...</a>
<br />
</span>
<div class="sideBarTitle">Symposium</div>
<a href="index.html">Home</a>
<a href="info.html">Info</a>
<a href="vortraege.html">Vorträge</a>
<a href="cfp.html">Call for Papers</a>
<a href="mitschnitte.html">Mitschnitte</a>
<!--a href="uebernachtung.html">Übernachtung</a>
<a href="sonstiges.html">Sonstiges</a>
<a href="flyer_ds_2005.pdf">Flyer</a-->
<br />
<br />
<a href="http://datenspuren.dresden.ccc.de/2004/">2004</a>
<a href="http://datenspuren.dresden.ccc.de/2005/">2005</a>
<br />
</div>
</xsl:template>
<xsl:template name="ending">
<div id="footer">
<div>
Copyleft 2006, <a href="http://dresden.ccc.de/">Chaos Computer Club Dresden</a> |
<a href="mailto:datenspuren@cccv.de" title="eMail webmaster">datenspuren@cccv.de</a></div>
</div>
</xsl:template>
</xsl:stylesheet>