2006-01-06 18:59:33 +01:00
<?xml version="1.0" encoding="utf-8"?>
2011-09-16 00:34:46 +02:00
<xsl:stylesheet version= "1.0"
2008-03-25 20:53:29 +01:00
xmlns="http://www.w3.org/1999/xhtml"
xmlns:date="http://exslt.org/dates-and-times"
2011-09-16 00:34:46 +02:00
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
2008-03-25 20:53:29 +01:00
exclude-result-prefixes="xsl date">
2006-01-06 18:59:33 +01:00
2009-09-25 15:26:27 +02:00
<xsl:include href= "../common.xsl" />
2006-01-06 19:55:19 +01:00
2011-09-16 00:34:46 +02:00
<xsl:output method= "xml"
version="1.0"
encoding="utf-8"
2009-05-09 17:32:25 +02:00
indent="yes"/>
2011-09-16 00:34:46 +02:00
<xsl:strip-space elements= "p ul td" />
2006-04-22 00:40:06 +02:00
2006-01-06 18:59:33 +01:00
<xsl:template match= "/page" >
2010-11-09 22:25:17 +01:00
<xsl:text disable-output-escaping= "yes" > < !DOCTYPE html>
</xsl:text>
2009-05-09 17:32:25 +02:00
2006-01-14 19:41:48 +01:00
<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>
2009-05-09 17:32:25 +02:00
<html lang= "de" xml:lang= "de" dir= "ltr" >
2006-04-28 23:57:52 +02:00
<xsl:call-template name= "htmlhead" >
2009-05-09 17:32:25 +02:00
<xsl:with-param name= "title" select= "$title" />
2011-09-16 00:34:46 +02:00
</xsl:call-template>
2006-01-06 18:59:33 +01:00
<body >
2011-09-16 00:34:46 +02:00
<div id= "header" >
2011-10-06 21:39:48 +02:00
<a href= "." > <div id= "aussicht" >
2011-09-16 01:20:14 +02:00
<h1 > Mit Aussicht auf Datenspuren</h1>
2011-09-16 00:34:46 +02:00
<xsl:text > </xsl:text>
2011-09-16 01:42:53 +02:00
</div> </a>
2006-01-06 18:59:33 +01:00
</div>
2011-09-29 22:14:40 +02:00
<div id= "ct0" > ​ </div>
<div id= "ct1" >
2011-09-16 00:34:46 +02:00
<div id= "content" >
<div id= "cloudy" >
2011-09-16 02:11:18 +02:00
<div id= "cloudy-sun" title= "Click here!" >
2011-09-16 01:56:06 +02:00
<xsl:text > </xsl:text>
</div>
2011-09-29 22:14:40 +02:00
</div>
2011-09-16 00:34:46 +02:00
<xsl:call-template name= "heading" >
<xsl:with-param name= "title" select= "$title" />
</xsl:call-template>
2011-09-16 01:04:22 +02:00
<div id= "bodyText" > <div >
2011-09-16 00:34:46 +02:00
<xsl:apply-templates />
2011-09-16 01:04:22 +02:00
</div> </div>
2011-09-29 22:14:40 +02:00
</div> <!-- content -->
</div> <!-- ct1 -->
<div id= "ct2" > ​ </div>
2011-09-16 00:34:46 +02:00
<xsl:call-template name= "footer" />
2006-04-22 00:40:03 +02:00
</body>
</html>
</xsl:template>
<!-- Parse XHTML schedule generated by Pentabarf[tm] -->
2006-05-08 02:58:41 +02:00
<!-- Da ich hier nicht lange frickeln wollte, wird xhtml nochmal als
2009-05-09 17:32:25 +02:00
extra NS behandelt, also jegliche Elemente in XPath mit xhtml:
prefixen
2006-05-08 02:58:41 +02:00
2009-05-09 17:32:25 +02:00
Weiterhin ist Pentabarf-Output XHTML und kein schicker XML-Dialekt.
Dafür haben wir da drin aber schon eine schicke Tabellenstruktur. Für
die <td /> s usw. extra Templates anzulegen war mir zu unsauber, deshalb
wird hier überall manuell durchiteriert.
2006-05-08 02:58:41 +02:00
2009-05-09 17:32:25 +02:00
Vorgehensweise klar? -~~~~ -->
2009-10-03 00:25:42 +02:00
<xsl:template match= "include-pentabarf-schedule" xmlns:x= "http://www.w3.org/1999/xhtml" >
<xsl:for-each select= "document(@src)//x:div[@id='schedule']" >
2011-09-22 23:46:25 +02:00
<h2 class= "scheduletitle" >
2009-10-03 00:25:42 +02:00
<xsl:value-of select= "x:h1" />
</h2>
2006-05-08 02:58:41 +02:00
2010-11-09 23:13:51 +01:00
<table class= "schedule" >
2009-10-03 00:25:42 +02:00
<tr >
<xsl:for-each select= "x:table/x:thead/x:tr/x:th" >
<th >
<xsl:if test= "x:strong" >
<xsl:attribute name= "class" > schedulehead</xsl:attribute>
<xsl:value-of select= "x:strong" />
</xsl:if>
</th>
</xsl:for-each>
</tr>
2006-05-08 02:58:41 +02:00
2009-10-03 00:25:42 +02:00
<xsl:for-each select= "x:table/x:tbody/x:tr" >
<tr >
<xsl:for-each select= "x:td" >
<xsl:if test= "@class" >
<td >
2009-10-12 20:03:26 +02:00
<xsl:if test= "normalize-space(@rowspan) != ''" >
<xsl:attribute name= "rowspan" >
<xsl:value-of select= "@rowspan" />
</xsl:attribute>
</xsl:if>
2006-05-08 02:58:41 +02:00
2009-10-03 00:25:42 +02:00
<xsl:choose >
<xsl:when test= 'count(x:*)=0' >
<!-- Zeit oder leer -->
<xsl:variable name= "time"
select="normalize-space(.)"/>
2006-05-09 12:46:07 +02:00
2009-10-03 00:25:42 +02:00
<xsl:attribute name= "class" >
<xsl:text > timeslot</xsl:text>
2006-05-09 12:46:07 +02:00
<xsl:choose >
2009-10-03 00:25:42 +02:00
<xsl:when test= "substring($time, string-length($time)) = '0'" >
<xsl:text > even</xsl:text>
</xsl:when>
<xsl:when test= "substring($time, string-length($time)) = '5'" >
<xsl:text > odd</xsl:text>
2006-05-09 12:46:07 +02:00
</xsl:when>
</xsl:choose>
2009-10-03 00:25:42 +02:00
</xsl:attribute>
2011-09-16 00:34:46 +02:00
2009-10-03 00:25:42 +02:00
<xsl:value-of select= "$time" />
</xsl:when>
<xsl:otherwise >
<!-- Event -->
<xsl:attribute name= "class" > event</xsl:attribute>
2011-09-22 14:14:46 +02:00
<a class= "event" href= "fahrplan/{x:p[@class='title']/x:a/@href}" >
2009-10-03 00:25:42 +02:00
<xsl:value-of select= "x:p[@class='title']" />
</a>
<xsl:if test= "x:ul[@class='speakers']/x:li/x:a" >
<ul >
<xsl:for-each select= "x:ul[@class='speakers']/x:li/x:a" >
<li >
2011-09-22 14:14:46 +02:00
<a href= "fahrplan/{@href}" >
2009-10-03 00:25:42 +02:00
<xsl:value-of select= "." />
</a>
</li>
</xsl:for-each>
</ul>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</td>
</xsl:if>
2006-05-08 02:58:41 +02:00
</xsl:for-each>
2009-10-03 00:25:42 +02:00
</tr>
</xsl:for-each>
2006-05-08 02:58:41 +02:00
2009-10-03 00:25:42 +02:00
</table>
</xsl:for-each>
2006-01-06 18:59:33 +01:00
</xsl:template>
2006-04-22 00:40:03 +02:00
<xsl:template name= "htmlhead" >
<xsl:param name= "title" />
<head >
2010-11-09 22:25:17 +01:00
<meta charset= "utf-8" />
2011-10-31 17:48:53 +01:00
<meta http-equiv= "content-type" content= "text/html; charset=UTF-8" />
2011-04-22 17:13:06 +02:00
<meta name= "description" content= "Symposium Datenspuren - Privatsphäre war gestern, 2011, Kulturzentrum Scheune, veranstaltet vom Chaos Computer Club Dresden" />
<meta name= "keywords" content= "Symposium Datenspuren,c3d2,Chaos Computer Club,CCC,Dresden,Datenschutz,Privatsphäre,IPv6,Cloud,ePostbrief,de-Mail,Anonymität,informationelle Selbstbestimmung,Überwachung,Data Mining,ETSI,RFID,Mautsystem,Remailer,TCPA,TCG,Bundestrojaner,Vorratsdatenspeicherung,Biometrie" />
2006-04-22 00:40:03 +02:00
<meta name= "robots" content= "index,follow" />
<meta name= "language" content= "German" />
2010-06-28 18:58:21 +02:00
<link rel= "stylesheet" type= "text/css" href= "style/style.css" />
2011-10-09 03:40:35 +02:00
<link rel= "icon" href= "images/favicon.gif" type= "image/gif" />
2008-03-25 20:53:29 +01:00
<link rel= "alternate" type= "application/rss+xml" title= "RSS 2.0" href= "news-rss.xml" />
<link rel= "alternate" type= "application/atom+xml" title= "Atom 1.0" href= "news-atom.xml" />
2006-04-22 00:40:03 +02:00
<title >
2011-09-17 04:13:09 +02:00
<xsl:text > Datenspuren 2011 — </xsl:text>
2006-04-22 00:40:03 +02:00
<xsl:value-of select= "$title" />
</title>
2011-09-15 23:39:34 +02:00
<script type= "application/javascript" src= "script/jquery-1.6.4.min.js" defer= "defer" >
<xsl:text > </xsl:text>
</script>
2011-10-23 00:10:51 +02:00
<script type= "application/javascript" src= "script/play-resources.js" defer= "defer" >
<xsl:text > </xsl:text>
</script>
2011-09-15 23:39:34 +02:00
<script type= "application/javascript" src= "script/clouds.js" defer= "defer" >
<xsl:text > </xsl:text>
</script>
2006-04-22 00:40:03 +02:00
</head>
</xsl:template>
2010-06-28 18:58:21 +02:00
2006-04-22 00:40:03 +02:00
<xsl:template name= "heading" >
2011-09-16 01:04:22 +02:00
<div class= "leftSideBar" > <div >
2011-09-16 00:34:46 +02:00
<h2 > Termin</h2>
<ul >
<li >
Samstag & Sonntag,<br />
15. & 16. Oktober 2011
</li>
<li > Eintritt frei</li>
</ul>
2010-06-28 18:58:21 +02:00
2011-09-16 00:34:46 +02:00
<h2 > Ort</h2>
<ul >
<li > <a href= "http://www.scheune.org/" > Kulturzentrum Scheune</a> </li>
<li >
Alaunstr. 36-40<br />
01099 Dresden
</li>
</ul>
2010-06-28 19:18:25 +02:00
2011-09-16 00:34:46 +02:00
<h2 > Symposium</h2>
<ul >
<li >
<xsl:call-template name= "navigation-link" >
<xsl:with-param name= "page" > index</xsl:with-param>
</xsl:call-template>
2011-09-17 04:11:21 +02:00
<span class= "feedlinks" >
(<a href= "news-rss.xml" > RSS</a> , <a href= "news-atom.xml" > ATOM</a> )
</span>
2011-09-16 00:34:46 +02:00
</li>
<li >
<xsl:call-template name= "navigation-link" >
<xsl:with-param name= "page" > info</xsl:with-param>
</xsl:call-template>
</li>
<li >
<xsl:call-template name= "navigation-link" >
<xsl:with-param name= "page" > ort</xsl:with-param>
</xsl:call-template>
</li>
<li >
2011-10-29 00:04:55 +02:00
<xsl:call-template name= "navigation-link" >
<xsl:with-param name= "page" > fahrplan</xsl:with-param>
</xsl:call-template>
2011-10-22 23:42:50 +02:00
</li>
<li >
2011-09-16 00:34:46 +02:00
<xsl:call-template name= "navigation-link" >
2011-10-22 23:42:50 +02:00
<xsl:with-param name= "page" > mitschnitte</xsl:with-param>
2011-09-16 00:34:46 +02:00
</xsl:call-template>
2011-10-22 23:42:50 +02:00
</li>
2011-09-16 00:34:46 +02:00
</ul>
2011-09-16 01:04:22 +02:00
</div> </div>
2006-04-22 00:40:03 +02:00
</xsl:template>
2009-05-09 17:32:25 +02:00
<xsl:template name= "navigation-link" >
<xsl:param name= "page" />
<xsl:variable name= "title"
2009-09-25 15:26:27 +02:00
select="document(concat('../../content/datenspuren/', $page, '.xml'))/page/@title"/>
2009-05-09 17:32:25 +02:00
<a href= "{$page}.html" >
<xsl:if test= "$title = /page/@title" >
2010-06-28 19:18:25 +02:00
<xsl:attribute name= "class" > active</xsl:attribute>
2009-05-09 17:32:25 +02:00
</xsl:if>
<xsl:value-of select= "$title" />
</a>
</xsl:template>
<xsl:template name= "footer" >
2010-06-28 18:58:21 +02:00
<!-- div id="cccdd_logo">
2009-05-09 17:32:25 +02:00
<a href= "https://www.c3d2.de/" >
<img src= "images/cccdd_logo.png" alt= "Computer Chaos Club Dresden" />
</a>
2010-06-28 18:58:21 +02:00
</div-->
2010-06-28 19:27:26 +02:00
2011-09-16 00:34:46 +02:00
<div id= "footer" >
2011-09-16 01:42:53 +02:00
<ul id= "oldds" >
2011-10-06 21:39:48 +02:00
<li > <a href= "../2010/" > 2010</a> </li>
<li > <a href= "../2009/" > 2009</a> </li>
<li > <a href= "../2008/" > 2008</a> </li>
<li > <a href= "../2007/" > 2007</a> </li>
<li > <a href= "../2006/" > 2006</a> </li>
<li > <a href= "../2005/" > 2005</a> </li>
<li > <a href= "../2004/" > 2004</a> </li>
2011-09-16 01:42:53 +02:00
</ul>
2011-09-16 00:34:46 +02:00
<div >
2011-09-17 02:29:55 +02:00
Copyleft 2004 - 2011 |
<a href= "http://www.c3d2.de/" > Chaos Computer Club Dresden</a> |
2011-09-16 00:34:46 +02:00
<a href= "mailto:mail@c3d2.de" title= "eMail webmaster" > mail@c3d2.de</a> </div>
2010-06-28 19:27:26 +02:00
</div>
2008-03-25 20:53:29 +01:00
</xsl:template>
<xsl:template match= "news-list" >
<xsl:variable name= "prefix" select= "@prefix" />
<xsl:variable name= "details" select= "@details" />
<xsl:for-each select= "document('../../news.xml')/page/news/newsfile" >
<xsl:sort select= "date:seconds(document(concat('../../', .))/item/@date)" data-type= "number" order= "descending" />
<xsl:variable name= "newsfile" select= "." />
<xsl:for-each select= "document(concat('../../', $newsfile))/item" >
<xsl:if test= "((string-length($prefix) = 0) or starts-with($newsfile, concat('content/news/', $prefix))) and (($details != 'resources-only') or (count(resource) > 0))" >
<h3 class= "summary" >
2008-04-10 14:17:54 +02:00
<a href= "https://www.c3d2.de/{substring-before(substring-after($newsfile, 'content/'), '.xml')}.html" class= "url" >
2008-03-25 20:53:29 +01:00
<xsl:value-of select= "@title" />
</a>
2009-05-09 17:32:25 +02:00
<span class= "date" >
<xsl:call-template name= "get-short-datestring" >
<xsl:with-param name= "date" select= "@date" />
</xsl:call-template>
</span>
2008-03-25 20:53:29 +01:00
</h3>
2011-09-16 00:34:46 +02:00
2009-07-24 10:46:10 +02:00
<!-- Diese Elemente entsprechen Block.class aus xsd/c3d2web.xsd -->
2011-09-17 02:29:55 +02:00
<!-- xsl:apply - templates select=".//*[name() = 'dl' or name() = 'p' or name() = 'ul' or name() = 'ol' or name() = 'pre']"/ -->
<xsl:apply-templates />
2008-03-25 20:53:29 +01:00
</xsl:if>
</xsl:for-each>
</xsl:for-each>
2006-04-22 00:40:03 +02:00
</xsl:template>
2011-09-16 00:34:46 +02:00
2011-09-17 02:29:55 +02:00
<xsl:template match= "item/image" >
<!-- Nix Bilder in den Datenspuren - News -->
</xsl:template>
2011-10-22 23:42:50 +02:00
<xsl:template match= "resource" >
<section class= "resource" >
2011-10-23 00:10:51 +02:00
<xsl:if test= "@preview" >
<xsl:attribute name= "data-preview" >
<xsl:value-of select= "@preview" />
</xsl:attribute>
</xsl:if>
2011-10-28 23:03:46 +02:00
<h4 >
<xsl:choose >
<xsl:when test= "@details-link" >
<a href= "{@details-link}" >
<xsl:value-of select= "@title" />
</a>
</xsl:when>
<xsl:otherwise >
<xsl:value-of select= "@title" />
</xsl:otherwise>
</xsl:choose>
</h4>
2011-10-22 23:42:50 +02:00
<xsl:if test= "@poster" >
2011-10-23 00:10:51 +02:00
<img src= "{@poster}" title= "{@title}" />
2011-10-22 23:42:50 +02:00
</xsl:if>
<ul >
<li > <xsl:call-template name= "link-resource" /> </li>
<xsl:for-each select= "alternative" >
<li > <xsl:call-template name= "link-resource" /> </li>
</xsl:for-each>
2011-10-28 23:03:46 +02:00
<xsl:if test= "@feedback-link" >
<li class= "feedback" > <a href= "{@feedback-link}" > Feedback</a> </li>
</xsl:if>
2011-10-22 23:42:50 +02:00
</ul>
</section>
</xsl:template>
<xsl:template name= "link-resource" >
2011-10-23 00:10:51 +02:00
<a href= "{@url}" type= "{@type}" >
2011-10-29 03:36:22 +02:00
<xsl:call-template name= "mime-for-human-short" >
<xsl:with-param name= "mime" select= "@type" />
</xsl:call-template>
2011-10-22 23:42:50 +02:00
</a>
<span class= "size" >
<xsl:call-template name= "format-filesize" >
<xsl:with-param name= "value" select= "@size" />
</xsl:call-template>
</span>
</xsl:template>
2006-01-06 18:59:33 +01:00
</xsl:stylesheet>
2011-09-16 00:34:46 +02:00