vstup/skriptování.xml
changeset 108 8d9cab64c335
parent 107 379a2a893fd1
child 109 f9e3ee9cc924
equal deleted inserted replaced
107:379a2a893fd1 108:8d9cab64c335
     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>
    38 
    38 
    39 		<h2>Podporované jazyky</h2>
    39 		<h2>Podporované jazyky</h2>
    40 		<p>
    40 		<p>
    41 			V současnosti jsou podporované tyto jazyky:
    41 			V současnosti jsou podporované tyto jazyky:
    42 		</p>
    42 		</p>
    43 		
    43 
    44 		<table>
    44 		<table>
    45 			<thead>
    45 			<thead>
    46 				<tr>
    46 				<tr>
    47 					<td>Jazyk</td>
    47 					<td>Jazyk</td>
    48 					<td>Interpret</td>
    48 					<td>Interpret</td>
    49 				</tr>
    49 				</tr>
    50 			</thead>
    50 			</thead>
    51 			<tbody>
    51 			<tbody>
    52 				<m:skript jazyk="perl" výstup="xml"><![CDATA[
    52 				<m:skript jazyk="perl" výstup="xhtml"><![CDATA[
    53 use strict;
    53 use strict;
    54 use warnings;
    54 use warnings;
    55 
    55 
    56 open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
    56 open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
    57 
    57 
   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 
   177 	$i++;
   177 	$i++;
   178 }
   178 }
   179 print "</m:diagram>";
   179 print "</m:diagram>";
   180 closedir(DIR);
   180 closedir(DIR);
   181 		]]></m:skript>
   181 		]]></m:skript>
   182 		
   182 
   183 		<p>…třeba vygenerovat tento diagram následujícím perlovským skriptem:</p>
   183 		<p>…třeba vygenerovat tento diagram následujícím perlovským skriptem:</p>
   184 		
   184 
   185 		<m:pre jazyk="perl"><![CDATA[
   185 		<m:pre jazyk="perl"><![CDATA[
   186 use strict;
   186 use strict;
   187 use warnings;
   187 use warnings;
   188 
   188 
   189 my $adresar = "vstup/makra";
   189 my $adresar = "vstup/makra";
   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