Changeset 96:8de228c9ac10 for šablona/makra/skriptování.xsl
- Timestamp:
- 06/23/12 20:12:44 (12 years ago)
- Branch:
- default
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
šablona/makra/skriptování.xsl
r95 r96 21 21 xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro" 22 22 xmlns:j="java:cz.frantovo.xmlWebGenerator.makra.Skriptování" 23 xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace" 23 24 xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana" 24 25 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 25 exclude-result-prefixes="m j s">26 exclude-result-prefixes="m j k s"> 26 27 27 28 <!-- … … 32 33 @jazyk programovací jazyk, např. bash, perl, php 33 34 @výstup formát výstupu skriptu: text (výchozí) | xml (musí být validním fragmentem XML) 34 @src skript uložený v souboru místo v těle elementu35 35 --> 36 36 <xsl:template match="m:skript"> 37 <!--38 TODO:39 - ošetření chyb40 - nastavení z web.conf (zákaz nebo ignorace skriptů)41 - podpora vkládání fragmentů XML, ne jen prostého textu42 -->43 37 44 <xsl:variable name="výstupSkriptu" select="j:interpretuj( 45 text(), 46 @jazyk, 47 @výstup, 48 document-uri(/), 49 //s:stránka/s:nadpis/text(), 50 //s:stránka/s:perex/text() 51 )"/> 38 <xsl:variable name="režim" select="$konfigurace/k:web/k:skriptování/k:režim/text()"/> 39 52 40 <xsl:choose> 53 <xsl:when test="$výstupSkriptu"> 41 <xsl:when test="$režim = 'povolit'"> 42 <xsl:variable name="výstupSkriptu" select="j:interpretuj( 43 text(), 44 @jazyk, 45 @výstup, 46 document-uri(/), 47 //s:stránka/s:nadpis/text(), 48 //s:stránka/s:perex/text() 49 )"/> 54 50 <xsl:choose> 55 <xsl:when test="@výstup = 'xml'"><xsl:value-of select="$výstupSkriptu" disable-output-escaping="yes"/></xsl:when> 56 <xsl:otherwise><xsl:value-of select="$výstupSkriptu"/></xsl:otherwise> 51 <xsl:when test="$výstupSkriptu"> 52 <xsl:choose> 53 <xsl:when test="@výstup = 'xml'"><xsl:value-of select="$výstupSkriptu" disable-output-escaping="yes"/></xsl:when> 54 <xsl:otherwise><xsl:value-of select="$výstupSkriptu"/></xsl:otherwise> 55 </xsl:choose> 56 </xsl:when> 57 <xsl:otherwise> 58 <xsl:message terminate="yes">Při interpretaci skriptu došlo k chybě.</xsl:message> 59 </xsl:otherwise> 57 60 </xsl:choose> 58 61 </xsl:when> 59 <xsl:otherwise> 60 <xsl:message terminate="yes">Při interpretaci skriptu došlo k chybě.</xsl:message> 62 63 <xsl:when test="$režim = 'zakázat'"> 64 <xsl:message terminate="yes">Stránka obsahuje skripty, ale skripty jsou zakázané → je potřeba je odstranit nebo upravit nastavení ve web.conf.</xsl:message> 65 </xsl:when> 66 <xsl:when test="$režim = 'ignorovat'"> 67 <xsl:message>Stránka obsahuje skripty, ale skripty jsou ignorovány – změnu lze provést ve web.conf.</xsl:message> 68 </xsl:when> 69 <xsl:when test="$režim = 'vložit' and @výstup = 'xml'"> 70 <xsl:message>Není možné jen tak vložit text, který měl mít výstup ve formátu XML – změnu lze provést ve web.conf</xsl:message> 71 </xsl:when> 72 <xsl:when test="$režim = 'vložit'"> 73 <span class="vloženýNeinterpretovanýSkript jazyk-{@jazyk}"> 74 <xsl:value-of select="text()"/> 75 </span> 76 </xsl:when> 77 <xsl:otherwise><!-- varovat = výchozí možnost --> 78 <xsl:choose> 79 <xsl:when test="@výstup = 'xml'"> 80 <xsl:message>Není možné možné vložit varování na místo, kde měl být skript generující XML – změnu lze provést ve web.conf</xsl:message> 81 </xsl:when> 82 <xsl:otherwise> 83 <xsl:text>[VAROVÁNÍ (</xsl:text> 84 <xsl:value-of select="@jazyk"/> 85 <xsl:text>): skripty jsou vypnuté – lze je zapnout ve web.conf]</xsl:text> 86 <xsl:message>Skript se neinterpretuje a vkládáme varování do stránky – změnu lze provést ve web.conf</xsl:message> 87 </xsl:otherwise> 88 </xsl:choose> 61 89 </xsl:otherwise> 62 90 </xsl:choose> 63 64 65 91 </xsl:template> 66 92