143 echo "Soubor: $XWG_STRANKA_SOUBOR" | sed s/\\/home\\/$USER/\\/home\\/xwg/g; |
143 echo "Soubor: $XWG_STRANKA_SOUBOR" | sed s/\\/home\\/$USER/\\/home\\/xwg/g; |
144 echo "Nadpis: $XWG_STRANKA_NADPIS"; |
144 echo "Nadpis: $XWG_STRANKA_NADPIS"; |
145 echo "Perex: $XWG_STRANKA_PEREX"; |
145 echo "Perex: $XWG_STRANKA_PEREX"; |
146 ]]></m:skript></pre> |
146 ]]></m:skript></pre> |
147 |
147 |
148 <h2 id="makraVeSkriptech">Makra ve skriptech</h2> |
148 <h2 id="makraZeSkriptů">Makra ze skriptů</h2> |
149 <p> |
149 <p> |
150 XML generované skriptem může také obsahovat makra, která se následně interptetují. |
150 XML generované skriptem může také obsahovat makra, která se následně interptetují. |
151 <m:skript jazyk="bash" výstup="xhtml"><![CDATA[ |
151 <m:skript jazyk="bash" výstup="xhtml"><![CDATA[ |
152 echo '<m:skript jazyk="bash">'; # Ty zrůdo! :-) |
152 echo '<m:skript jazyk="bash">'; # Ty zrůdo! :-) |
153 echo 'echo "Takže můžeš skriptovat, když skriptuješ,";'; |
153 echo 'echo "Takže můžeš skriptovat, když skriptuješ,";'; |
212 </p> |
212 </p> |
213 <p> |
213 <p> |
214 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í). |
214 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í). |
215 </p> |
215 </p> |
216 |
216 |
|
217 <h2>Makra ve skriptech</h2> |
|
218 |
|
219 <p> |
|
220 Uvnitř zdrojového kódu skriptu můžeme používat jiná makra. |
|
221 Např. tento kód: |
|
222 </p> |
|
223 |
|
224 <m:pre jazyk="xml"><![CDATA[<pre> |
|
225 <m:skript jazyk="bash"> |
|
226 echo "Náš podnik se jmenuje <m:firma/>"; |
|
227 </m:skript> |
|
228 </pre>]]></m:pre> |
|
229 |
|
230 <p> |
|
231 nám vygeneruje: |
|
232 </p> |
|
233 |
|
234 <pre><m:skript jazyk="bash"> |
|
235 echo "Náš podnik se jmenuje <m:firma/>"; |
|
236 </m:skript></pre> |
|
237 |
|
238 <p> |
|
239 Můžete si tak vytvořit makra pro opakující se části |
|
240 a používat je jak v textu stránek, tak ve skriptech nebo diagramech. |
|
241 Jen pozor na ošetření zvláštních znaků – pokud text takové znaky obsahuje, |
|
242 je dobré ho zabalit ještě do jedné značky, která se postará o <em>escapování</em> |
|
243 pro daný kontext (skriptovací jazyk a prostředí v něm – např. apostrofy vs. uvozovky). |
|
244 </p> |
|
245 |
217 <h2>Skripty v makrech</h2> |
246 <h2>Skripty v makrech</h2> |
218 <p> |
247 <p> |
219 Uvnitř maker můžeme volat<m:podČarou> |
248 Uvnitř definic maker můžeme volat<m:podČarou> |
220 Ovšem trochu jiným způsobem, než ve stránkách – |
249 Ovšem trochu jiným způsobem, než ve stránkách – |
221 nacházíme se totiž v <em>programu</em> (XSL šablona definující makro) |
250 nacházíme se totiž v <em>programu</em> (XSL šablona definující makro) |
222 nikoli v <em>datovém souboru</em> (XML stránka). |
251 nikoli v <em>datovém souboru</em> (XML stránka). |
223 </m:podČarou> |
252 </m:podČarou> |
224 jiná makra – mj. skripty. |
253 jiná makra – mj. skripty. |
279 cat /etc/services | perl -ne 'if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { print "$2\t$1\t$3\n";}' |
308 cat /etc/services | perl -ne 'if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { print "$2\t$1\t$3\n";}' |
280 a vložit do tabulky jako BASH skript :-) |
309 a vložit do tabulky jako BASH skript :-) |
281 --> |
310 --> |
282 |
311 |
283 <p> |
312 <p> |
284 Podobně bychom mohli postupovat i u <a href="#makraVeSkriptech">diagramu</a> – |
313 Podobně bychom mohli postupovat i u <a href="#makraZeSkriptů">diagramu</a> – |
285 negenerovat skriptem značky makra, ale pouze jeho obsah – zadání diagramu, nebo jen jeho část. |
314 negenerovat skriptem značky makra, ale pouze jeho obsah – zadání diagramu, nebo jen jeho část. |
286 Někdy se ale může hodit ve skriptu nastavovat atributy elementů nebo elementy vytvářet dynamicky. |
315 Někdy se ale může hodit ve skriptu nastavovat atributy elementů nebo elementy vytvářet dynamicky. |
287 </p> |
316 </p> |
288 |
317 |
289 <p> |
318 <p> |