changed the way we handle tags: instead of a comma-separated list, xml nodes

svn path=/trunk/; revision=19357
This commit is contained in:
nicoulas 2011-01-21 12:16:36 +00:00
parent 1350fe90ba
commit 434a6edb88
62 changed files with 318 additions and 45 deletions

View File

@ -10,5 +10,8 @@
Software interessieren. Wir freuen uns auf eine große Teilnehmerzahl!
</body>
<link>https://wiki.fsfe.org/FellowshipEvents/Zurich_2011-01-20</link>
<tags>
<tag>front-page</tag>
</tags>
</event>
</eventset>

View File

@ -10,5 +10,8 @@
forward to seeing you there!
</body>
<link>https://wiki.fsfe.org/FellowshipEvents/Zurich_2011-01-20</link>
<tags>
<tag>front-page</tag>
</tags>
</event>
</eventset>

View File

@ -15,6 +15,10 @@
stattfinden. Die Veranstaltung ist öffentlich.
</p>
</body>
<tags>
<tag>front-page</tag>
<tag>it</tag>
</tags>
</event>
</eventset>

View File

@ -18,6 +18,10 @@
</p>
</body>
<tags>
<tag>front-page</tag>
<tag>it</tag>
</tags>
</event>
</eventset>

View File

@ -13,6 +13,12 @@
</p>
</body>
<tags>
<tag>front-page</tag>
<tag>it</tag>
</tags>
</event>
</eventset>

View File

@ -20,6 +20,10 @@
berichten.
</p>
</body>
<tags>
<tag>front-page</tag>
<tag>it</tag>
</tags>
</event>
</eventset>

View File

@ -17,6 +17,10 @@
για την <a href="/campaigns/pdfreaders/pdfreaders.html">δράση PDFreaders</a>.
</p>
</body>
<tags>
<tag>front-page</tag>
<tag>it</tag>
</tags>
</event>
</eventset>

View File

@ -15,6 +15,10 @@
Kirschner will discuss the <a href="/campaigns/pdfreaders/pdfreaders.html">PDFreaders campaign</a>.
</p>
</body>
<tags>
<tag>front-page</tag>
<tag>it</tag>
</tags>
</event>
</eventset>

View File

@ -11,5 +11,9 @@
</p>
</body>
<link>http://pirateconference.eventbrite.com/</link>
<tags>
<tag>front-page</tag>
<tag>gb</tag>
</tags>
</event>
</eventset>

View File

@ -15,5 +15,8 @@
Ihre geplanten Aktivitäten und Vorschläge, wie man diesen Tag begehen
kann.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</event>
</eventset>

View File

@ -11,5 +11,8 @@
στους πολίτες. <a href="mailto:discussion@fsfeurope.org">Στείλτε μας</a> τις δραστηριότητες που σχεδιάζετε
και προτείνετε για να εορτάσετε αυτήν την ημέρα.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</event>
</eventset>

View File

@ -6,5 +6,8 @@
<body>
<p>The <a href="http://en.wikipedia.org/wiki/World_Information_Society_Day">World Information Society Day</a> is a worldwide event dedicated to societal changes brought about by the Internet and new technologies. Take this opportunity to share with your community the advantages of Free Software and the empowering tools that it can offer citizens. <a href="mailto:discussion@fsfeurope.org">Send in</a> your planned and proposed activities to celebrate this day.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</event>
</eventset>
</eventset>

View File

@ -6,5 +6,8 @@
<body>
<p>De <a href="http://en.wikipedia.org/wiki/World_Information_Society_Day">World Information Society Day</a> is een wereldwijd evenement dat is gewijd aan de veranderingen die het Internet en nieuwe technologieën bij de samenleving teweeg brengen. Grijp deze kans aan om in jouw gemeenschap uit te leggen wat de voordelen zijn van Vrije Software en waartoe het je allemaal in staat stelt. <a href="mailto:discussion@fsfeurope.org">Stuur je</a> geplande en voorgenomen activiteiten om deze dag te vieren op.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</event>
</eventset>

View File

