vstup/makra/hg-verze.xsl
changeset 108 8d9cab64c335
parent 107 379a2a893fd1
equal deleted inserted replaced
107:379a2a893fd1 108:8d9cab64c335
     8 	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     8 	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     9 	xmlns:fn="http://www.w3.org/2005/xpath-functions"
     9 	xmlns:fn="http://www.w3.org/2005/xpath-functions"
    10 	xmlns:svg="http://www.w3.org/2000/svg"
    10 	xmlns:svg="http://www.w3.org/2000/svg"
    11 	xmlns:xs="http://www.w3.org/2001/XMLSchema"
    11 	xmlns:xs="http://www.w3.org/2001/XMLSchema"
    12 	exclude-result-prefixes="fn h s k m xs">
    12 	exclude-result-prefixes="fn h s k m xs">
    13 
    13 	
    14 	<!-- Vypíše verze z verzovacího systému: -->
    14 	<!-- Vypíše verze z verzovacího systému: -->
    15 	<xsl:template match="m:hg-verze">
    15 	<xsl:template match="m:hg-verze">
       
    16 
    16 		<xsl:variable name="zadáníSkriptu">
    17 		<xsl:variable name="zadáníSkriptu">
    17 			<!--
    18 			<m:skript jazyk="bash" výstup="xml">hg log --style xml</m:skript>
    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&gt;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>
    19 		</xsl:variable>
    32 
    20 
    33 		<xsl:variable name="výstupSkriptu">
    21 		<xsl:variable name="výstupSkriptu">
    34 			<xsl:apply-templates select="$zadáníSkriptu/*"/>
    22 			<xsl:apply-templates select="$zadáníSkriptu/*"/>
    35 		</xsl:variable>
    23 		</xsl:variable>
    40 					<td>Číslo verze</td>
    28 					<td>Číslo verze</td>
    41 					<td>Datum vydání</td>
    29 					<td>Datum vydání</td>
    42 				</tr>
    30 				</tr>
    43 			</thead>
    31 			</thead>
    44 			<tbody style="text-align: right;">
    32 			<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')]]">
    33 				<xsl:for-each select="$výstupSkriptu/h:log/h:logentry[h:tag[starts-with(text(), 'v')]]">
    50 					<tr>
    34 					<tr>
    51 						<td><xsl:value-of select="substring(h:tag/text(), 2)"/></td>
    35 						<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>
    36 						<td><xsl:value-of select="format-dateTime(h:date, '[D]. [M]. [Y0001]')"/></td>
    53 					</tr>
    37 					</tr>