šablona/stránka-společné.xsl
changeset 77 2f11f0ba6f13
parent 71 895757141bff
child 87 25dec6931f18
equal deleted inserted replaced
76:c7746d95283d 77:2f11f0ba6f13
    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