@ -6,5 +6,8 @@
<body>
<p>O <a href="http://en.wikipedia.org/wiki/World_Information_Society_Day">Dia Mundial da Sociedade da Informação</a> é um evento mundial dedicado às mudanças sociais trazidas pela Internet e as novas tecnologias. Aproveite esta oportunidade para compartilhar com a sua comunidade as vantagens do Software Livre e os instrumentos de capacitação que pode oferecer aos cidadãos. <a href="mailto:discussion@fsfeurope.org">Envie-nos</a> as suas atividades, planejadas e propostas, a celebrar este dia.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</event>
</eventset>

View File

@ -11,6 +11,9 @@
Informationsaustausch (intern wie nach außen) und E-Verwaltung.
</body>
<link>http://wiki.fsfe.org/groups/vienna/Wahl2010</link>
<tags>
<tag>at</tag>
</tags>
</news>
</newsset>

View File

@ -10,6 +10,9 @@
επικοινωνία (εσωτερική και εξωτερική) και στην ηλεκτρονική διακυβέρνηση.
</body>
<link>http://wiki.fsfe.org/groups/vienna/Wahl2010</link>
<tags>
<tag>at</tag>
</tags>
</news>
</newsset>

View File

@ -10,6 +10,9 @@
for communication (internal and external) and E-Governance.
</body>
<link>http://wiki.fsfe.org/groups/vienna/Wahl2010</link>
<tags>
<tag>at</tag>
</tags>
</news>
</newsset>

View File

@ -10,5 +10,8 @@
Estándares Abiertos para la comunicación (interna y externa) y el Gobierno Electrónico.
</body>
<link>http://wiki.fsfe.org/groups/vienna/Wahl2010</link>
<tags>
<tag>at</tag>
</tags>
</news>
</newsset>

View File

@ -10,5 +10,8 @@
para a comunicação (interna e externa) e o Governo Eletrônico.
</body>
<link>http://wiki.fsfe.org/groups/vienna/Wahl2010</link>
<tags>
<tag>at</tag>
</tags>
</news>
</newsset>

View File

@ -10,6 +10,9 @@
Computerfreak-Mädchen braucht.
</body>
<link>http://blogs.fsfe.org/fellowship-interviews/?p=119</link>
<tags>
<tag>de</tag>
</tags>
</news>
</newsset>

View File

@ -9,6 +9,9 @@
και γιατί το Ελεύθερο Λογισμικό χρειάζεται περισσότερα κορίτσια με εμμονή με τους υπολογιστές.
</body>
<link>http://blogs.fsfe.org/fellowship-interviews/?p=119</link>
<tags>
<tag>de</tag>
</tags>
</news>
</newsset>

View File

@ -6,7 +6,10 @@
<body>
Interviews with FSFE fellows are back! In the first in this new series Chris Woolfrey talks to Leena Simon about dogmatism, surveillance, and why Free Software needs more geek girls.
</body>
<link>http://blogs.fsfe.org/fellowship-interviews/?p=119</link>
<link>http://blogs.fsfe.org/fellowship-interviews/?p=119</link>
<tags>
<tag>de</tag>
</tags>
</news>
</newsset>

View File

@ -7,6 +7,9 @@
As entrevistas com os fellows da FSFE estão de volta! Na primeira desta nova série de conversações, Chris Woolfrey fala com Leena Simon sobre o dogmatismo, a espionagem e por que o Software Livre precisa de mais raparigas geek.
</body>
<link>http://blogs.fsfe.org/fellowship-interviews/?p=119</link>
<tags>
<tag>de</tag>
</tags>
</news>
</newsset>

View File

@ -49,5 +49,8 @@ du geleistet hast.“</p>
</ul>
</body>
<tags>
<tag>is</tag>
</tags>
</html>

View File

@ -51,5 +51,8 @@ Daniel Stehnberg. «Σημαίνει ότι η εργασία σου εκτιμ
</ul>
</body>
<tags>
<tag>is</tag>
</tags>
</html>

View File

@ -45,5 +45,8 @@ appreciated by people who understand what you have achieved."</p>
</ul>
</body>
<tags>
<tag>is</tag>
</tags>
</html>

View File

