root/šablona/makra/zvýraznění-syntaxe.xsl @ 51:df1f942f7b69

Revision 51:df1f942f7b69, 2.1 KB (checked in by František Kučera <franta-hg@…>, 12 years ago)

Přesun maker do samostatných souborů #8 + automatické generování seznamu maker
→ nová makra není potřeba nikde registrovat, prostě vytvoříme nový soubor v adresáři

šablona/makra nebo
vstup/makra

a spustíme „ant makra“ – vygenruje se „šablona/.makra-seznam.xsl“ který se vloží do šablony stránky.

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:stylesheet version="2.0"
3        xmlns="http://www.w3.org/1999/xhtml"
4        xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
5        xmlns:j="java:cz.frantovo.xmlWebGenerator.Funkce"
6        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
7        exclude-result-prefixes="m j">
8
9    <!--
10        Zvýraznění syntaxe zdrojového kódu
11        **********************************
12        Ukázky zdrojového kódu budou mít zvýrazněnou syntaxi pro větší přehlednost.
13        *
14        @jazyk programovací jazyk, ve kterém je daný zdrojový kód
15        @src zdrojový kód nemusí být uvnitř elementu, ale můžeme se odkázat na externí soubor
16        @odkaz nastavíme hodnotu „ano“, pokud chceme vložit odkaz na soubor je stažení
17    -->   
18    <xsl:template match="m:pre">
19        <xsl:call-template name="zvýrazniZdroják">
20                <xsl:with-param name="zdroják" select="text()"/>
21        </xsl:call-template>
22    </xsl:template>
23   
24    <xsl:template match="m:pre[@src]">
25        <xsl:call-template name="zvýrazniZdroják">
26                <xsl:with-param name="zdroják" select="unparsed-text(concat('../', $vstup, @src))"/>
27        </xsl:call-template>
28                <xsl:if test="@odkaz = 'ano'">
29                        <p class="zdroják-ke-stažení">
30                                <span>Stáhnout: <a href="{encode-for-uri(@src)}"><xsl:value-of select="@src"/></a></span>
31                        </p>
32                </xsl:if>
33    </xsl:template>
34   
35    <xsl:template name="zvýrazniZdroják">
36        <xsl:param name="zdroják"/>
37        <xsl:variable name="zvýrazněnýZdroják" select="j:zvýrazniSyntaxi($zdroják, @jazyk)"/>
38        <xsl:choose>
39                <xsl:when test="$zvýrazněnýZdroják">
40                        <xsl:comment>Následující kód je v jazyce <xsl:value-of select="@jazyk"/></xsl:comment>
41                        <xsl:value-of disable-output-escaping="yes" select="$zvýrazněnýZdroják"/>
42                </xsl:when>
43                <xsl:otherwise>
44                        <xsl:message>Zvýraznění syntaxe se nezdařilo → bude vložen původní nezvýrazněný kód.</xsl:message>
45                        <pre><xsl:value-of select="$zdroják"/></pre>
46                </xsl:otherwise>
47        </xsl:choose>           
48    </xsl:template>
49
50</xsl:stylesheet>
Note: See TracBrowser for help on using the browser.