šablona/stránka-společné.xsl
changeset 77 2f11f0ba6f13
parent 71 895757141bff
child 87 25dec6931f18
--- a/šablona/stránka-společné.xsl	Sun Jan 08 16:52:30 2012 +0100
+++ b/šablona/stránka-společné.xsl	Sun Jan 08 17:09:50 2012 +0100
@@ -35,41 +35,87 @@
 	<xsl:param name="výstupníPřípona" select="'.xhtml'"/>
 	<xsl:param name="vsuvkováPřípona" select="'.inc'"/>
 	<xsl:param name="podporaZaostalýchProhlížečů" select="false()" as="xs:boolean"/>
-
+	
 	<xsl:variable name="konfigurace" select="document(concat($vstup, 'web.conf'))"/>
 	
 	<xsl:include href=".makra-seznam.xsl"/>
 	
-	
-	<!-- Kopírujeme elementy, ale vynecháme nepoužité xmlns deklarace: -->
+	<!-- 
+		Kopírujeme elementy, ale vynecháme nepoužité xmlns deklarace: 
+	-->
 	<xsl:template match="*">
 		<xsl:element name="{name()}">
 			<xsl:copy-of select="@*"/>
 			<xsl:apply-templates/>
 		</xsl:element>
-    </xsl:template>
+	</xsl:template>
     
-    <!-- Varování pro případ, že jsme v režimu podpory pro zaostalé prohlížeče -->
-    <xsl:template name="varováníRetardace">
-    	<xsl:if test="$podporaZaostalýchProhlížečů">
+	<!-- 
+		Varování pro případ, že jsme v režimu podpory pro zaostalé prohlížeče 
+	-->
+	<xsl:template name="varováníRetardace">
+		<xsl:if test="$podporaZaostalýchProhlížečů">
 			<xsl:comment>
 				Generátor byl spuštěn v režimu podpory zaostalých prohlížečů.
 				Uživatelům doporučujeme upgrade na skutečný WWW prohlížeč,
 				jako je např. Firefox nebo Chromium (případně Opera či Safari).
 			</xsl:comment>
-    	</xsl:if>
-    </xsl:template>
+		</xsl:if>
+	</xsl:template>
+	
+	<!-- 
+		Odkazy na JavaScript a kaskádové styly 
+	-->    
+	<xsl:template match="k:web/k:js">    	
+		<script src="{text()}" type="text/javascript">
+			<xsl:call-template name="varováníRetardace"/>
+		</script>
+	</xsl:template>
+	<xsl:template match="k:web/k:css">
+		<link href="{text()}" type="text/css" rel="StyleSheet" />
+	</xsl:template>
+    
+    <!--
+    	Vloží nečíslovaný seznam obsahující hlavní nabídku webu (seznam stránek)
+    	Pro potřeby CSS stylování má nabídka @id='nabídka'
+    -->
+	<xsl:template name="vložNabídku">
+		<ul id="nabídka">
+			<xsl:for-each select="collection(concat('./', $vstup ,'/?select=*', $vstupníPřípona))[s:stránka/s:pořadí]">
+				<xsl:sort select="empty(./s:stránka/s:pořadí)"/>
+				<xsl:sort select="./s:stránka/s:pořadí"/>
+				<li>
+					<xsl:variable name="xmlSoubor" select="tokenize(document-uri(.), '/')[last()]"/>
+					<xsl:variable name="xhtmlSoubor" select="replace($xmlSoubor, $vstupníPřípona, $výstupníPřípona)"/>
+					<a href="{fn:encode-for-uri($xhtmlSoubor)}"><xsl:value-of select="./s:stránka/s:nadpis"/></a>
+				</li>
+			</xsl:for-each>
+		</ul>
+	</xsl:template>
+	
+	<!--
+		Vloží záhlaví (společné pro všechny stránky)
+		Pro potřeby CSS stylování má @id='záhlaví'
+	-->
+	<xsl:template name="vložZáhlaví">
+		<div id="záhlaví">
+			<xsl:apply-templates select="document(fn:encode-for-uri(concat($vstup, 'záhlaví', $vsuvkováPřípona)))/s:stránka/h:text/node()"/>
+		</div>
+	</xsl:template>
+	
+	<!--
+		Vloží zápatí (společné pro všechny stránky)
+		Pro potřeby CSS stylování má @id='zápatí'
+	-->
+	<xsl:template name="vložZápatí">
+		<div id="zápatí">
+			<xsl:apply-templates select="document(fn:encode-for-uri(concat($vstup, 'zápatí', $vsuvkováPřípona)))/s:stránka/h:text/node()"/>
+		</div>
+	</xsl:template>
 
-    <!-- Odkazy na JavaScript a kaskádové styly -->    
-    <xsl:template match="k:web/k:js">    	
-    	<script src="{text()}" type="text/javascript">
-    		<xsl:call-template name="varováníRetardace"/>
-    	</script>
-    </xsl:template>
-    <xsl:template match="k:web/k:css">
-    	<link href="{text()}" type="text/css" rel="StyleSheet" />
-    </xsl:template>
-    
+    <!--
+    	Vrací cestu v URL kódování, ale lomítka nekóduje
+    -->
     <xsl:function name="m:escapuj-url-zachovej-lomítka" as="xs:string">
 		<xsl:param name="cesta"/>
 		<xsl:value-of select="replace(encode-for-uri($cesta), '%2F', '/')"/>