vstup/skriptování.xml
changeset 113 18bf0044f5ab
parent 112 7d4b23ccf144
child 114 9302cf6856ea
--- a/vstup/skriptování.xml	Fri Jul 06 13:41:35 2012 +0200
+++ b/vstup/skriptování.xml	Fri Jul 06 14:52:05 2012 +0200
@@ -145,7 +145,7 @@
 echo "Perex:  $XWG_STRANKA_PEREX";
 		]]></m:skript></pre>
 
-		<h2 id="makraVeSkriptech">Makra ve skriptech</h2>
+		<h2 id="makraZeSkriptů">Makra ze skriptů</h2>
 		<p>
 			XML generované skriptem může také obsahovat makra, která se následně interptetují.
 			<m:skript jazyk="bash" výstup="xhtml"><![CDATA[
@@ -214,9 +214,38 @@
 			Známá chyba: ve skriptech zatím nefungují poznámky pod čarou (a není jisté, jestli kdy fungovat budou – pravděpodobně by to vyžadovalo vícefázové zpracování).
 		</p>
 
+		<h2>Makra ve skriptech</h2>
+		
+		<p>
+			Uvnitř zdrojového kódu skriptu můžeme používat jiná makra.
+			Např. tento kód:
+		</p>
+
+		<m:pre jazyk="xml"><![CDATA[<pre>
+	<m:skript jazyk="bash">
+		echo "Náš podnik se jmenuje <m:firma/>";
+	</m:skript>
+</pre>]]></m:pre>
+
+		<p>
+			nám vygeneruje:
+		</p>
+
+		<pre><m:skript jazyk="bash">
+				echo "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).
+		</p>
+
 		<h2>Skripty v makrech</h2>
 		<p>
-			Uvnitř maker můžeme volat<m:podČarou>
+			Uvnitř definic maker můžeme volat<m:podČarou>
 				Ovšem trochu jiným způsobem, než ve stránkách –
 				nacházíme se totiž v <em>programu</em> (XSL šablona definující makro)
 				nikoli v <em>datovém souboru</em> (XML stránka).
@@ -281,7 +310,7 @@
 		-->
 
 		<p>
-			Podobně bychom mohli postupovat i u <a href="#makraVeSkriptech">diagramu</a> –
+			Podobně bychom mohli postupovat i u <a href="#makraZeSkriptů">diagramu</a> –
 			negenerovat skriptem značky makra, ale pouze jeho obsah – zadání diagramu, nebo jen jeho část.
 			Někdy se ale může hodit ve skriptu nastavovat atributy elementů nebo elementy vytvářet dynamicky.
 		</p>