created branch

git-svn-id: svn://svn.c3d2.de/c3d2-web/branches/toidinamais_coole_scheisse@45 31f61c52-7bfb-0310-b897-fc00f8a278f0
This commit is contained in:
sven 2005-12-18 20:20:23 +00:00
commit a1e2ebd048
24 changed files with 826 additions and 0 deletions

68
Makefile Normal file
View File

@ -0,0 +1,68 @@
### Programme ###
# XSLT-Prozessor:
PROCESSOR=xsltproc
# Downloadmanager (Alternativ: curl, fetch):
WGET=wget
# Editor
EDITOR?=vim
# Browser
BROWSER?=links
### Ressourcen ###
# XSLT-Stylesheets:
STYLE=xsl/xhtml.xsl
STYLE_RSS=xsl/rss.xsl
# Navigationsleiste:
NAVIGATION=content/navigation.xml
# XML-Skeletons
SKELETONS:=$(wildcard content/skel-*.xml)
SKEL=empty
# Zu verwendendes Skeleton
SKELFILE=content/skel-$(SKEL).xml
# Dateinamen der Inhalte:
CONTENT:=$(patsubst content/%.xml, www/%.html, $(filter-out $(NAVIGATION) $(SKELETONS), $(wildcard content/*.xml)))
CLEAN:=$(CONTENT) www/news-rss.xml chaosupdates.rdf
### Defaults ###
.PHONY: contents clean
.DEFAULT: contents
.PRECIOUS: content/%.xml www/%.html
contents: $(CONTENT) www/news-rss.xml
### Regeln für den XSLT-Prozess ###
www/%.html: content/%.xml $(STYLE) $(NAVIGATION) chaosupdates.rdf
$(PROCESSOR) -o $@ $(STYLE) $<
www/news-rss.xml: content/news.xml $(STYLE_RSS)
$(PROCESSOR) -o $@ $(STYLE_RSS) $<
### Hilfsregeln zum Editieren ###
edit/%:
@if [ ! -e content/$(@F).xml ] ; then \
cp $(SKELFILE) content/$(@F).xml ;\
fi
@$(EDITOR) content/$(@F).xml
@if diff -q $(SKELFILE) content/$(@F).xml >/dev/null ; then \
echo "Warning: content/$(@F).xml does not differ from the skeleton $(SKELFILE)" ;\
rm -i content/$(@F).xml ;\
fi
view/%: www/%.html
@$(BROWSER) $<
content/%.xml:
$(MAKE) edit/$(patsubst content/%.xml,%,$@)
### Die neuesten Chaosupdates holen ###
chaosupdates.rdf:
$(WGET) http://www.ccc.de/updates/chaosupdates.rdf
### Mr. Propper ###
clean:
rm -f $(CLEAN)

7
content/impressum.xml Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<page title="Impressum">
<p>
Die Web-Seiten unter <link href="http://www.c3d2.de/">www.c3d2.de</link> sind eine Publikation des <link href="whois.html">Chaos Computer Club Dresden</link>. Jeglicher Inhalt ist den den jeweiligen Autoren zuzuschreiben. Links, die auf andere Server verweisen, sind nicht anzuklicken, bei Zuwiderhandlungen übernehmen wir keine Haftung. Copyright ist Aberglaube.
</p>
</page>

10
content/kontakt.xml Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<page title="Kontakt" pagetitle="E-Mail">
<p>
Anfragen an den Chaostreff Dresden bitte an <link href="mailto:mail@c3d2.de">mail@c3d2.de</link>.
</p>
<p>
Diese Adresse geht moderiert an unsere Mailingliste, d. h. an alle dort eingetragenen E-Mailadressen.
</p>
</page>

10
content/mailingliste.xml Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<page title="Mailingliste">
<p>
Einschreiben und mitreden:
</p>
<p>
<link href="https://www.skyhub.de/cgi-bin/mailman/listinfo/c3d2">Seite der Mailingliste</link>
</p>
</page>

10
content/navigation.xml Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<navigation>
<file>news</file>
<file>kontakt</file>
<file>mailingliste</file>
<file>wiki</file>
<file>silc</file>
<file>impressum</file>
</navigation>

45
content/news.xml Normal file
View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<page title="News">
<news>
<item title="22C3: Private Investigation is around the corner" date="Sat, 05 Nov 2005 23:05:50 CET" nicedate="Samstag, 5. November" author="Fnordic walker" category="Allgemein">
<p>
<image class="left" title="22C3">http://www.c3d2.de/typo3temp/pics/8de5efab18.png</image>
Der jährlich ausgetragene Chaos Communication Congress beginnt seine Magie auszustreuen. Pflicht!
</p>
</item>
<item title="Linux-Info-Tag" date="Thu, 06 Oct 2005 23:05:50 CET" nicedate="Donnerstag, 6. Oktober" author="Fnordic walker" category="Allgemein">
<p>
<image class="right" title="Dicker Pinguin">http://www.c3d2.de/uploads/pics/tux_01.png</image>
Am 29. Oktober findet der diesjährige Linux-Info-Tag in Dresden statt. Der c3d2 ist mit einem Stand, Vorträgen und Workshops dabei. CU.
</p>
</item>
<item title="Mailingliste" date="Tue, 23 Aug 2005 23:05:50 CET" nicedate="Dienstag, 23. August" author="Fnordic walker" category="Allgemein">
<p>
<image class="left" title="Delivered by mailman">http://www.c3d2.de/typo3temp/pics/9cc3346202.jpg</image>
Achtung! die Mailinglistenadresse hat sich gerade geändert. Bitte nutzt <link href="mailto:c3d2@mail.skyhub.de">c3d2@mail.skyhub.de</link>.
Archive sind auch noch da. Siehe <link href="https://mail.skyhub.de/mailman/listinfo/c3d2">Listeninfo</link>.
</p>
</item>
<!--item title="TA: Hacktivismus" date="Thu, 30 Jul 2005 23:05:50 CEST" nicedate="Donnerstag, 30. Juni" author="Fnordic walker" category="Themenabend">
<p>
Wegen des großen Erfolges des Vortrags Hacktivismus im <link href="https://berlin05.ccc.de/blog/">Camp Discordia</link> auf der Berlin05 gibt es diesen am 4. Juli ab 20 Uhr im <link href="http://www.azconni.de/">AZ Conni</link> nochmal, noch besser und mit Euch!
</p>
</item-->
<item title="Datenspuren Audio-Tracks 05" date="Mon, 30 May 2005 23:05:50 CEST" nicedate="Montag, 30. Mai" author="Fnordic walker" category="Allgemein">
<p>
<image class="right" title="Bild einer Datenspur">http://www.c3d2.de/typo3temp/pics/294776b4ed.gif</image>
Alle <link href="http://datenspuren.dresden.ccc.de/">Datenspuren</link> Audio-Mitschnitte endlich zum Download. Per ftp über <link>ftp://ftp.skyhub.de/datenspuren/2005/</link>.
</p>
</item>
<item title="Silc.dresden.ccc.de" date="Wed, 13 Apr 2005 05:23:05 CEST" nicedate="Mittwoch, 13. April" author="Fnordic walker" category="Allgemein">
<pre>/connect silc.dresden.ccc.de
/connect -6 silc.dresden.ccc.de
/join c3d2</pre>
<p>
<image class="right" title="Secure Internet Live Conferencing">http://www.c3d2.de/typo3temp/pics/aa268d9e62.gif</image>
Dunno what <link href="http://www.silcnet.net/">silc</link> is? Go <link href="http://de.wikipedia.org/wiki/SILC">here</link>.
</p>
</item>
</news>
</page>

70
content/silc.xml Normal file
View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<page pagetitle="Secure Internet Live Conferencing" title="SILC">
<p>
<link href="http://silcnet.org/">SILC</link> ermöglicht uns das alltägliche, virtuelle Palaver über verschlüsselte Kanäle. Um mitzuchatten benötigst Du einen Client, wie <link href="http://silcnet.org/software/download/client/">den offiziellen SILC-Client</link>, <link href="http://silky.sourceforge.net/">Silky</link> oder <link href="http://gaim.sf.net/">Gaim mit SILC-Unterstützung</link>. Bevor Du lange suchst: viele Linux-Distributionen bieten bereits Pakete mit einem dieser Programme an.
</p>
<p>
Los gehts mit dem Verbinden zu einem unserer Server:
</p>
<pre>/server silc.dresden.ccc.de</pre>
<p>
<em>silc.dresden.ccc.de</em> ist ein DNS-Round-Robin (d.h. dass vom Client zufällig ein Server ausgewählt wird), dem momentan 3 Server angehören:
</p>
<table>
<tr>
<td>Server</td>
<td>Operator</td>
<td>IPv4-Adresse</td>
<td>IPv6-Adresse </td>
<td>Port</td>
<td>Fingerprint</td>
<td>Babbleprint</td>
</tr>
<tr>
<td>silc.toidinamai.de</td>
<td><span title="Fingerprint: 76B1 4C69 F141 7392 AF53 DE56 515D 21A8 90AC 29DB">toidinamai</span></td>
<td>81.169.179.56</td>
<td>2001:6f8:13db::1</td>
<td>706</td>
<td>5DEF 7A20 3533 E803 819B 0BA5 008C A5C7 2C64 6FDC</td>
<td>xilev-zived-botaf-fipeb-fubyn-radop-hibum-sinus-lurak-gorit-syxax</td>
</tr>
<tr>
<td>silc.skyhub.de</td>
<td><span title="Fingerprint: 62EE A978 8AB2 F130 0792 84D6 7A02 C48A 96B2 C3A7">a8</span></td>
<td>213.239.214.24</td>
<td></td>
<td>706</td>
<td>C792 5FD7 B828 8592 4A55 C27B F94B 5B8C 27F1 80DF</td>
<td>xucon-dolit-luvyd-micon-dudyh-hobal-rivog-rikim-siniz-cubut-zexux</td>
</tr>
<tr>
<td>silc.bsd-crew.de</td>
<td><span title="Fingerprint: 3E30 04FD 2320 1C64 ED64 05A9 CA2E DE2D BB1A 0556">matthias</span></td>
<td>81.169.137.45</td>
<td></td>
<td>706</td>
<td>2CBA 24CD 9BB0 2578 B731 61F7 24B3 FBDD 2C70 AEFD</td>
<td>xerar-penys-tikor-benel-mitef-cymiz-lunar-fuvat-torol-byryz-tuxux</td>
</tr>
</table>
<p>
Um zu gewährleisten, dass man wirklich mit dem richtigen Server verbunden ist, sollte man beim ersten Mal die Fingerprints oder Babbleprints vergleichen.
</p>
<p>
Schon kommen wir zum letzten Schritt, dem Eintreten in den Chatraum (Channel):
</p>
<pre>/join c3d2</pre>
<p>
Für IRC-gewohnte ist hier Vorsicht geboten: der Channel-Name beginnt nicht notwendigerweise mit Doppelkreuz (#)!
</p>
<p>
Für weitere Fragen zu SILC kannst Du nun die Chatter löchern oder das <link href="http://wiki.bsd-crew.de/index.php/SILC">BSD-Crew-Wiki</link> konsultieren.
</p>
</page>

6
content/skel-empty.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<page pagetitle="" title="">
<p>
</p>
</page>

18
content/wiki.xml Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<page title="Wiki" pagetitle="WikiWikiWeb">
<p>
Bitte beachte die allgemeinen Hinweise, wie Du im <link href="https://wiki.c3d2.de/">c3d2-Wiki</link> arbeiten solltest. Das Wiki arbeitet auch unter https.
Die HTTP-Authentifizierung soll sich mit Benutzernamen "eris" und Passwort "discordia" überwinden lassen.
</p>
<p>
Jeder ist eingeladen, im <link href="https://wiki.c3d2.de/">c3d2-Wiki</link>
Inhalte zu editieren, kreative Beiträge hinzuzufügen, ...
</p>
<p>
Viel Spaß!
</p>
<p>
P.S.: Ein Wiki ist ein Web-basiertes System, mit dem man schnell Web-Seiten generieren und editieren kann. Eine Revisionskontrolle zeigt rückwirkend alle Änderungen.
</p>
</page>

3
documentation/NOTES Normal file
View File

@ -0,0 +1,3 @@
http://de.selfhtml.org/xml/darstellung/index.htm
http://www.sims.berkeley.edu/academics/courses/is290-8/s04/lectures/5/dragons/allslides.html
http://bobcat.webappcabaret.net/javachina/faq/xpath_01.htm#xpath_Q15

BIN
www/images/background.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
www/images/bullet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

BIN
www/images/c3d2_blue.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
www/images/ck.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

BIN
www/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
www/images/secure.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

BIN
www/images/star.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

BIN
www/images/top-left.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

BIN
www/images/top-right.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 B

256
www/style/default.css Normal file
View File

@ -0,0 +1,256 @@
body {
padding: 2%;
font: 120% Verdana, Arial, sans-serif;
background-image: url(../images/background.png);
text-align: center;
}
a[href ^=https] {
padding-left: 16px;
margin-left: 2px;
background: url(../images/secure.png) no-repeat;
}
pre {
border: thin dotted #ccc;
margin-left: 20px;
margin-right: 20px;
background-color: #fafafa;
padding: 1em;
}
#page {
float: left;
max-width: 1200px;
min-width: 800px;
}
#body {
display: table;
float: left;
max-width: 100% !important;
width: 100% !important;
}
#logo::before {
background: transparent url(../images/top-right.png) scroll no-repeat top right;
margin-bottom: -20px;
height: 30px;
display: block;
border: none;
content: url(../images/top-left.png);
padding: 0;
line-height: 0.1;
font-size: 1px;
}
#logo {
height: 150px;
background: url(../images/c3d2_blue.jpg);
text-align: left;
}
#logo h1 {
position: relative;
top: 23px;
left: 23px;
padding: 65px 0 0 0;
overflow: hidden;
background-image: url(../images/logo.png);
background-repeat: no-repeat;
height: 0px !important;
height /**/:65px;
}
#navigation {
text-align: left;
display: table-cell;
margin-left: 0px;
width: 12%;
padding: 0.5em;
margin-top: 10px;
padding-top: 100px;
background: url(../images/ck.png) top center no-repeat;
}
#navigation form {
padding: 0.2em 0 0.2em 0;
margin: 1em 0.3em 0 0.3em;
border-top: #ebc63c 1px solid;
border-bottom: #ebc63c 1px solid;
text-align: center;
}
#navigation input[type =text] {
width: 80%;
}
#navigation ul {
list-style-type: square;
list-style-image: url(../images/bullet.png);
font-size: small;
margin-left: -1em;
}
#navigation li {
line-height: 2em;
}
#navigation a {
color: #676767;
text-decoration: none;
font-weight: bold;
}
#navigation a:hover {
text-decoration: underline;
}
#content {
display: table-cell;
text-align: left;
width: 50%;
border-left: #ccc 1.1px dashed;
border-right: #ccc 1.1px dashed;
font-size: 81%;
line-height: 1.3em;
padding: 0 2em;
}
#content p {
font-size: 90%;
margin: 1.5em 1em;
}
#content a {
text-decoration: none;
border-bottom: #ebc63c 1px solid;
color: #555;
}
#content a:hover {
border-width: 2px;
}
#content h1,
#content h2,
#content h3,
#content h4,
#content h5 {
letter-spacing: 3px;
margin: 0px;
background-color: transparent;
font-weight: bold;
}
#content h2 {
font-size: 200%;
margin-bottom: 1em;
margin-top: -60px;
color: #333;
}
#content h3 {
font-size: 150%;
margin-top: 30px;
color: #555;
}
#content h4 {
font-size: 120%;
}
#news {
text-align: left;
display: table-cell;
margin-right: 1em;
width: 10%;
background: url(../images/pesthoernchen.png) top center no-repeat;
padding: 1em;
padding-top: 90px;
margin-top: 10px;
font-size: small;
}
#news h2 {
font-size: 1.2em;
border-top: #ebc63c 1px solid;
padding-top: 5%;
}
#news ul {
list-style-type: circle;
list-style-image: url(../images/star.png);
font-size: small;
margin-left: -1em;
max-width: 10em !important;
}
#news ul li {
line-height: 1.5em;
}
#news a {
color: #666;
text-decoration: none;
font-style: italic;
}
#news a:hover {
text-decoration: underline;
}
#footer {
text-align: center;
font-size: small;
border: #ccc 1px solid;
border-top: none;
background: #fff url(../images/background_bottom.png) no-repeat left bottom;
}
#footer ul, #footer li {
display: inline;
list-style-type: none;
}
#footer li a {
margin: 0 1em;
color: #676767;
text-decoration: none;
font-weight: bold;
}
#footer li a img {
border: none;
}
.hidden {
color: white;
font-size: xx-small;
clear: both;
}
#update {
font: xx-small sans-serif;
letter-spacing: 0.8px;
color: #666;
}
#content hr.news {
display: none
}
#content div.news {
padding: 1em;
margin: 0;
margin-bottom: 0.5em;
}
.news_author {
font-size: small;
font-style: italic;
margin-left: 1em;
font-weight: bold;
}
#content h3.news {
border-bottom: #ebc63c 3px solid;
padding: 0px;
line-height: 1.1em;
font-size: 130%;
}
#content h3.news a {
border: none;
}
/* some little helpers */
img.left {
float: left;
margin-right: 1em;
}
img.right {
float: right;
margin-left: 1em;
}

