# HG changeset patch # User František Kučera <franta-hg@frantovo.cz> # Date 1341587053 -7200 # Node ID 9302cf6856eac1edcb8fc06e08f84596e819ba33 # Parent 18bf0044f5ab96417c20ad3f89e52c1af3fe0a11 #20 Skriptování: firma – pády (parametrizace makra) diff -r 18bf0044f5ab -r 9302cf6856ea vstup/makra/firma.xsl --- a/vstup/makra/firma.xsl Fri Jul 06 14:52:05 2012 +0200 +++ b/vstup/makra/firma.xsl Fri Jul 06 17:04:13 2012 +0200 @@ -12,8 +12,14 @@ exclude-result-prefixes="fn h s k m xs"> <!-- Vypíše název naší firmy: --> - <xsl:template match="m:firma"> - <xsl:text>Chovatelská stanice a.s.</xsl:text> - </xsl:template> + <xsl:template match="m:firma">Chovatelská stanice a.s.</xsl:template> + <xsl:template match="m:firma[@pád=1]">Chovatelská stanice a.s.</xsl:template> <!-- nominativ --> + <xsl:template match="m:firma[@pád=2]">Chovatelské stanice a.s.</xsl:template> <!-- genitiv --> + <xsl:template match="m:firma[@pád=3]">Chovatelské stanici a.s.</xsl:template> <!-- dativ --> + <xsl:template match="m:firma[@pád=4]">Chovatelskou stanici a.s.</xsl:template> <!-- akuzativ --> + <xsl:template match="m:firma[@pád=5]">Chovatelská stanice a.s.</xsl:template> <!-- vokativ --> + <xsl:template match="m:firma[@pád=6]">Chovatelské stanice a.s.</xsl:template> <!-- lokál --> + <xsl:template match="m:firma[@pád=7]">Chovatelskou stanicí a.s.</xsl:template> <!-- instrumentál --> </xsl:stylesheet> + diff -r 18bf0044f5ab -r 9302cf6856ea vstup/skriptování.xml --- a/vstup/skriptování.xml Fri Jul 06 14:52:05 2012 +0200 +++ b/vstup/skriptování.xml Fri Jul 06 17:04:13 2012 +0200 @@ -222,8 +222,8 @@ </p> <m:pre jazyk="xml"><![CDATA[<pre> - <m:skript jazyk="bash"> - echo "Náš podnik se jmenuje <m:firma/>"; + <m:skript jazyk="perl"> + print "Náš podnik se jmenuje <m:firma/>"; </m:skript> </pre>]]></m:pre> @@ -231,16 +231,46 @@ nám vygeneruje: </p> - <pre><m:skript jazyk="bash"> - echo "Náš podnik se jmenuje <m:firma/>"; + <pre><m:skript jazyk="perl"> + print "Náš podnik se jmenuje <m:firma/>"; </m:skript></pre> <p> Můžete si tak vytvořit makra pro opakující se části - a používat je jak v textu stránek, tak ve skriptech nebo diagramech. - Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje, - je dobré ho zabalit ještě do jedné značky, která se postará o <em>escapování</em> - pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky). + a používat je jak v textu stránek, tak ve skriptech nebo diagramech.<m:podČarou> + Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje, + je dobré ho zabalit ještě do jedné značky, která se postará o <em>escapování</em> + pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky). + </m:podČarou> + </p> + + <p> + Jen pro připomenutí: nejedná se o nějaké primitivní zástupky a nahrazování textu + – makra můžou být parametrizovaná, obsahovat atributy (např. pád a číslo) nebo vnořené elementy + a na základě této parametrizace vytvářet odlišný výstup, který je následně předán skriptu. + </p> + + <pre><m:skript jazyk="bash"> + echo "S naší <m:firma pád="7"/> budete jistě spokojeni!"; + echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`."; + </m:skript></pre> + + <p> + Zdrojový kód: + </p> + + <!-- Pozor: ve zvýrazňovači syntaxe Pygmentize je chyba – neumí diakritiku – správně je: pád="7" --> + <m:pre jazyk="xml"><![CDATA[<pre> + <m:skript jazyk="bash"> + echo "S naší <m:firma pad="7"/> budete jistě spokojeni!"; + echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`."; + </m:skript> +</pre>]]></m:pre> + + <p> + Skripty v těchto příkladech nejsou příliš užitečné, protože pouze vypisují text, + který by šlo vložit přímo do XML stránky + – předpokládá se, že ve svých skriptech budete dělat něco zajímavějšího :-) </p> <h2>Skripty v makrech</h2>