diff -r d43098fac783 -r d59023a42d4b vstup/skriptování.xml --- a/vstup/skriptování.xml Thu Jul 05 21:13:56 2012 +0200 +++ b/vstup/skriptování.xml Thu Jul 05 23:31:49 2012 +0200 @@ -74,7 +74,7 @@ use strict; use warnings; -open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"}); +open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"}) or die $!; my %skripty; while () { @@ -88,7 +88,7 @@ } ]]> -

BASH – ukázka

+

BASH – ukázka

-

Makra ve skriptech

+

Makra ve skriptech

XML generované skriptem může také obsahovat makra, která se následně interptetují. datovém souboru (XML stránka). jiná makra – mj. skripty. - Toho jsme využili v makru, které generuje tabulku verzí z mercurialu: + Toho jsme využili v makru, které generuje tabulku verzí z mercurialu + – ten umí vypsat historii úložiště v XML, které následně snadno zpracujeme v XSLT.

@@ -231,6 +232,60 @@ Toto makro naleznete v souboru vstup/makra/hg-verze.xsl.

+

Vnořování maker

+

+ Trochu jiný případ je vnořování maker na stránce. + Např. si chceme vypsat vybrané internetové služby: +

+ + ) { + if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { + print "$2\t$1\t$3\n"; + } +} + ]]> + + +

+ Pro vygenerování použijeme dvě makra – tabulku a skript – která vložíme do textu stránky: +

+ + + ) { + if (/(\w+)\s+(21|22|25|80)\/(tcp)/) { + print "$2\t$1\t$3\n"; + } + } + ]]]]>> +]]> + +

+ Ve skriptu v tomto případě negenerujeme XHTML značky, ale CSV (s tabulátory) + a o převod na XHTML tabulku se postará XSL šablona. +

+ + + +

+ Podobně bychom mohli postupovat i u diagramu – + 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. +

+