60
xsl/rss.xsl Normal file
View File

@ -0,0 +1,60 @@
<?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:output method="xml"
version="1.0"
encoding="utf-8"
indent="yes"/>
<xsl:template match="/page">
<xsl:element name="rss">
<xsl:attribute name="version">2.0</xsl:attribute>
<xsl:attribute name="xml:lang">de</xsl:attribute>
<channel>
<title>www.c3d2.de Newsfeed</title>
<link>https://www.c3d2.de/</link>
<description>Neues aus dem Chaos Computer Club Dresden</description>
<language>de-de</language>
<pubDate><xsl:value-of select="news/item/@date"/></pubDate>
<xsl:apply-templates/>
</channel>
</xsl:element>
</xsl:template>
<xsl:template match="item">
<item>
<title><xsl:value-of select="@title"/></title>
<description><xsl:apply-templates/></description>
<author><xsl:value-of select="@author"/></author>
<category><xsl:value-of select="@category"/></category>
<pubDate><xsl:value-of select="@date"/></pubDate>
</item>
</xsl:template>
<xsl:template match="pre">
&lt;pre&gt;<xsl:apply-templates/>&lt;/pre&gt;
</xsl:template>
<xsl:template match="p">
&lt;p&gt;<xsl:apply-templates/>&lt;/p&gt;
</xsl:template>
<xsl:template match="image">
&lt;img src="<xsl:value-of select="."/>"<xsl:if test="@title"> title="<xsl:value-of select="@title"/>" alt="<xsl:value-of select="@title"/>"</xsl:if><xsl:if test="@class"> class="<xsl:value-of select="@class"/>"</xsl:if>/&gt;
</xsl:template>
<xsl:template match="link">
&lt;a<xsl:choose>
<xsl:when test="@href">
href="<xsl:value-of select="@href"/>"
</xsl:when>
<xsl:otherwise>
href="<xsl:value-of select="."/>"
</xsl:otherwise>
</xsl:choose><xsl:apply-templates/>&gt;
</xsl:template>
</xsl:stylesheet>

