c3d2-web/xsl/datenspuren/xhtml5.xsl

251 lines
8.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:date="http://exslt.org/dates-and-times"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="xsl date">
<xsl:include href="../common.xsl" />
<xsl:output method="xml"
version="1.0"
encoding="utf-8"
indent="yes"/>
<xsl:strip-space elements="p ul td"/>
<xsl:template match="/page">
<xsl:text disable-output-escaping="yes">&lt;!DOCTYPE html&gt;
</xsl:text>
<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 lang="de" xml:lang="de" dir="ltr">
<xsl:call-template name="htmlhead">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<body>
<div id="logo"><img alt="rocket" src="images/rocket.svg" width="108"/></div>
<aside>
<ul>
<li>2-tägiges Symposium zu Datenschutz und Privatsphäre</li>
<li>Kulturzentrum Scheune Dresden, Eintritt frei</li>
<li>Sa 7. &amp; So 8. September 2013</li>
</ul>
</aside>
<header>
<a href="index.html">
<h1>Datenspuren</h1>
<h2>Privacy by Design</h2>
</a>
</header>
<nav>
<div>
<a href="info.html">
<img src="./images/info.svg" width="64" height="64"/>
<span>Informationen</span>
</a>
</div>
<div>
<a href="ort.html">
<img src="./images/map.svg" width="64" height="64"/>
<span>Ort</span>
</a>
</div>
<div>
<a href="fahrplan.html">
<img src="./images/calendar.svg" width="64" height="64"/>
<span>Programm</span>
</a>
</div>
<div>
<a href="news-rss.xml">
<img src="./images/feed.svg" width="64" height="64"/>
</a>
<span><a href="news-rss.xml">RSS</a>|<a href="news-atom.xml">Atom</a></span>
</div>
<div>
<a href="mitschnitte.html">
<img src="./images/video.svg" width="64" height="64"/>
<span>Mitschnitte</span>
</a>
</div>
<div id="c3d2">
<a href="http://c3d2.de">
<img src="images/c3d2.svg"/>
</a>
</div>
</nav>
<article>
<xsl:apply-templates/>
</article>
<footer>
<ul id="oldds">
<li><a href="../2012/">2012</a></li>
<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>
<a href="licenses.html">Lizenzen</a> |
<a href="http://www.c3d2.de/">Chaos Computer Club Dresden</a> |
<a href="mailto:mail@c3d2.de" title="eMail webmaster">mail@c3d2.de</a>
</div>
</footer>
</body>
</html>
</xsl:template>
<!-- Parse HTML schedule generated by Frab[tm] -->
<xsl:template match="include-frab-schedule">
<xsl:variable name="title" select="@title"/>
<xsl:for-each select="document(@src)/day">
<h2 class="scheduletitle">
<xsl:choose>
<xsl:when test="$title">
<xsl:value-of select="$title"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@title"/>
</xsl:otherwise>
</xsl:choose>
</h2>
<table class="schedule">
<xsl:copy-of select="table/thead"/>
<xsl:copy-of select="table/tbody"/>
</table>
</xsl:for-each>
</xsl:template>
<xsl:template name="htmlhead">
<xsl:param name="title"/>
<head>
<meta charset="utf-8" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta name="description" content="Symposium Datenspuren - Privacy by Design, 2013, 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" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
<meta name="robots" content="index,follow" />
<meta name="language" content="German" />
<link rel="stylesheet" type="text/css" href="style/style.css" />
<link rel="icon" href="images/favicon.gif" type="image/gif" />
<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" />
<title>
<xsl:text>Datenspuren 2013 — </xsl:text>
<xsl:value-of select="$title" />
</title>
<script type="application/javascript" src="script/jquery-1.8.3.min.js" defer="defer">
<xsl:text> </xsl:text>
</script>
<script type="application/javascript" src="script/play-resources.js" defer="defer">
<xsl:text> </xsl:text>
</script>
</head>
</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) &gt; 0))">
<h3 class="summary">
<a href="https://www.c3d2.de/{substring-before(substring-after($newsfile, 'content/'), '.xml')}.html" class="url">
<xsl:value-of select="@title"/>
</a>
<date>
<xsl:call-template name="get-short-datestring">
<xsl:with-param name="date" select="@date"/>
</xsl:call-template>
</date>
</h3>
<!-- Diese Elemente entsprechen Block.class aus xsd/c3d2web.xsd -->
<!--xsl:apply-templates select=".//*[name() = 'dl' or name() = 'p' or name() = 'ul' or name() = 'ol' or name() = 'pre']"/-->
<xsl:apply-templates/>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
<xsl:template match="item/image">
<!-- Nix Bilder in den Datenspuren-News -->
</xsl:template>
<xsl:template match="resource">
<section class="resource">
<xsl:if test="@preview">
<xsl:attribute name="data-preview">
<xsl:value-of select="@preview"/>
</xsl:attribute>
</xsl:if>
<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>
<xsl:if test="@poster">
<div class="preview">
<img src="{@poster}" title="{@title}"/>
</div>
</xsl:if>
<ul class="links">
<li><xsl:call-template name="link-resource"/></li>
<xsl:for-each select="alternative">
<li><xsl:call-template name="link-resource"/></li>
</xsl:for-each>
<xsl:if test="@feedback-link">
<li class="feedback"><a href="{@feedback-link}">Feedback</a></li>
</xsl:if>
</ul>
</section>
</xsl:template>
<xsl:template name="link-resource">
<a href="{@url}" type="{@type}">
<xsl:call-template name="mime-for-human-short">
<xsl:with-param name="mime" select="@type"/>
</xsl:call-template>
</a>
<span class="size">
<xsl:call-template name="format-filesize">
<xsl:with-param name="value" select="@size"/>
</xsl:call-template>
</span>
</xsl:template>
</xsl:stylesheet>