@ -29,5 +29,8 @@
</ul>
</body>
<tags>
<tag>is</tag>
</tags>
</html>

View File

@ -10,5 +10,8 @@
Anpassbarkeit ein entscheidendes Merkmal Freier Software ist.
</body>
<link>http://blogs.fsfe.org/fellowship-interviews/?p=156</link>
<tags>
<tag>gb</tag>
</tags>
</news>
</newsset>

View File

@ -7,5 +7,8 @@
Ο προγραμματιστής του GNU Scientific Brian εξηγεί γιατί η εκτύπωση Ελεύθερης Τεκμηρίωσης είναι μια σοβαρή επιχείρηση, γιατί λατρεύει το Org-Mode του Emacs και γιατί η προσαρμοστικότητα είναι κλειδί για το Ελεύθερο Λογισμικό.
</body>
<link>http://blogs.fsfe.org/fellowship-interviews/?p=156</link>
<tags>
<tag>gb</tag>
</tags>
</news>
</newsset>

View File

@ -7,5 +7,8 @@
GNU Scientific hacker Brian explains why printing Free Documentation is a serious business, why he loves Emacs Org-Mode, and why adaptability is key for Free Software.
</body>
<link>http://blogs.fsfe.org/fellowship-interviews/?p=156</link>
<tags>
<tag>gb</tag>
</tags>
</news>
</newsset>

View File

@ -87,6 +87,9 @@ Punkten nicht gerecht. Es schadet der Glaubwürdigkeit der Kommission.“</p>
<p class="n"><a href="#top">To top</a></p>
</body>
<tags>
<tag>front-page</tag>
</tags>
<translator>Markus Enzenberger</translator>
</html>

View File

@ -106,5 +106,8 @@ Gerloff, Πρόεδρος του Ευρωπαϊκού Ιδρύματος Ελε
<p class="n"><a href="#top">To top</a></p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -56,5 +56,8 @@ proprietary software and related services<a class="fn" href="#refs">1</a>.</p>
<p class="n"><a href="#top">To top</a></p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -52,5 +52,8 @@
<p class="n"><a href="#top">En haut</a></p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -73,6 +73,9 @@ Dokuments visuell aufbereitet. Diese Darstellung war vielen Beteiligten
bei ihrer Arbeit am EIFv2 von Nutzen. Die Tabelle wird gegenwärtig
aktualisiert, um die endgültige Fassung des Dokuments darzustellen.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
<translator>Markus Enzenberger</translator>
</html>

View File

@ -74,6 +74,9 @@
EIFv2. Ο πίνακας ενημερώνεται για να απεικονίσει την τελευταία έκδοση
του εγγράφου.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -31,6 +31,9 @@ The document's definition of "open specifications" demands that such standards m
<p>FSFE has visualised the changes among the <a href="/projects/os/eifv2.en.html">various versions</a> of the document. This has been a key tool for many people's work on EIFv2. The table is currently being updated to reflect the final version of the document.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -60,6 +60,9 @@ href="/projects/os/eifv2.fr.html">différentes versions</a> du document. Cet out
travail de nombre de personnes impliquées sur EIFv2. Le tableau est en cours de mise à jour pour correspondre à
la version finale du document.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
<translator>Schnouki, maelle</translator>
</html>

View File

@ -30,5 +30,8 @@ Unterstützern</a> ermöglicht. Die FSFE kontaktiert weiterhin die
Organisationen</a>, um auch die übrige Werbung zu entfernen.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -29,5 +29,8 @@ PDF από τους ιστοτόπους τους. Ιδιαίτερα εξαιρ
για να επιτύχει την αφαίρεση των υπόλοιπων διαφημιστικών καταχωρίσεων.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -27,5 +27,8 @@ FSFE is following-up with the <a href="/campaigns/pdfreaders/buglist.html">
removed.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -23,5 +23,8 @@ FSFE seguirá vigilante <a href="/campaigns/pdfreaders/buglist.html">
organizaciones pendientes</a> hasta que todos los anuncios sean suprimidos.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -27,5 +27,8 @@ La FSFE poursuit son travail avec les <a href="/campaigns/pdfreaders/buglist.htm
organisations restantes</a> afin d'obtenir le retrait des publicités restantes.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -25,6 +25,9 @@ La FSFE proseguirà con le <a href="/campaigns/pdfreaders/buglist.html">
rimanenti organizzazioni</a> affinchè le rimanenti pubblicità siano rimosse.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
<translator>Massimo Barbieri</translator>
</html>

