Zvýrazňování syntaxe #12: zdrojáky ze souborů budeme načítat už v XSLT ne až v Javě.
1.1 --- a/vstup/matrixový-spořič.sh Sat Dec 31 18:55:19 2011 +0100
1.2 +++ b/vstup/matrixový-spořič.sh Thu Jan 05 11:01:25 2012 +0100
1.3 @@ -13,4 +13,3 @@
1.4 $0 start;
1.5 ;;
1.6 esac
1.7 -
2.1 --- a/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Sat Dec 31 18:55:19 2011 +0100
2.2 +++ b/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Funkce.java Thu Jan 05 11:01:25 2012 +0100
2.3 @@ -82,17 +82,6 @@
2.4 }
2.5
2.6 /**
2.7 - * TODO: prohodit volání mezi zvýrazniSyntaxiSouboru() a zvýrazniSyntaxi(),
2.8 - * aby se nepřeváděl proud na text a pak zase na proud.
2.9 - *
2.10 - * @param src cesta k souboru, jehož obsah se má zvýraznit a vložit
2.11 - */
2.12 - public static String zvýrazniSyntaxiSouboru(String src, String jazyk) throws IOException, InterruptedException {
2.13 - String zdroják = načtiProud(new FileInputStream(new File(ADRESÁŘ_VSTUPNÍ, src)));
2.14 - return zvýrazniSyntaxi(zdroják, jazyk);
2.15 - }
2.16 -
2.17 - /**
2.18 * Vygeneruje CSS styl pro zvýrazňování syntaxe.
2.19 * @return obsah CSS souboru nebo null, pokud generování nebylo možné
2.20 */
3.1 --- a/šablona/stránka.xsl Sat Dec 31 18:55:19 2011 +0100
3.2 +++ b/šablona/stránka.xsl Thu Jan 05 11:01:25 2012 +0100
3.3 @@ -123,34 +123,35 @@
3.4 Makro pro zvýraznění syntaxe:
3.5 -->
3.6 <xsl:template match="m:pre">
3.7 - <xsl:call-template name="vypišPre">
3.8 - <xsl:with-param name="zvýrazněnýText" select="j:zvýrazniSyntaxi(text(), @jazyk)"/>
3.9 + <xsl:call-template name="zvýrazniZdroják">
3.10 + <xsl:with-param name="zdroják" select="text()"/>
3.11 </xsl:call-template>
3.12 </xsl:template>
3.13
3.14 <xsl:template match="m:pre[@src]">
3.15 - <xsl:call-template name="vypišPre">
3.16 - <xsl:with-param name="zvýrazněnýText" select="j:zvýrazniSyntaxiSouboru(@src, @jazyk)"/>
3.17 + <xsl:call-template name="zvýrazniZdroják">
3.18 + <xsl:with-param name="zdroják" select="unparsed-text(concat($vstup, @src))"/>
3.19 </xsl:call-template>
3.20 - <xsl:if test="@odkaz = 'ano'">
3.21 - <p class="zdroják-ke-stažení">
3.22 - <span>Stáhnout: <a href="{encode-for-uri(@src)}"><xsl:value-of select="@src"/></a></span>
3.23 - </p>
3.24 - </xsl:if>
3.25 + <xsl:if test="@odkaz = 'ano'">
3.26 + <p class="zdroják-ke-stažení">
3.27 + <span>Stáhnout: <a href="{encode-for-uri(@src)}"><xsl:value-of select="@src"/></a></span>
3.28 + </p>
3.29 + </xsl:if>
3.30 </xsl:template>
3.31
3.32 - <xsl:template name="vypišPre">
3.33 - <xsl:param name="zvýrazněnýText"/>
3.34 + <xsl:template name="zvýrazniZdroják">
3.35 + <xsl:param name="zdroják"/>
3.36 + <xsl:variable name="zvýrazněnýZdroják" select="j:zvýrazniSyntaxi($zdroják, @jazyk)"/>
3.37 <xsl:choose>
3.38 - <xsl:when test="$zvýrazněnýText">
3.39 + <xsl:when test="$zvýrazněnýZdroják">
3.40 <xsl:comment>Následující kód je v jazyce <xsl:value-of select="@jazyk"/></xsl:comment>
3.41 - <xsl:value-of disable-output-escaping="yes" select="$zvýrazněnýText"/>
3.42 + <xsl:value-of disable-output-escaping="yes" select="$zvýrazněnýZdroják"/>
3.43 </xsl:when>
3.44 <xsl:otherwise>
3.45 <xsl:message>Zvýraznění syntaxe se nezdařilo → bude vložen původní nezvýrazněný kód.</xsl:message>
3.46 - <pre><xsl:apply-templates/></pre>
3.47 + <pre><xsl:value-of select="$zdroják"/></pre>
3.48 </xsl:otherwise>
3.49 - </xsl:choose>
3.50 + </xsl:choose>
3.51 </xsl:template>
3.52
3.53 <!--