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 >
2012-06-22 01:35:06 +02:00
<div id= "device" >
<div id= "device-2" >
2012-06-28 23:14:59 +02:00
<ul id= "info" >
<li > Samstag & Sonntag,</li>
<li > 13. & 14. Oktober 2012</li>
<li > Eintritt frei</li>
</ul>
2012-06-22 01:35:06 +02:00
<div id= "head" >
2012-06-27 17:15:49 +02:00
<a href= "index.html" >
<h1 > Datenspuren</h1>
<h2 > Voll verwanzt!</h2>
</a>
2012-06-22 01:35:06 +02:00
</div>
<div id= "screen" >
2012-06-27 17:42:55 +02:00
<div id= "screen-top" >
2012-06-22 01:35:06 +02:00
<div id= "menu" >
<div id= "battery" >
2012-07-23 18:22:20 +02:00
<img src= "images/battery.png" height= "64" />
2012-06-22 01:35:06 +02:00
</div>
<div >
<a href= "ort.html" >
2012-07-23 18:22:20 +02:00
<img src= "./images/map.png" width= "64" height= "64" />
2012-06-28 23:14:59 +02:00
<span > Scheune, Dresden</span>
2012-06-22 01:35:06 +02:00
</a>
</div>
<div >
2012-06-27 17:15:49 +02:00
<a href= "news-rss.xml" >
2012-07-23 18:22:20 +02:00
<img src= "./images/feed.png" width= "64" height= "64" />
2012-06-27 17:15:49 +02:00
</a>
2012-06-28 23:14:59 +02:00
<span > <a href= "news-rss.xml" > RSS</a> |<a href= "news-atom.xml" > Atom</a> </span>
2012-06-22 01:35:06 +02:00
</div>
<div >
2012-06-27 17:15:49 +02:00
<a href= "mitschnitte.html" >
2012-07-23 18:22:20 +02:00
<img src= "./images/video.png" width= "64" height= "64" />
2012-06-28 23:14:59 +02:00
<span > Mitschnitte</span>
2012-06-27 17:15:49 +02:00
</a>
2012-06-22 01:35:06 +02:00
</div>
<div >
2012-06-27 17:15:49 +02:00
<a href= "fahrplan.html" >
2012-07-23 18:22:20 +02:00
<img src= "./images/calendar.png" width= "64" height= "64" />
2012-06-28 23:14:59 +02:00
<span > Fahrplan</span>
2012-06-27 17:15:49 +02:00
</a>
2012-06-22 01:35:06 +02:00
</div>
<div >
2012-06-27 17:15:49 +02:00
<a href= "info.html" >
2012-07-23 18:22:20 +02:00
<img src= "./images/info.png" width= "64" height= "64" />
2012-07-03 14:42:43 +02:00
<span > Informationen</span>
2012-06-27 17:15:49 +02:00
</a>
2012-06-22 01:35:06 +02:00
</div>
<div id= "c3d2" >
<a href= "http://c3d2.de" >
2012-07-23 18:22:20 +02:00
<img src= "images/wlan.png" height= "64" />
2012-06-22 01:35:06 +02:00
</a>
</div>
</div>
<div id= "content" >
<xsl:apply-templates />
</div>
</div>
2012-06-27 17:42:55 +02:00
<div id= "footer" >
<ul id= "oldds" >
<li >
<a href= "../2011/" > 2011</a>
</li>
<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>
</ul>
<div >
2012-06-27 20:42:36 +02:00
<a href= "licenses.html" > Lizenzen</a> |
2012-06-27 17:42:55 +02:00
<a href= "http://www.c3d2.de/" > Chaos Computer Club Dresden</a> |
2012-06-27 20:42:36 +02:00
<a href= "mailto:mail@c3d2.de" title= "eMail webmaster" > mail@c3d2.de</a> </div>
2012-06-27 17:42:55 +02:00
</div>
</div>
2012-06-22 01:35:06 +02:00
</div>
</div>
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" />
2012-09-12 14:44:06 +02:00
<meta name= "description" content= "Symposium Datenspuren - Voll Verwanzt, 2012, Kulturzentrum Scheune, veranstaltet vom Chaos Computer Club Dresden" />
2011-04-22 17:13:06 +02:00
<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 >
2012-04-06 02:48:24 +02:00
<xsl:text > Datenspuren 2012 — </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>
2006-04-22 00:40:03 +02:00
</head>
</xsl:template>
2010-06-28 18:58:21 +02:00
2008-03-25 20:53:29 +01:00
<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" >
2012-06-29 00:28:51 +02:00
<div class= "preview" >
<img src= "{@poster}" title= "{@title}" />
</div>
2011-10-22 23:42:50 +02:00
</xsl:if>
2012-06-29 00:28:51 +02:00
<ul class= "links" >
2011-10-22 23:42:50 +02:00
<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