1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/šablona/makra/zvýraznění-syntaxe.xsl Sat Jan 07 12:43:07 2012 +0100
1.3 @@ -0,0 +1,50 @@
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:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
1.8 + xmlns:j="java:cz.frantovo.xmlWebGenerator.Funkce"
1.9 + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
1.10 + exclude-result-prefixes="m j">
1.11 +
1.12 + <!--
1.13 + Zvýraznění syntaxe zdrojového kódu
1.14 + **********************************
1.15 + Ukázky zdrojového kódu budou mít zvýrazněnou syntaxi pro větší přehlednost.
1.16 + *
1.17 + @jazyk programovací jazyk, ve kterém je daný zdrojový kód
1.18 + @src zdrojový kód nemusí být uvnitř elementu, ale můžeme se odkázat na externí soubor
1.19 + @odkaz nastavíme hodnotu „ano“, pokud chceme vložit odkaz na soubor je stažení
1.20 + -->
1.21 + <xsl:template match="m:pre">
1.22 + <xsl:call-template name="zvýrazniZdroják">
1.23 + <xsl:with-param name="zdroják" select="text()"/>
1.24 + </xsl:call-template>
1.25 + </xsl:template>
1.26 +
1.27 + <xsl:template match="m:pre[@src]">
1.28 + <xsl:call-template name="zvýrazniZdroják">
1.29 + <xsl:with-param name="zdroják" select="unparsed-text(concat('../', $vstup, @src))"/>
1.30 + </xsl:call-template>
1.31 + <xsl:if test="@odkaz = 'ano'">
1.32 + <p class="zdroják-ke-stažení">
1.33 + <span>Stáhnout: <a href="{encode-for-uri(@src)}"><xsl:value-of select="@src"/></a></span>
1.34 + </p>
1.35 + </xsl:if>
1.36 + </xsl:template>
1.37 +
1.38 + <xsl:template name="zvýrazniZdroják">
1.39 + <xsl:param name="zdroják"/>
1.40 + <xsl:variable name="zvýrazněnýZdroják" select="j:zvýrazniSyntaxi($zdroják, @jazyk)"/>
1.41 + <xsl:choose>
1.42 + <xsl:when test="$zvýrazněnýZdroják">
1.43 + <xsl:comment>Následující kód je v jazyce <xsl:value-of select="@jazyk"/></xsl:comment>
1.44 + <xsl:value-of disable-output-escaping="yes" select="$zvýrazněnýZdroják"/>
1.45 + </xsl:when>
1.46 + <xsl:otherwise>
1.47 + <xsl:message>Zvýraznění syntaxe se nezdařilo → bude vložen původní nezvýrazněný kód.</xsl:message>
1.48 + <pre><xsl:value-of select="$zdroják"/></pre>
1.49 + </xsl:otherwise>
1.50 + </xsl:choose>
1.51 + </xsl:template>
1.52 +
1.53 +</xsl:stylesheet>