#20 Skriptování: firma – pády (parametrizace makra) v0.4
authorFrantišek Kučera <franta-hg@frantovo.cz>
Fri Jul 06 17:04:13 2012 +0200 (2012-07-06)
changeset 1149302cf6856ea
parent 113 18bf0044f5ab
child 115 eb64393ed54e
#20 Skriptování: firma – pády (parametrizace makra)
vstup/makra/firma.xsl
vstup/skriptování.xml
     1.1 --- a/vstup/makra/firma.xsl	Fri Jul 06 14:52:05 2012 +0200
     1.2 +++ b/vstup/makra/firma.xsl	Fri Jul 06 17:04:13 2012 +0200
     1.3 @@ -12,8 +12,14 @@
     1.4  	exclude-result-prefixes="fn h s k m xs">
     1.5  
     1.6  	<!-- Vypíše název naší firmy: -->
     1.7 -	<xsl:template match="m:firma">
     1.8 -		<xsl:text>Chovatelská stanice a.s.</xsl:text>
     1.9 -	</xsl:template>
    1.10 +	<xsl:template match="m:firma">Chovatelská stanice a.s.</xsl:template>
    1.11 +	<xsl:template match="m:firma[@pád=1]">Chovatelská stanice a.s.</xsl:template>		<!-- nominativ -->
    1.12 +	<xsl:template match="m:firma[@pád=2]">Chovatelské stanice a.s.</xsl:template>		<!-- genitiv -->
    1.13 +	<xsl:template match="m:firma[@pád=3]">Chovatelské stanici a.s.</xsl:template>		<!-- dativ -->
    1.14 +	<xsl:template match="m:firma[@pád=4]">Chovatelskou stanici a.s.</xsl:template>	<!-- akuzativ -->
    1.15 +	<xsl:template match="m:firma[@pád=5]">Chovatelská stanice a.s.</xsl:template>		<!-- vokativ -->
    1.16 +	<xsl:template match="m:firma[@pád=6]">Chovatelské stanice a.s.</xsl:template>		<!-- lokál -->
    1.17 +	<xsl:template match="m:firma[@pád=7]">Chovatelskou stanicí a.s.</xsl:template>	<!-- instrumentál -->
    1.18  
    1.19  </xsl:stylesheet>
    1.20 +
     2.1 --- a/vstup/skriptování.xml	Fri Jul 06 14:52:05 2012 +0200
     2.2 +++ b/vstup/skriptování.xml	Fri Jul 06 17:04:13 2012 +0200
     2.3 @@ -222,8 +222,8 @@
     2.4  		</p>
     2.5  
     2.6  		<m:pre jazyk="xml"><![CDATA[<pre>
     2.7 -	<m:skript jazyk="bash">
     2.8 -		echo "Náš podnik se jmenuje <m:firma/>";
     2.9 +	<m:skript jazyk="perl">
    2.10 +		print "Náš podnik se jmenuje <m:firma/>";
    2.11  	</m:skript>
    2.12  </pre>]]></m:pre>
    2.13  
    2.14 @@ -231,16 +231,46 @@
    2.15  			nám vygeneruje:
    2.16  		</p>
    2.17  
    2.18 -		<pre><m:skript jazyk="bash">
    2.19 -				echo "Náš podnik se jmenuje <m:firma/>";
    2.20 +		<pre><m:skript jazyk="perl">
    2.21 +				print "Náš podnik se jmenuje <m:firma/>";
    2.22  		</m:skript></pre>
    2.23  
    2.24  		<p>
    2.25  			Můžete si tak vytvořit makra pro opakující se části
    2.26 -			a používat je jak v textu stránek, tak ve skriptech nebo diagramech.
    2.27 -			Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje,
    2.28 -			je dobré ho zabalit ještě do jedné značky, která se postará o <em>escapování</em> 
    2.29 -			pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky).
    2.30 +			a používat je jak v textu stránek, tak ve skriptech nebo diagramech.<m:podČarou>
    2.31 +				Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje,
    2.32 +				je dobré ho zabalit ještě do jedné značky, která se postará o <em>escapování</em> 
    2.33 +				pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky).
    2.34 +			</m:podČarou>
    2.35 +		</p>
    2.36 +		
    2.37 +		<p>
    2.38 +			Jen pro připomenutí: nejedná se o nějaké primitivní zástupky a nahrazování textu
    2.39 +			– makra můžou být parametrizovaná, obsahovat atributy (např. pád a číslo) nebo vnořené elementy
    2.40 +			a na základě této parametrizace vytvářet odlišný výstup, který je následně předán skriptu.
    2.41 +		</p>
    2.42 +		
    2.43 +		<pre><m:skript jazyk="bash">
    2.44 +			echo "S naší <m:firma pád="7"/> budete jistě spokojeni!";
    2.45 +			echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
    2.46 +		</m:skript></pre>
    2.47 +		
    2.48 +		<p>
    2.49 +			Zdrojový kód:
    2.50 +		</p>
    2.51 +		
    2.52 +		<!-- Pozor: ve zvýrazňovači syntaxe Pygmentize je chyba – neumí diakritiku – správně je: pád="7" -->
    2.53 +		<m:pre jazyk="xml"><![CDATA[<pre>
    2.54 +	<m:skript jazyk="bash">
    2.55 +		echo "S naší <m:firma pad="7"/> budete jistě spokojeni!";
    2.56 +		echo "Stejně jako my jsme spokojeni s operačním systémem `uname -o`.";
    2.57 +	</m:skript>
    2.58 +</pre>]]></m:pre>
    2.59 +
    2.60 +		<p>
    2.61 +			Skripty v těchto příkladech nejsou příliš užitečné, protože pouze vypisují text,
    2.62 +			který by šlo vložit přímo do XML stránky
    2.63 +			– předpokládá se, že ve svých skriptech budete dělat něco zajímavějšího :-)
    2.64  		</p>
    2.65  
    2.66  		<h2>Skripty v makrech</h2>