--- a/vstup/skriptování.xml Thu Jul 05 23:31:49 2012 +0200
+++ b/vstup/skriptování.xml Fri Jul 06 13:41:35 2012 +0200
@@ -286,6 +286,13 @@
Někdy se ale může hodit ve skriptu nastavovat atributy elementů nebo elementy vytvářet dynamicky.
</p>
+ <p>
+ Skriptování lze použít i pro generování zdrojového kódu, který bude následně zvýrazněn
+ pomocí značky <code><m:pre jazyk="…"/></code>.
+ Toho využíváme na stránce <m:a href="zdrojáky">Zdrojové kódy</m:a> v případě SQL a XML ukázek.
+ Skript můžeme použít mj. i ke zkrácení zdrojáku – když chceme vypsat jen jeho relevantní část.
+ </p>
+
</text>
</stránka>
--- a/vstup/zdrojáky.xml Thu Jul 05 23:31:49 2012 +0200
+++ b/vstup/zdrojáky.xml Fri Jul 06 13:41:35 2012 +0200
@@ -41,16 +41,26 @@
<h2>Java</h2>
- <m:pre jazyk="java">public class Pokus {
- // komentář
- // <JavaRulezz/>
-}</m:pre>
+ <m:pre jazyk="java" src="../šablona/funkce/src/cz/frantovo/xmlWebGenerator/Xmlns.java"/>
<h2>XML</h2>
- <m:pre jazyk="xml"><![CDATA[<xmlDokument>
- <element1>toto je <strong>pěkné</strong> XML!!!</element1>
-</xmlDokument>]]></m:pre>
+ <p>
+ Zdroják aktuální stránky – <abbr title="diakritika byla odstraněna, protože v Pygmentize je chyba – neumí značky s diakritikou, přestože to je platné XML">upravený</abbr> a zkrácený pomocí <m:a href="skriptování">skriptu</m:a>:
+ </p>
+ <m:pre jazyk="xml"><m:skript jazyk="bash">
+# V zvýrazňovači Pygmentize je chyba: nepodporuje znaky s diakritikou, přestože v daném jazyce můžou být.
+# TODO: opravit to tam (zřejmě špatný regulární výraz).
+
+cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | head -n 8;
+echo -e "\t\t… zkráceno …";
+cat $XWG_STRANKA_SOUBOR | iconv -t ASCII//TRANSLIT -f UTF-8 | tail -n 4;
+
+# Případně:
+# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | head -n 8;
+# echo -e "\t\t… zkráceno …";
+# cat $XWG_STRANKA_SOUBOR | sed s/á/a/g | sed s/ř/r/g | sed s/í/i/g | tail -n 4;
+ </m:skript></m:pre>
<p>Další ukázka XML: <m:a href="šablona/makra/tabulka.xsl" typ="zdroják" řádek="25">tabulka.xsl</m:a>.</p>
@@ -58,6 +68,22 @@
<m:pre jazyk="bash" src="matrixový-spořič.sh" odkaz="ano"/>
+ <h2>SQL</h2>
+
+ <p>
+ Tento SQL kód není zapsán přímo ve stránce, ale byl vygenerován pomocí <m:a href="skriptování">skriptu</m:a>,
+ a poté zvýrazněn.
+ </p>
+
+ <m:pre jazyk="sql"><m:skript jazyk="perl"><![CDATA[
+use strict;
+use warnings;
+
+for (my $i = 0; $i < 10; $i++) {
+ print "INSERT INTO tabulka VALUES ('abc $i', 'def ". $i*($i+1) . "', " . 2**$i . ");\n";
+}
+ ]]></m:skript></m:pre>
+
<h2>Chyby</h2>
<p>Následující ukázky kódu nebudou zvýrazněné:</p>
--- a/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Xmlns.java Thu Jul 05 23:31:49 2012 +0200
+++ b/šablona/funkce/src/cz/frantovo/xmlWebGenerator/Xmlns.java Fri Jul 06 13:41:35 2012 +0200
@@ -8,7 +8,8 @@
public class Xmlns {
public static final String XHTML = "http://www.w3.org/1999/xhtml";
- public static final String MAKRO = "https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro";
+ public static final String MAKRO =
+ "https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro";
private Xmlns() {
}
--- a/šablona/makra/zvýraznění-syntaxe.xsl Thu Jul 05 23:31:49 2012 +0200
+++ b/šablona/makra/zvýraznění-syntaxe.xsl Fri Jul 06 13:41:35 2012 +0200
@@ -33,8 +33,11 @@
@odkaz nastavíme hodnotu „ano“, pokud chceme vložit odkaz na soubor je stažení
-->
<xsl:template match="m:pre">
+ <xsl:variable name="zadání">
+ <xsl:apply-templates select="*|text()"/>
+ </xsl:variable>
<xsl:call-template name="zvýrazniZdroják">
- <xsl:with-param name="zdroják" select="text()"/>
+ <xsl:with-param name="zdroják" select="$zadání/text()"/>
</xsl:call-template>
</xsl:template>