33 <xsl:param name="výstup" select="'../výstup/'"/> |
33 <xsl:param name="výstup" select="'../výstup/'"/> |
34 <xsl:param name="vstupníPřípona" select="'.xml'"/> |
34 <xsl:param name="vstupníPřípona" select="'.xml'"/> |
35 <xsl:param name="výstupníPřípona" select="'.xhtml'"/> |
35 <xsl:param name="výstupníPřípona" select="'.xhtml'"/> |
36 <xsl:param name="vsuvkováPřípona" select="'.inc'"/> |
36 <xsl:param name="vsuvkováPřípona" select="'.inc'"/> |
37 <xsl:param name="podporaZaostalýchProhlížečů" select="false()" as="xs:boolean"/> |
37 <xsl:param name="podporaZaostalýchProhlížečů" select="false()" as="xs:boolean"/> |
38 |
38 |
39 <xsl:variable name="konfigurace" select="document(concat($vstup, 'web.conf'))"/> |
39 <xsl:variable name="konfigurace" select="document(concat($vstup, 'web.conf'))"/> |
40 |
40 |
41 <xsl:include href=".makra-seznam.xsl"/> |
41 <xsl:include href=".makra-seznam.xsl"/> |
42 |
42 |
43 |
43 <!-- |
44 <!-- Kopírujeme elementy, ale vynecháme nepoužité xmlns deklarace: --> |
44 Kopírujeme elementy, ale vynecháme nepoužité xmlns deklarace: |
|
45 --> |
45 <xsl:template match="*"> |
46 <xsl:template match="*"> |
46 <xsl:element name="{name()}"> |
47 <xsl:element name="{name()}"> |
47 <xsl:copy-of select="@*"/> |
48 <xsl:copy-of select="@*"/> |
48 <xsl:apply-templates/> |
49 <xsl:apply-templates/> |
49 </xsl:element> |
50 </xsl:element> |
50 </xsl:template> |
51 </xsl:template> |
51 |
52 |
52 <!-- Varování pro případ, že jsme v režimu podpory pro zaostalé prohlížeče --> |
53 <!-- |
53 <xsl:template name="varováníRetardace"> |
54 Varování pro případ, že jsme v režimu podpory pro zaostalé prohlížeče |
54 <xsl:if test="$podporaZaostalýchProhlížečů"> |
55 --> |
|
56 <xsl:template name="varováníRetardace"> |
|
57 <xsl:if test="$podporaZaostalýchProhlížečů"> |
55 <xsl:comment> |
58 <xsl:comment> |
56 Generátor byl spuštěn v režimu podpory zaostalých prohlížečů. |
59 Generátor byl spuštěn v režimu podpory zaostalých prohlížečů. |
57 Uživatelům doporučujeme upgrade na skutečný WWW prohlížeč, |
60 Uživatelům doporučujeme upgrade na skutečný WWW prohlížeč, |
58 jako je např. Firefox nebo Chromium (případně Opera či Safari). |
61 jako je např. Firefox nebo Chromium (případně Opera či Safari). |
59 </xsl:comment> |
62 </xsl:comment> |
60 </xsl:if> |
63 </xsl:if> |
61 </xsl:template> |
64 </xsl:template> |
|
65 |
|
66 <!-- |
|
67 Odkazy na JavaScript a kaskádové styly |
|
68 --> |
|
69 <xsl:template match="k:web/k:js"> |
|
70 <script src="{text()}" type="text/javascript"> |
|
71 <xsl:call-template name="varováníRetardace"/> |
|
72 </script> |
|
73 </xsl:template> |
|
74 <xsl:template match="k:web/k:css"> |
|
75 <link href="{text()}" type="text/css" rel="StyleSheet" /> |
|
76 </xsl:template> |
|
77 |
|
78 <!-- |
|
79 Vloží nečíslovaný seznam obsahující hlavní nabídku webu (seznam stránek) |
|
80 Pro potřeby CSS stylování má nabídka @id='nabídka' |
|
81 --> |
|
82 <xsl:template name="vložNabídku"> |
|
83 <ul id="nabídka"> |
|
84 <xsl:for-each select="collection(concat('./', $vstup ,'/?select=*', $vstupníPřípona))[s:stránka/s:pořadí]"> |
|
85 <xsl:sort select="empty(./s:stránka/s:pořadí)"/> |
|
86 <xsl:sort select="./s:stránka/s:pořadí"/> |
|
87 <li> |
|
88 <xsl:variable name="xmlSoubor" select="tokenize(document-uri(.), '/')[last()]"/> |
|
89 <xsl:variable name="xhtmlSoubor" select="replace($xmlSoubor, $vstupníPřípona, $výstupníPřípona)"/> |
|
90 <a href="{fn:encode-for-uri($xhtmlSoubor)}"><xsl:value-of select="./s:stránka/s:nadpis"/></a> |
|
91 </li> |
|
92 </xsl:for-each> |
|
93 </ul> |
|
94 </xsl:template> |
|
95 |
|
96 <!-- |
|
97 Vloží záhlaví (společné pro všechny stránky) |
|
98 Pro potřeby CSS stylování má @id='záhlaví' |
|
99 --> |
|
100 <xsl:template name="vložZáhlaví"> |
|
101 <div id="záhlaví"> |
|
102 <xsl:apply-templates select="document(fn:encode-for-uri(concat($vstup, 'záhlaví', $vsuvkováPřípona)))/s:stránka/h:text/node()"/> |
|
103 </div> |
|
104 </xsl:template> |
|
105 |
|
106 <!-- |
|
107 Vloží zápatí (společné pro všechny stránky) |
|
108 Pro potřeby CSS stylování má @id='zápatí' |
|
109 --> |
|
110 <xsl:template name="vložZápatí"> |
|
111 <div id="zápatí"> |
|
112 <xsl:apply-templates select="document(fn:encode-for-uri(concat($vstup, 'zápatí', $vsuvkováPřípona)))/s:stránka/h:text/node()"/> |
|
113 </div> |
|
114 </xsl:template> |
62 |
115 |
63 <!-- Odkazy na JavaScript a kaskádové styly --> |
116 <!-- |
64 <xsl:template match="k:web/k:js"> |
117 Vrací cestu v URL kódování, ale lomítka nekóduje |
65 <script src="{text()}" type="text/javascript"> |
118 --> |
66 <xsl:call-template name="varováníRetardace"/> |
|
67 </script> |
|
68 </xsl:template> |
|
69 <xsl:template match="k:web/k:css"> |
|
70 <link href="{text()}" type="text/css" rel="StyleSheet" /> |
|
71 </xsl:template> |
|
72 |
|
73 <xsl:function name="m:escapuj-url-zachovej-lomítka" as="xs:string"> |
119 <xsl:function name="m:escapuj-url-zachovej-lomítka" as="xs:string"> |
74 <xsl:param name="cesta"/> |
120 <xsl:param name="cesta"/> |
75 <xsl:value-of select="replace(encode-for-uri($cesta), '%2F', '/')"/> |
121 <xsl:value-of select="replace(encode-for-uri($cesta), '%2F', '/')"/> |
76 </xsl:function> |
122 </xsl:function> |
77 |
123 |