|
1 <?xml version="1.0" encoding="UTF-8"?> |
|
2 <xsl:stylesheet version="2.0" |
|
3 xmlns="http://www.w3.org/1999/xhtml" |
|
4 xmlns:h="http://www.w3.org/1999/xhtml" |
|
5 xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana" |
|
6 xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace" |
|
7 xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro" |
|
8 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
|
9 xmlns:fn="http://www.w3.org/2005/xpath-functions" |
|
10 xmlns:svg="http://www.w3.org/2000/svg" |
|
11 xmlns:xs="http://www.w3.org/2001/XMLSchema" |
|
12 exclude-result-prefixes="fn h s k m xs"> |
|
13 |
|
14 <!-- Vypíše verze z verzovacího systému: --> |
|
15 <xsl:template match="m:hg-verze"> |
|
16 <xsl:variable name="zadáníSkriptu"> |
|
17 <!-- |
|
18 TODO: |
|
19 Zahazovat XML deklaraci bychom mohli v Javě u všech skriptů… |
|
20 Nicméně současná dohoda je taková, že skripty vracejí fragment, ne celý dokument, |
|
21 což má výhodu v tom, že můžou vrátit kus textu a nějakou tu značku |
|
22 a nemusí to být zabalené v kořenovém elementu. |
|
23 |
|
24 --> |
|
25 <m:skript jazyk="bash" výstup="xml">hg log --style xml | awk '{if(NR>1)print}';</m:skript> |
|
26 <!-- |
|
27 Také bychom filtrování mohli provés ve skriptu… |
|
28 hg log … | xpath -e "//logentry[tag[starts-with(., 'v')]]" 2>/dev/null |
|
29 …ale to by bylo trochu zbytečně pracné. |
|
30 --> |
|
31 </xsl:variable> |
|
32 |
|
33 <xsl:variable name="výstupSkriptu"> |
|
34 <xsl:apply-templates select="$zadáníSkriptu/*"/> |
|
35 </xsl:variable> |
|
36 |
|
37 <table> |
|
38 <thead> |
|
39 <tr> |
|
40 <td>Číslo verze</td> |
|
41 <td>Datum vydání</td> |
|
42 </tr> |
|
43 </thead> |
|
44 <tbody style="text-align: right;"> |
|
45 <!-- |
|
46 Výstup skriptu se bude nacházet v XHTML jmenném prostoru, což je obvykle v pořádku, |
|
47 ale pro mezivýsledky to není úplně vhodné. |
|
48 --> |
|
49 <xsl:for-each select="$výstupSkriptu/h:log/h:logentry[h:tag[starts-with(text(), 'v')]]"> |
|
50 <tr> |
|
51 <td><xsl:value-of select="substring(h:tag/text(), 2)"/></td> |
|
52 <td><xsl:value-of select="format-dateTime(h:date, '[D]. [M]. [Y0001]')"/></td> |
|
53 </tr> |
|
54 </xsl:for-each> |
|
55 </tbody> |
|
56 </table> |
|
57 </xsl:template> |
|
58 |
|
59 </xsl:stylesheet> |
|
60 |