1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/vstup/makra/hg-verze.xsl Thu Jul 05 19:10:42 2012 +0200
1.3 @@ -0,0 +1,60 @@
1.4 +<?xml version="1.0" encoding="UTF-8"?>
1.5 +<xsl:stylesheet version="2.0"
1.6 + xmlns="http://www.w3.org/1999/xhtml"
1.7 + xmlns:h="http://www.w3.org/1999/xhtml"
1.8 + xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana"
1.9 + xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
1.10 + xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
1.11 + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
1.12 + xmlns:fn="http://www.w3.org/2005/xpath-functions"
1.13 + xmlns:svg="http://www.w3.org/2000/svg"
1.14 + xmlns:xs="http://www.w3.org/2001/XMLSchema"
1.15 + exclude-result-prefixes="fn h s k m xs">
1.16 +
1.17 + <!-- Vypíše verze z verzovacího systému: -->
1.18 + <xsl:template match="m:hg-verze">
1.19 + <xsl:variable name="zadáníSkriptu">
1.20 + <!--
1.21 + TODO:
1.22 + Zahazovat XML deklaraci bychom mohli v Javě u všech skriptů…
1.23 + Nicméně současná dohoda je taková, že skripty vracejí fragment, ne celý dokument,
1.24 + což má výhodu v tom, že můžou vrátit kus textu a nějakou tu značku
1.25 + a nemusí to být zabalené v kořenovém elementu.
1.26 +
1.27 + -->
1.28 + <m:skript jazyk="bash" výstup="xml">hg log --style xml | awk '{if(NR>1)print}';</m:skript>
1.29 + <!--
1.30 + Také bychom filtrování mohli provés ve skriptu…
1.31 + hg log … | xpath -e "//logentry[tag[starts-with(., 'v')]]" 2>/dev/null
1.32 + …ale to by bylo trochu zbytečně pracné.
1.33 + -->
1.34 + </xsl:variable>
1.35 +
1.36 + <xsl:variable name="výstupSkriptu">
1.37 + <xsl:apply-templates select="$zadáníSkriptu/*"/>
1.38 + </xsl:variable>
1.39 +
1.40 + <table>
1.41 + <thead>
1.42 + <tr>
1.43 + <td>Číslo verze</td>
1.44 + <td>Datum vydání</td>
1.45 + </tr>
1.46 + </thead>
1.47 + <tbody style="text-align: right;">
1.48 + <!--
1.49 + Výstup skriptu se bude nacházet v XHTML jmenném prostoru, což je obvykle v pořádku,
1.50 + ale pro mezivýsledky to není úplně vhodné.
1.51 + -->
1.52 + <xsl:for-each select="$výstupSkriptu/h:log/h:logentry[h:tag[starts-with(text(), 'v')]]">
1.53 + <tr>
1.54 + <td><xsl:value-of select="substring(h:tag/text(), 2)"/></td>
1.55 + <td><xsl:value-of select="format-dateTime(h:date, '[D]. [M]. [Y0001]')"/></td>
1.56 + </tr>
1.57 + </xsl:for-each>
1.58 + </tbody>
1.59 + </table>
1.60 + </xsl:template>
1.61 +
1.62 +</xsl:stylesheet>
1.63 +