--- a/šablona/makra/skriptování.xsl Sat Jun 23 18:00:41 2012 +0200
+++ b/šablona/makra/skriptování.xsl Sat Jun 23 19:22:21 2012 +0200
@@ -30,6 +30,7 @@
Provedeme skript zadaný v těle elementu a jeho výstup vložíme do stránky.
*
@jazyk programovací jazyk, např. bash, perl, php
+ @výstup formát výstupu skriptu: text (výchozí) | xml (musí být validním fragmentem XML)
@src skript uložený v souboru místo v těle elementu
-->
<xsl:template match="m:skript">
@@ -39,7 +40,28 @@
- nastavení z web.conf (zákaz nebo ignorace skriptů)
- podpora vkládání fragmentů XML, ne jen prostého textu
-->
- <xsl:value-of select="j:interpretuj(text(), @jazyk, document-uri(/), //s:stránka/s:nadpis/text(), //s:stránka/s:perex/text())"/>
+
+ <xsl:variable name="výstupSkriptu" select="j:interpretuj(
+ text(),
+ @jazyk,
+ @výstup,
+ document-uri(/),
+ //s:stránka/s:nadpis/text(),
+ //s:stránka/s:perex/text()
+ )"/>
+ <xsl:choose>
+ <xsl:when test="$výstupSkriptu">
+ <xsl:choose>
+ <xsl:when test="@výstup = 'xml'"><xsl:value-of select="$výstupSkriptu" disable-output-escaping="yes"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="$výstupSkriptu"/></xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message terminate="yes">Při interpretaci skriptu došlo k chybě.</xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+
+
</xsl:template>
</xsl:stylesheet>