View File

@ -29,5 +29,8 @@ href="/campaigns/pdfreaders/buglist.html">pozostałymi
organizacjami</a>, aby pozbyć się reszty reklam.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -27,5 +27,8 @@ href="http://www.fsfe.org/contribute/index.en.html">сообществу доб
оставшимися организациями</a>, чтобы добиться удаления остальной рекламы.</p>
</body>
<tags>
<tag>front-page</tag>
</tags>
</html>

View File

@ -10,5 +10,8 @@
Programmiersprachen auf die emotionale Entwicklung haben.
</body>
<link>http://blogs.fsfe.org/fellowship-interviews/?p=198</link>
<tags>
<tag>front-page</tag>
</tags>
</news>
</newsset>

View File

@ -10,5 +10,8 @@
ως μέσο συναισθηματικής ανάπτυξης.
</body>
<link>http://blogs.fsfe.org/fellowship-interviews/?p=198</link>
<tags>
<tag>front-page</tag>
</tags>
</news>
</newsset>

View File

@ -7,5 +7,8 @@
Fedora maintainer Alex discusses working with Free technology at Nokia, the threat of diluting Free Software principles, and how he uses computing for emotional development.
</body>
<link>http://blogs.fsfe.org/fellowship-interviews/?p=198</link>
<tags>
<tag>front-page</tag>
</tags>
</news>
</newsset>

View File

@ -136,6 +136,12 @@
</ul>
</body>
<tags>
<tag>fsfe-web</tag>
<tag>front-page</tag>
</tags>
<translator></translator>
<timestamp>$Date: $ $Author: $</timestamp>
</html>

View File

@ -33,6 +33,17 @@ href="/projects/swpat/">FSFE's long-standing work
against software patents</a>.</p>
</body>
<tags>
<tag>front-page</tag>
<tag>apple</tag>
<tag>swpats</tag>
<tag>novell</tag>
<tag>de</tag>
<tag>ms</tag>
<tag>oracle</tag>
</tags>
<translator></translator>
<timestamp>$Date: $ $Author: $</timestamp>
</html>

View File

@ -143,7 +143,7 @@
<tag>GPL compatibility</tag>
<tag>European Commission</tag>
<tag>Open Forum Europe</tag>
<tag>WebM</tag>
<tag>WebM</tag>
</tags>
<timestamp>$Date$ $Author$</timestamp>

View File

@ -116,9 +116,7 @@ Freie-Software-Aktivisten auf der ganzen Welt.</p>
<a href="/contact/community.de.html">Freie-Software-Diskussionen</a> </p>
</body>
<tags>
<tag>newsletter</tag>
<tag>Matthias Kirschner</tag>
<tag>front-page</tag>
</tags>
<timestamp>$Date: 2011-01-06 21:51:55 +0100 (jeu. 06 janv. 2011) $ $Author: guest-enz $</timestamp>
<translator>Onsemeliot</translator>

View File

@ -120,9 +120,7 @@ Guido</a>
<a href="/contact/community.html">Διάλογοι για το Ελεύθερο Λογισμικό</a> </p>
</body>
<tags>
<tag>newsletter</tag>
<tag>Matthias Kirschner</tag>
<tag>front-page</tag>
</tags>
<timestamp>$Date: 2011-01-01 12:05:50 +0200 (Sat, 01 Jan 2011) $ $Author: mk $</timestamp>
</html>

View File

@ -113,9 +113,7 @@ help Free Software activists all over the world.</p>
<a href="/contact/community.html">Free Software Discussions</a> </p>
</body>
<tags>
<tag>newsletter</tag>
<tag>Matthias Kirschner</tag>
<tag>front-page</tag>
</tags>
<timestamp>$Date: 2011-01-02 13:25:29 +0100 (Sun, 02 Jan 2011) $ $Author: mk $</timestamp>
</html>

