vstup/skriptování.xml
changeset 103 aa91d1c6d4c1
parent 102 ca045963fced
child 105 f2e79d6b0ad3
equal deleted inserted replaced
102:ca045963fced 103:aa91d1c6d4c1
    19 				<span title="tento text pochází ze skriptu"><m:skript jazyk="bash">uname -o</m:skript></span>.
    19 				<span title="tento text pochází ze skriptu"><m:skript jazyk="bash">uname -o</m:skript></span>.
    20 			</em>
    20 			</em>
    21 		</p>
    21 		</p>
    22 
    22 
    23 		<p>
    23 		<p>
    24 			Díky skriptování můžeme stránky obohatit o prakticky libovolný obsah.
    24 			Díky skriptování můžeme stránky obohatit o prakticky libovolný obsah – 
    25 			Tato funkce ale může být nebezpečná – pokud byste spustili generátor na stránkách,
    25 			jak prostý text, tak i XHTML fragmenty.<m:podČarou>zapíná se pomocí atributu 
       
    26 			<code>výstup="xml"</code> a generátor pak kontroluje správné formátování – 
       
    27 			nestane se vám, že byste omylem vygenerovali stránky s překříženými nebo neuzavřenými značkami.</m:podČarou>
       
    28 		</p>
       
    29 		<p>
       
    30 			Skriptování ale může být nebezpečné, pokud byste spustili generátor na stránkách,
    26 			které psal někdo nedůvěryhodný a vložil do nich škodlivý kód.
    31 			které psal někdo nedůvěryhodný a vložil do nich škodlivý kód.
       
    32 			Kromě toho, ukázková sada stránek by měla být přeložitelná kdekoli a mít minimum závislostí
       
    33 			(ne každý musí mít nainstalovaný Perl nebo Python či další podporované interprety).
    27 			Proto je skriptování ve výchozím stavu vypnuté – je potřeba ho povolit v souboru <code>web.conf</code>.
    34 			Proto je skriptování ve výchozím stavu vypnuté – je potřeba ho povolit v souboru <code>web.conf</code>.
    28 		</p>
    35 		</p>
    29 
    36 
    30 		<h2>Podporované jazyky</h2>
    37 		<h2>Podporované jazyky</h2>
    31 		<p>
    38 		<p>
    38 					<td>Jazyk</td>
    45 					<td>Jazyk</td>
    39 					<td>Interpret</td>
    46 					<td>Interpret</td>
    40 				</tr>
    47 				</tr>
    41 			</thead>
    48 			</thead>
    42 			<tbody>
    49 			<tbody>
    43 				<m:skript jazyk="perl"  výstup="xml"><![CDATA[
    50 				<m:skript jazyk="perl" výstup="xml"><![CDATA[
    44 use strict;
    51 use strict;
       
    52 use warnings;
    45 
    53 
    46 open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
    54 open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
    47 
    55 
    48 while (<JAVA>) {
    56 while (<JAVA>) {
    49 	if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) {
    57 	if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) {
    60 			Lepšího výsledku bychom samozřejmě dosáhli pomocí XPath dotazu,
    68 			Lepšího výsledku bychom samozřejmě dosáhli pomocí XPath dotazu,
    61 			ale toto je příklad na Perl :-)
    69 			ale toto je příklad na Perl :-)
    62 		-->
    70 		-->
    63 		<pre><m:skript jazyk="perl"><![CDATA[
    71 		<pre><m:skript jazyk="perl"><![CDATA[
    64 use strict;
    72 use strict;
       
    73 use warnings;
    65 
    74 
    66 open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"});
    75 open(XML, "<", $ENV{"XWG_STRANKA_SOUBOR"});
    67 my %skripty;
    76 my %skripty;
    68 
    77 
    69 while (<XML>) {
    78 while (<XML>) {
   107 						<td>Proměnná</td>
   116 						<td>Proměnná</td>
   108 						<td>Význam</td>
   117 						<td>Význam</td>
   109 					</tr>
   118 					</tr>
   110 				</thead>
   119 				</thead>
   111 				<tbody>
   120 				<tbody>
   112 					<m:skript jazyk="perl" výstup="xml"><![CDATA[
   121 					<!-- Pokud načítáme skript ze souboru, je atribut jazyk nepovinný. -->
   113 use strict;
   122 					<m:skript jazyk="perl" výstup="xml" src="skriptování-proměnné.pl"/>
   114 
       
   115 open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!;
       
   116 
       
   117 while (<JAVA>) {
       
   118 #i.put("bash", "/bin/bash");
       
   119 	if (/"(.*)=".*\/\/\s+env:(.*)/) {
       
   120 		print "<tr><td><code>$1</code></td><td>$2</td></tr>\n";
       
   121 	}
       
   122 }
       
   123 					]]></m:skript>
       
   124 				</tbody>
   123 				</tbody>
   125 			</table>
   124 			</table>
   126 			
   125 			
   127 			<p>
   126 			<p>
   128 				Kód:
   127 				Kód: