šablona/makra/skriptování.xsl
changeset 95 eea9c4713045
parent 94 4b3ba32f613c
child 96 8de228c9ac10
     1.1 --- a/šablona/makra/skriptování.xsl	Sat Jun 23 18:00:41 2012 +0200
     1.2 +++ b/šablona/makra/skriptování.xsl	Sat Jun 23 19:22:21 2012 +0200
     1.3 @@ -30,6 +30,7 @@
     1.4  		Provedeme skript zadaný v těle elementu a jeho výstup vložíme do stránky.
     1.5  		*
     1.6  		@jazyk programovací jazyk, např. bash, perl, php
     1.7 +		@výstup formát výstupu skriptu: text (výchozí) | xml (musí být validním fragmentem XML)
     1.8  		@src skript uložený v souboru místo v těle elementu
     1.9  	-->
    1.10  	<xsl:template match="m:skript">
    1.11 @@ -39,7 +40,28 @@
    1.12  			- nastavení z web.conf (zákaz nebo ignorace skriptů)
    1.13  			- podpora vkládání fragmentů XML, ne jen prostého textu
    1.14  		-->
    1.15 -		<xsl:value-of select="j:interpretuj(text(), @jazyk, document-uri(/), //s:stránka/s:nadpis/text(), //s:stránka/s:perex/text())"/>
    1.16 +		
    1.17 +		<xsl:variable name="výstupSkriptu" select="j:interpretuj(
    1.18 +															text(),
    1.19 +															@jazyk,
    1.20 +															@výstup,
    1.21 +															document-uri(/),
    1.22 +															//s:stránka/s:nadpis/text(),
    1.23 +															//s:stránka/s:perex/text()
    1.24 +														)"/>
    1.25 +		<xsl:choose>
    1.26 +			<xsl:when test="$výstupSkriptu">
    1.27 +				<xsl:choose>
    1.28 +					<xsl:when test="@výstup = 'xml'"><xsl:value-of select="$výstupSkriptu" disable-output-escaping="yes"/></xsl:when>
    1.29 +					<xsl:otherwise><xsl:value-of select="$výstupSkriptu"/></xsl:otherwise>
    1.30 +				</xsl:choose>
    1.31 +			</xsl:when>
    1.32 +			<xsl:otherwise>
    1.33 +				<xsl:message terminate="yes">Při interpretaci skriptu došlo k chybě.</xsl:message>
    1.34 +			</xsl:otherwise>
    1.35 +		</xsl:choose>
    1.36 +
    1.37 +		
    1.38  	</xsl:template>
    1.39  
    1.40  </xsl:stylesheet>