263
xsl/xhtml.xsl Normal file
View File

@ -0,0 +1,263 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:rss="http://purl.org/rss/1.0/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
exclude-result-prefixes="xsl rss rdf">
<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:template match="/page">
<xsl:element name="html">
<!--xsl:attribute name="xmlns">http://www.w3.org/1999/xhtml</xsl:attribute-->
<xsl:attribute name="lang">de</xsl:attribute>
<xsl:attribute name="xml:lang">de</xsl:attribute>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!--
### Header ###
-->
<meta name="description" content="&lt;&lt;&lt;/&gt;&gt; c3d2, der Erfahrungsaustauschkreis aus dem sächsischen Dresden" />
<meta name="keywords" content="c3d2 ccc dresden sachsen hacker" />
<meta name="robots" content="index,follow" />
<meta name="language" content="de" />
<meta name="author" content="Fnordic walker" />
<meta name="date" content="Jan 1 1970" />
<meta name="DC.Creator" content="Fnordic walker" />
<meta name="DC.Description" content="&lt;&lt;&lt;/&gt;&gt; c3d2, der Erfahrungsaustauschkreis aus dem sächsischen Dresden" />
<meta name="DC.Publisher" content="Chaos Computer Club Dresden" />
<meta name="DC.Date" content="Jan 1 1970" />
<meta name="DC.Type" content="Text" />
<meta name="DC.Format" content="text/html" />
<meta name="DC.Language" content="de" />
<meta name="DC.Coverage" content="Dresden" />
<meta name="DC.Title" content="c3d2: Chaos Computer Club Dresden" />
<link rel="icon" href="" type="image/png" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="news-rss.xml" />
<link rel="stylesheet" title="Default" type="text/css" href="style/default.css" />
<title>&lt;&lt;&lt;/&gt;&gt; Chaos Computer Club Dresden | c3d2</title>
</head>
<body>
<div id="page">
<!--
### Logo ###
-->
<xsl:comment>
### Logo ###
</xsl:comment>
<div id="logo">
<h1>&lt;&lt;&lt;/&gt;&gt; Chaos Computer Club Dresden | c3d2</h1>
</div>
<div id="body">
<!--
### Navigation ###
-->
<xsl:comment>
### Navigation ###
</xsl:comment>
<div id="navigation">
<!--
### Search ###
-->
<xsl:comment>
### Search ###
</xsl:comment>
<form action="http://www.google.de/custom" method="get">
<p>
<input type="text" name="q" size="20" value="c3d2" />
<input type="hidden" name="domains" value="c3d2.de" />
<input type="hidden" name="sitesearch" value="www.c3d2.de" />
<input type="submit" name="submit" value="Suchen!" />
</p>
</form>
<ul>
<xsl:for-each select="document('../content/navigation.xml')/navigation/file">
<xsl:call-template name="navitem"><xsl:with-param name="file" select="."/></xsl:call-template>
</xsl:for-each>
</ul>
</div>
<!--
### Content ###
-->
<xsl:comment>
### Content ###
</xsl:comment>
<div id="content">
<h2>
<xsl:choose>
<xsl:when test="/page/@pagetitle">
<xsl:value-of select="/page/@pagetitle"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/page/@title"/>
</xsl:otherwise>
</xsl:choose>
</h2>
<xsl:apply-templates/>
</div>
<!--
### News ###
-->
<xsl:comment>
### News ###
</xsl:comment>
<div id="news">
<h2>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="document('../chaosupdates.rdf')/rdf:RDF/rss:channel/rss:link"/>
</xsl:attribute>
<xsl:value-of select="document('../chaosupdates.rdf')/rdf:RDF/rss:channel/rss:title"/>
</xsl:element>
</h2>
<ul>
<xsl:for-each select="document('../chaosupdates.rdf')/rdf:RDF/rss:item[position() &lt; 14]">
<li>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="rss:link"/>
</xsl:attribute>
<xsl:value-of select="rss:title"/>
</xsl:element>
</li>
</xsl:for-each>
</ul>
</div>
</div>
<!--
### Footer ###
-->
<xsl:comment>
### Footer ###
</xsl:comment>
<div id="footer">
<ul>
<li><a href="impressum.html">Impressum</a></li>
<li>
<!--
Creative Commons License
-->
<xsl:comment>
Creative Commons License
</xsl:comment>
<a rel="license" href="http://creativecommons.org/licenses/by-sa/2.0/de/deed.de">
<img alt="Creative Commons License" src="http://creativecommons.org/images/public/somerights20.gif" title="Creative Commons Attribution-ShareAlike 2.0 Germany License" />
</a>
<xsl:comment>
&lt;rdf:RDF xmlns="http://web.resource.org/cc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
&lt;Work rdf:about=""&gt;
&lt;dc:type rdf:resource="http://purl.org/dc/dcmitype/Interactive" /&gt;
&lt;license rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/de/" /&gt;
&lt;/Work&gt;
&lt;License rdf:about="http://creativecommons.org/licenses/by-sa/2.0/de/"&gt;
&lt;permits rdf:resource="http://web.resource.org/cc/Reproduction" /&gt;
&lt;permits rdf:resource="http://web.resource.org/cc/Distribution" /&gt;
&lt;requires rdf:resource="http://web.resource.org/cc/Notice" /&gt;
&lt;requires rdf:resource="http://web.resource.org/cc/Attribution" /&gt;
&lt;permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" /&gt;
&lt;requires rdf:resource="http://web.resource.org/cc/ShareAlike" /&gt;
&lt;/License&gt;
&lt;/rdf:RDF&gt;
</xsl:comment>
</li>
<li>
<a href="http://validator.w3.org/check?uri=referer">
<img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict" />
</a>
</li>
</ul>
<!-- <p id="update">
<strong>last update:</strong> 02/08/2005 15:15 CEST
</p> -->
</div>
<small class="hidden">
Cover, Concealment, Camouflage, Denial and Deception
</small>
</div>
</body>
</xsl:element>
</xsl:template>
<xsl:template match="news">
<xsl:for-each select="item">
<h3 class="news"><xsl:value-of select="@title"/></h3>
<small class="news_author">
<xsl:value-of select="@author"/>
</small>
<xsl:element name="small">
<xsl:attribute name="class">news_date</xsl:attribute>
<xsl:attribute name="title"><xsl:value-of select="@nicedate"/></xsl:attribute>
@ <xsl:value-of select="@date"/>
</xsl:element>
<div class="news">
<xsl:apply-templates/>
</div>
<hr class="news"/>
</xsl:for-each>
</xsl:template>
<xsl:template match="pre">
<pre><xsl:apply-templates/></pre>
</xsl:template>
<xsl:template match="p">
<p><xsl:apply-templates/></p>
</xsl:template>
<xsl:template match="image">
<xsl:element name="img">
<xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute>
<xsl:attribute name="title"><xsl:value-of select="@title"/></xsl:attribute>
<xsl:attribute name="alt"><xsl:value-of select="@title"/></xsl:attribute>
<xsl:attribute name="class"><xsl:value-of select="@class"/></xsl:attribute>
</xsl:element>
</xsl:template>
<xsl:template match="link">
<xsl:element name="a">
<xsl:choose>
<xsl:when test="@href">
<xsl:attribute name="href"><xsl:value-of select="@href"/></xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="href"><xsl:value-of select="."/></xsl:attribute>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="em">
<xsl:value-of select="."/>
</xsl:template>
<xsl:template name="navitem">
<xsl:param name="file"/>
<li>
<xsl:element name="a">
<xsl:attribute name="href"><xsl:value-of select="$file"/>.html</xsl:attribute>
<xsl:if test="document(concat('../content/', $file, '.xml'))/page/@pagetitle">
<xsl:attribute name="title"><xsl:value-of select="document(concat('../content/', $file, '.xml'))/page/@pagetitle"/></xsl:attribute>
</xsl:if>
<xsl:value-of select="document(concat('../content/', $file, '.xml'))/page/@title"/>
</xsl:element>
</li>
</xsl:template>
</xsl:stylesheet>