šablona/makra/skriptování.xsl
changeset 95 eea9c4713045
parent 94 4b3ba32f613c
child 96 8de228c9ac10
--- 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>