View File

@ -113,9 +113,7 @@ du Logiciel Libre du monde entier.</p>
<a href="/contact/community.html">Discussions sur le logiciel libre</a> </p>
</body>
<tags>
<tag>newsletter</tag>
<tag>Matthias Kirschner</tag>
<tag>front-page</tag>
</tags>
<timestamp>$Date: 2011-01-04 23:00:47 +0100 (Tue, 04 Jan 2011) $ $Author: mk $</timestamp>
<translator>maelle , schnouki</translator>

View File

@ -52,8 +52,7 @@
<a href="/contact/community.html">Free Software Discussions</a> </p>
</body>
<tags>
<tag>newsletter</tag>
<tag>Matthias Kirschner</tag>
<tag>front-page</tag>
</tags>
<timestamp>$Date: 2011-01-01 11:05:50 +0100 (Sat, 01 Jan 2011) $ $Author: mk $</timestamp>
<translator>Jelle Hermsen</translator>

View File

@ -21,6 +21,7 @@
</xsl:attribute>
</xsl:if>
<!-- TODO: to be removed -->
<xsl:if test="/html/@tags">
<xsl:attribute name ="tags">
<xsl:value-of select="/html/@tags"/>
@ -47,7 +48,9 @@
<xsl:value-of select="$the_link"/>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:element>
<xsl:copy-of select="/html/tags" />
</xsl:element>
</xsl:element>

31
tags/tags.en.xhtml Normal file
View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<title>List of tags</title>
</head>
<body>
<h1>List of tags</h1>
<div id="intro">
<p>
Here after is a list of tags that are currently being used.
</p>
</div>
<h2>Tags used on news</h2>
<all-tags-news/>
<h2>Tags used on events</h2>
<all-tags-events/>
</body>
<timestamp>$Date: 2011-01-13 15:29:42 +0100 (jeu. 13 janv. 2011) $ $Author: samtuke $</timestamp>
</html>
<!--
Local Variables: ***
mode: xml ***
End: ***
-->

14
tags/tags.sources Executable file
View File

@ -0,0 +1,14 @@
news/*/news:global
news/generated_xml/:global
news/nl/nl:global
de/news/*/news:de
es/news/*/news:es
fr/news/*/news:fr
it/news/*/news:it
se/news/*/news:se
events/*/event:global
de/events/*/event:de
es/events/*/event:es
fr/events/*/event:fr
it/events/*/event:it
se/events/*/event:se

48
tags/tags.xsl Normal file
View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dt="http://xsltsl.org/date-time">
<xsl:import href="../tools/xsltsl/date-time.xsl" />
<xsl:import href="../tools/xsltsl/tagging.xsl" />
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<!--
For documentation on tagging (e.g. fetching news and events), take a
look at the documentation under
/tools/xsltsl/tagging-documentation.txt
-->
<!-- The top level element of the input file is "buildinfo" -->
<xsl:template match="buildinfo">
<xsl:apply-templates select="node()"/>
</xsl:template>
<!--display dynamic list of news items-->
<xsl:template match="all-tags-news">
<xsl:call-template name="all-tags-news"/>
</xsl:template>
<!--display dynamic list of newsletters items-->
<xsl:template match="all-tags-events">
<xsl:call-template name="all-tags-events"/>
</xsl:template>
<!-- Do not copy <set> or <text> to output at all -->
<xsl:template match="set"/>
<xsl:template match="textset-content"/>
<!-- For all other nodes, copy verbatim -->
<xsl:template match="@*|node()" priority="-1">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

View File

