4 <nadpis>Skriptování</nadpis> |
4 <nadpis>Skriptování</nadpis> |
5 <perex>Na stránku můžeme vložit výstup skriptů.</perex> |
5 <perex>Na stránku můžeme vložit výstup skriptů.</perex> |
6 <pořadí>50</pořadí> |
6 <pořadí>50</pořadí> |
7 |
7 |
8 <text xmlns="http://www.w3.org/1999/xhtml"> |
8 <text xmlns="http://www.w3.org/1999/xhtml"> |
9 |
9 |
10 <p> |
10 <p> |
11 Na stránkách můžeme používat skripty. |
11 Na stránkách můžeme používat skripty. |
12 Spouští se při generování a jejich standardní výstup se vloží do stránky. |
12 Spouští se při generování a jejich standardní výstup se vloží do stránky. |
13 Třeba doprostřed textu ostavce nebo do jiného elementu. |
13 Třeba doprostřed textu ostavce nebo do jiného elementu. |
14 </p> |
14 </p> |
109 |
109 |
110 <h2>Proměnné prostředí</h2> |
110 <h2>Proměnné prostředí</h2> |
111 <p> |
111 <p> |
112 Ve skriptech máme dostupné následující proměnné prostředí: |
112 Ve skriptech máme dostupné následující proměnné prostředí: |
113 </p> |
113 </p> |
114 |
114 |
115 <table> |
115 <table> |
116 <thead> |
116 <thead> |
117 <tr> |
117 <tr> |
118 <td>Proměnná</td> |
118 <td>Proměnná</td> |
119 <td>Význam</td> |
119 <td>Význam</td> |
120 </tr> |
120 </tr> |
121 </thead> |
121 </thead> |
122 <tbody> |
122 <tbody> |
123 <!-- Pokud načítáme skript ze souboru, je atribut jazyk nepovinný. --> |
123 <!-- Pokud načítáme skript ze souboru, je atribut jazyk nepovinný. --> |
124 <m:skript jazyk="perl" výstup="xml" src="skriptování-proměnné.pl"/> |
124 <m:skript jazyk="perl" výstup="xhtml" src="skriptování-proměnné.pl"/> |
125 </tbody> |
125 </tbody> |
126 </table> |
126 </table> |
127 |
127 |
128 <p> |
128 <p> |
129 Kód: |
129 Kód: |
130 </p> |
130 </p> |
131 |
131 |
132 <m:pre jazyk="xml"><![CDATA[<m:skript jazyk="bash"> |
132 <m:pre jazyk="xml"><![CDATA[<m:skript jazyk="bash"> |
133 echo "URI: $XWG_STRANKA_URI"; |
133 echo "URI: $XWG_STRANKA_URI"; |
134 echo "Soubor: $XWG_STRANKA_SOUBOR"; |
134 echo "Soubor: $XWG_STRANKA_SOUBOR"; |
135 echo "Nadpis: $XWG_STRANKA_NADPIS"; |
135 echo "Nadpis: $XWG_STRANKA_NADPIS"; |
136 echo "Perex: $XWG_STRANKA_PEREX"; |
136 echo "Perex: $XWG_STRANKA_PEREX"; |
137 </m:skript>]]></m:pre> |
137 </m:skript>]]></m:pre> |
138 |
138 |
139 <p>nám vypíše:</p> |
139 <p>nám vypíše:</p> |
140 |
140 |
141 <pre><m:skript jazyk="bash"><![CDATA[ |
141 <pre><m:skript jazyk="bash"><![CDATA[ |
142 echo "URI: $XWG_STRANKA_URI" | sed s/\\/home\\/$USER/\\/home\\/xwg/g; |
142 echo "URI: $XWG_STRANKA_URI" | sed s/\\/home\\/$USER/\\/home\\/xwg/g; |
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>Makra ve skriptech</h2> |
148 <h2>Makra ve skriptech</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="xml"><![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š,";'; |
154 echo '</m:skript>'; |
154 echo '</m:skript>'; |
155 ]]></m:skript> |
155 ]]></m:skript> |
156 nebo dělat něco užitečnějšího. |
156 nebo dělat něco užitečnějšího. |
157 </p> |
157 </p> |
158 |
158 |
159 <m:skript jazyk="perl" výstup="xml"><![CDATA[ |
159 <m:skript jazyk="perl" výstup="xhtml"><![CDATA[ |
160 use strict; |
160 use strict; |
161 use warnings; |
161 use warnings; |
162 |
162 |
163 my $adresar = "vstup/makra"; |
163 my $adresar = "vstup/makra"; |
164 |
164 |
204 } |
204 } |
205 print "</m:diagram>"; |
205 print "</m:diagram>"; |
206 closedir(DIR);]]></m:pre> |
206 closedir(DIR);]]></m:pre> |
207 |
207 |
208 <p> |
208 <p> |
209 Který vložíme zabalený v <code><![CDATA[<m:skript jazyk="perl" výstup="xml"> … </m:skript>]]></code> do stránky. |
209 Který vložíme zabalený v <code><![CDATA[<m:skript jazyk="perl" výstup="xhtml"> … </m:skript>]]></code> do stránky. |
210 </p> |
210 </p> |
211 <p> |
211 <p> |
212 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í). |
212 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í). |
213 </p> |
213 </p> |
214 |
214 |