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

svn path=/trunk/; revision=19357
Этот коммит содержится в:
nicoulas 2011-01-21 12:16:36 +00:00
родитель 1350fe90ba
Коммит 434a6edb88
62 изменённых файлов: 318 добавлений и 45 удалений

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

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

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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>

Просмотреть файл

@ -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 Обычный файл
Просмотреть файл

@ -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 Исполняемый файл
Просмотреть файл

@ -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 Обычный файл
Просмотреть файл

@ -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>

Просмотреть файл

@ -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>