@ -15,14 +15,7 @@
<xsl:param name="today" select="/html/@date" />
<xsl:param name="nb-items" select="''" />
<xsl:variable name="tagcomma"><xsl:value-of select="$tag" />,</xsl:variable>
<xsl:variable name="commatag">, <xsl:value-of select="$tag" /></xsl:variable>
<xsl:for-each select="/html/set/news [translate (@date, '-', '') &lt;= translate ($today, '-', '') and
(contains(@tags, $commatag) or
contains(@tags, $tagcomma) or
@tags=$tag or
$tag='') ]">
<xsl:for-each select="/html/set/news[ translate (@date, '-', '') &lt;= translate ($today, '-', '') and (tags/tag = $tag or $tag='') ]">
<xsl:sort select="@date" order="descending" />
<xsl:if test="position() &lt;= $nb-items or $nb-items=''">
<xsl:call-template name="news" />
@ -54,18 +47,11 @@
<xsl:param name="nb-items" select="''" />
<xsl:param name="display-details" select="'no'" />
<xsl:variable name="tagcomma"><xsl:value-of select="$tag" />,</xsl:variable>
<xsl:variable name="commatag">, <xsl:value-of select="$tag" /></xsl:variable>
<xsl:choose>
<xsl:when test="$wanted-time = 'past'">
<!-- Past events -->
<xsl:for-each select="/html/set/event [translate (@end, '-', '') &lt; translate ($today, '-', '') and
(contains(@tags, $commatag) or
contains(@tags, $tagcomma) or
@tags=$tag or
$tag='')]">
<xsl:for-each select="/html/set/event [translate (@end, '-', '') &lt; translate ($today, '-', '') and (tags/tag = $tag or $tag='') ]">
<xsl:sort select="@end" order="descending" />
<xsl:if test="position() &lt;= $nb-items or $nb-items=''">
<xsl:call-template name="event">
@ -85,10 +71,7 @@
<xsl:for-each select="/html/set/event
[translate (@start, '-', '') &lt;= translate ($today, '-', '') and
translate (@end, '-', '') &gt;= translate ($today, '-', '') and
(contains(@tags, $commatag) or
contains(@tags, $tagcomma) or
@tags=$tag or
$tag='')]">
(tags/tag = $tag or $tag='') ]">
<xsl:sort select="@start" order="descending" />
<xsl:if test="position() &lt;= $nb-items or $nb-items=''">
<xsl:call-template name="event">
@ -106,11 +89,7 @@
<!-- Future events -->
<xsl:for-each select="/html/set/event
[translate (@start, '-', '') &gt; translate ($today, '-', '') and
(contains(@tags, $commatag) or
contains(@tags, $tagcomma) or
@tags=$tag or
$tag='')]">
[translate (@start, '-', '') &gt; translate ($today, '-', '') and (tags/tag = $tag or $tag='') ]">
<xsl:sort select="@start" />
<xsl:if test="position() &lt;= $nb-items or $nb-items=''">
<xsl:call-template name="event">
@ -129,10 +108,27 @@
</xsl:template>
<xsl:key name="news-tags-by-value" match="news/tags/tag" use="."/>
<!--display dynamic list of tags used in news-->
<xsl:template name="all-tags-news">
<xsl:element name="ul">
<xsl:for-each select="/html/set/news/tags/tag">
<xsl:sort select="." order="ascending" />
<xsl:if test="generate-id() = generate-id(key('news-tags-by-value', normalize-space(.)))">
<xsl:element name="li">
<xsl:value-of select="."/>
</xsl:element>
<xsl:text>
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:element>
<!-- <xsl:element name="ul">
<xsl:for-each select="/html/set/news">
<xsl:sort select="@date" order="descending" />
@ -142,15 +138,32 @@
</xsl:call-template>
</xsl:for-each>
</xsl:element>
</xsl:element> -->
</xsl:template>
<xsl:key name="events-tags-by-value" match="event/tags/tag" use="."/>
<!--display dynamic list of tags used in events-->
<xsl:template name="all-tags-events">
<xsl:element name="ul">
<xsl:for-each select="/html/set/event/tags/tag">
<xsl:sort select="." order="ascending" />
<xsl:if test="generate-id() = generate-id(key('events-tags-by-value', normalize-space(.)))">
<xsl:element name="li">
<xsl:value-of select="."/>
</xsl:element>
<xsl:text>
</xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:element>
<!-- <xsl:element name="ul">
<xsl:for-each select="/html/set/event">
<xsl:sort select="@start" order="descending" />
@ -160,7 +173,7 @@
</xsl:call-template>
</xsl:for-each>
</xsl:element>
</xsl:element> -->
</xsl:template>