author | František Kučera <franta-hg@frantovo.cz> |
Sun, 01 Jul 2012 14:43:21 +0200 | |
changeset 103 | aa91d1c6d4c1 |
parent 96 | 8de228c9ac10 |
child 106 | ae484a54d7fb |
permissions | -rw-r--r-- |
94
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
2 |
<!-- |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
3 |
XML Web generátor – program na generování webových stránek |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
4 |
Copyright © 2012 František Kučera (frantovo.cz) |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
5 |
|
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
6 |
This program is free software: you can redistribute it and/or modify |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
7 |
it under the terms of the GNU General Public License as published by |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
8 |
the Free Software Foundation, either version 3 of the License, or |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
9 |
(at your option) any later version. |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
10 |
|
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
11 |
This program is distributed in the hope that it will be useful, |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
12 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
13 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
14 |
GNU General Public License for more details. |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
15 |
|
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
16 |
You should have received a copy of the GNU General Public License |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
17 |
along with this program. If not, see <http://www.gnu.org/licenses/>. |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
18 |
--> |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
19 |
<xsl:stylesheet version="2.0" |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
20 |
xmlns="http://www.w3.org/1999/xhtml" |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
21 |
xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro" |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
22 |
xmlns:j="java:cz.frantovo.xmlWebGenerator.makra.Skriptování" |
96
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
23 |
xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace" |
94
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
24 |
xmlns:s="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana" |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
25 |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" |
96
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
26 |
exclude-result-prefixes="m j k s"> |
94
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
27 |
|
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
28 |
<!-- |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
29 |
Skriptování |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
30 |
*********** |
103
aa91d1c6d4c1
#20 Skriptování: možnost spouštět skripty ze souborů (atribut: src).
František Kučera <franta-hg@frantovo.cz>
parents:
96
diff
changeset
|
31 |
Provedeme skript zadaný v těle elementu nebo v souboru a jeho výstup vložíme do stránky. |
94
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
32 |
* |
103
aa91d1c6d4c1
#20 Skriptování: možnost spouštět skripty ze souborů (atribut: src).
František Kučera <franta-hg@frantovo.cz>
parents:
96
diff
changeset
|
33 |
@jazyk programovací jazyk, např. bash, perl, php (nepovinné, pokud je vyplněn atribut src) |
95
eea9c4713045
#20 Skriptování: podpora výstupu ve formátu XML (musí být validní)
František Kučera <franta-hg@frantovo.cz>
parents:
94
diff
changeset
|
34 |
@výstup formát výstupu skriptu: text (výchozí) | xml (musí být validním fragmentem XML) |
103
aa91d1c6d4c1
#20 Skriptování: možnost spouštět skripty ze souborů (atribut: src).
František Kučera <franta-hg@frantovo.cz>
parents:
96
diff
changeset
|
35 |
@src soubor se skriptem/programem (volitelný parametr – buď zadáme skript do těla elementu, nebo nastavíme tento atribut) |
94
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
36 |
--> |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
37 |
<xsl:template match="m:skript"> |
96
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
38 |
|
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
39 |
<xsl:variable name="režim" select="$konfigurace/k:web/k:skriptování/k:režim/text()"/> |
95
eea9c4713045
#20 Skriptování: podpora výstupu ve formátu XML (musí být validní)
František Kučera <franta-hg@frantovo.cz>
parents:
94
diff
changeset
|
40 |
|
eea9c4713045
#20 Skriptování: podpora výstupu ve formátu XML (musí být validní)
František Kučera <franta-hg@frantovo.cz>
parents:
94
diff
changeset
|
41 |
<xsl:choose> |
96
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
42 |
<xsl:when test="$režim = 'povolit'"> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
43 |
<xsl:variable name="výstupSkriptu" select="j:interpretuj( |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
44 |
text(), |
103
aa91d1c6d4c1
#20 Skriptování: možnost spouštět skripty ze souborů (atribut: src).
František Kučera <franta-hg@frantovo.cz>
parents:
96
diff
changeset
|
45 |
@src, |
96
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
46 |
@jazyk, |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
47 |
@výstup, |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
48 |
document-uri(/), |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
49 |
//s:stránka/s:nadpis/text(), |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
50 |
//s:stránka/s:perex/text() |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
51 |
)"/> |
95
eea9c4713045
#20 Skriptování: podpora výstupu ve formátu XML (musí být validní)
František Kučera <franta-hg@frantovo.cz>
parents:
94
diff
changeset
|
52 |
<xsl:choose> |
96
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
53 |
<xsl:when test="$výstupSkriptu"> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
54 |
<xsl:choose> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
55 |
<xsl:when test="@výstup = 'xml'"><xsl:value-of select="$výstupSkriptu" disable-output-escaping="yes"/></xsl:when> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
56 |
<xsl:otherwise><xsl:value-of select="$výstupSkriptu"/></xsl:otherwise> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
57 |
</xsl:choose> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
58 |
</xsl:when> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
59 |
<xsl:otherwise> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
60 |
<xsl:message terminate="yes">Při interpretaci skriptu došlo k chybě.</xsl:message> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
61 |
</xsl:otherwise> |
95
eea9c4713045
#20 Skriptování: podpora výstupu ve formátu XML (musí být validní)
František Kučera <franta-hg@frantovo.cz>
parents:
94
diff
changeset
|
62 |
</xsl:choose> |
eea9c4713045
#20 Skriptování: podpora výstupu ve formátu XML (musí být validní)
František Kučera <franta-hg@frantovo.cz>
parents:
94
diff
changeset
|
63 |
</xsl:when> |
96
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
64 |
|
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
65 |
<xsl:when test="$režim = 'zakázat'"> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
66 |
<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> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
67 |
</xsl:when> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
68 |
<xsl:when test="$režim = 'ignorovat'"> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
69 |
<xsl:message>Stránka obsahuje skripty, ale skripty jsou ignorovány – změnu lze provést ve web.conf.</xsl:message> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
70 |
</xsl:when> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
71 |
<xsl:when test="$režim = 'vložit' and @výstup = 'xml'"> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
72 |
<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> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
73 |
</xsl:when> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
74 |
<xsl:when test="$režim = 'vložit'"> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
75 |
<span class="vloženýNeinterpretovanýSkript jazyk-{@jazyk}"> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
76 |
<xsl:value-of select="text()"/> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
77 |
</span> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
78 |
</xsl:when> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
79 |
<xsl:otherwise><!-- varovat = výchozí možnost --> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
80 |
<xsl:choose> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
81 |
<xsl:when test="@výstup = 'xml'"> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
82 |
<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> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
83 |
</xsl:when> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
84 |
<xsl:otherwise> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
85 |
<xsl:text>[VAROVÁNÍ (</xsl:text> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
86 |
<xsl:value-of select="@jazyk"/> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
87 |
<xsl:text>): skripty jsou vypnuté – lze je zapnout ve web.conf]</xsl:text> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
88 |
<xsl:message>Skript se neinterpretuje a vkládáme varování do stránky – změnu lze provést ve web.conf</xsl:message> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
89 |
</xsl:otherwise> |
8de228c9ac10
#20 Skriptování: nastavení ve web.conf: povolit | zakázat | ignorovat | varovat | vložit
František Kučera <franta-hg@frantovo.cz>
parents:
95
diff
changeset
|
90 |
</xsl:choose> |
95
eea9c4713045
#20 Skriptování: podpora výstupu ve formátu XML (musí být validní)
František Kučera <franta-hg@frantovo.cz>
parents:
94
diff
changeset
|
91 |
</xsl:otherwise> |
eea9c4713045
#20 Skriptování: podpora výstupu ve formátu XML (musí být validní)
František Kučera <franta-hg@frantovo.cz>
parents:
94
diff
changeset
|
92 |
</xsl:choose> |
94
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
93 |
</xsl:template> |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
94 |
|
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
95 |
</xsl:stylesheet> |
4b3ba32f613c
Skriptování: první verze
František Kučera <franta-hg@frantovo.cz>
parents:
diff
changeset
|
96 |