Show
Ignore:
Timestamp:
06/23/12 19:22:21 (12 years ago)
Author:
František Kučera <franta-hg@…>
Branch:
default
Message:

#20 Skriptování: podpora výstupu ve formátu XML (musí být validní)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • vstup/skriptování.xml

    r94 r95  
    99                <p> 
    1010                        Na stránkách můžeme používat skripty. 
    11                         Spouští se při generování a jejich standardní výstup se vloží do stránky. 
    12                         Třeba doprostřed ostavce nebo do jiného elementu. 
     11                        Spouští se při generování a jejich standardní výstup se vloží do stránky. 
     12                        Třeba doprostřed textu ostavce nebo do jiného elementu. 
    1313                </p> 
    1414                <p> 
    1515                        Příklad: 
    16                         Tyto stránky byly vygenerované v systému <m:skript jazyk="bash">uname -o</m:skript>. 
     16                        <em> 
     17                                Tyto stránky byly vygenerované v systému 
     18                                <span title="tento text pochází ze skriptu"><m:skript jazyk="bash">uname -o</m:skript></span>. 
     19                        </em> 
     20                </p> 
     21 
     22                <p> 
     23                        Díky skriptování můžeme stránky obohatit o prakticky libovolný obsah. 
     24                        Tato funkce ale může být nebezpečná – pokud byste spustili generátor na stránkách, 
     25                        které psal někdo nedůvěryhodný a vložil do nich škodlivý kód. 
     26                        Proto je skriptování ve výchozím stavu vypnuté – je potřeba ho povolit v souboru <code>web.conf</code>. 
     27                </p> 
     28 
     29                <h2>Podporované jazyky</h2> 
     30                <p> 
     31                        V současnosti jsou podporované tyto jazyky: 
    1732                </p> 
    1833                 
    19                 <p> 
    20                         V současnosti jsou podporované tyto jazyky: 
    21                 </p> 
    22                  
    23                 <pre><m:skript jazyk="perl"><![CDATA[ 
     34                <table> 
     35                        <thead> 
     36                                <tr> 
     37                                        <td>Jazyk</td> 
     38                                        <td>Interpret</td> 
     39                                </tr> 
     40                        </thead> 
     41                        <tbody> 
     42                                <m:skript jazyk="perl"  výstup="xml"><![CDATA[ 
    2443use strict; 
    2544 
    26 open(JAVA, "<", "šablona/funkce/src/cz/frantovo/xmlWebGenerator/makra/Skriptování.java") or die $!; 
     45open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!; 
    2746 
    2847while (<JAVA>) { 
    2948#i.put("bash", "/bin/bash"); 
    3049        if (/podporovanýJazyk\.put\("(\w+)",\s*"(.*)"\);/) { 
    31                 print "$1\n"; 
     50                print "<tr><td><code>$1</code></td><td><code>$2</code></td></tr>\n"; 
    3251        } 
    3352} 
    34                         ]]></m:skript></pre> 
     53                                ]]></m:skript> 
     54                        </tbody> 
     55                </table> 
    3556 
    3657                <h2>Perl</h2> 
     
    7798                        </p> 
    7899                         
    79                         <ul> 
    80                                 <li><code>XWG_STRANKA_URI</code> – URI aktuálně zpracovávané stránky</li> 
    81                                 <li><code>XWG_STRANKA_SOUBOR</code> – absolutní cesta k souboru</li> 
    82                                 <li><code>XWG_STRANKA_NADPIS</code> – nadpis stránky</li> 
    83                                 <li><code>XWG_STRANKA_PEREX</code> – perex stránky</li> 
    84                         </ul> 
     100                        <table> 
     101                                <thead> 
     102                                        <tr> 
     103                                                <td>Proměnná</td> 
     104                                                <td>Význam</td> 
     105                                        </tr> 
     106                                </thead> 
     107                                <tbody> 
     108                                        <m:skript jazyk="perl" výstup="xml"><![CDATA[ 
     109use strict; 
     110 
     111open(JAVA, "<", $ENV{"XWG_SKRIPTOVANI_JAVA"}) or die $!; 
     112 
     113while (<JAVA>) { 
     114#i.put("bash", "/bin/bash"); 
     115        if (/"(.*)=".*\/\/\s+env:(.*)/) { 
     116                print "<tr><td><code>$1</code></td><td>$2</td></tr>\n"; 
     117        } 
     118} 
     119                                        ]]></m:skript> 
     120                                </tbody> 
     121                        </table> 
    85122                         
    86123                        <p>