šablona/makra/odkazy.xsl
changeset 54 15c66c9048f2
parent 53 7403128a8e0a
child 56 24e50902b58e
equal deleted inserted replaced
53:7403128a8e0a 54:15c66c9048f2
     4 	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
     4 	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
     5 	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     5 	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     6 	exclude-result-prefixes="m">
     6 	exclude-result-prefixes="m">
     7 
     7 
     8 	<!--
     8 	<!--
     9 		Odkazy
     9 		Interní odkazy
    10 		******
    10 		**************
    11 		Slouží hlavně k vkládání odkazů na jiné stránky v rámci webu.
    11 		Slouží k vkládání odkazů na jiné stránky v rámci webu.
    12 		*
    12 		*
    13 		@href zadáváme jen název souboru bez přípony – s nezakódovanou češtinou a s mezerami
    13 		@href zadáváme jen název souboru bez přípony – s nezakódovanou češtinou a s mezerami
    14 		@typ jiné typy odkazů (výchozí jsou interní odkazy v rámci webu)
    14 		@typ nevyplňujeme
    15 	-->
    15 	-->
    16 	<xsl:template match="m:a">
    16 	<xsl:template match="m:a[not(@typ)]">
    17 		<a>
    17 		<a>
    18 			<xsl:copy-of select="@*"/>
    18 			<xsl:copy-of select="@*"/>
    19 			<xsl:attribute name="href">
    19 			<xsl:attribute name="href">
    20 				<xsl:value-of select="encode-for-uri(concat(@href, $výstupníPřípona))"/>
    20 				<xsl:value-of select="encode-for-uri(concat(@href, $výstupníPřípona))"/>
    21 			</xsl:attribute>
    21 			</xsl:attribute>
    53 					@href
    53 					@href
    54 				)"/>
    54 				)"/>
    55 		</xsl:call-template>
    55 		</xsl:call-template>
    56 	</xsl:template>
    56 	</xsl:template>
    57 
    57 
       
    58 	<!--
       
    59 		Wikipedia
       
    60 		************
       
    61 		Stránka v encyklopedii 
       
    62 		@href název stránky
       
    63 		@jazyk kód jazyka (výchozí je čeština)
       
    64 	-->
       
    65 	<xsl:template match="m:a[@typ='wiki']">
       
    66 		<xsl:call-template name="vložOdkaz">
       
    67 			<xsl:with-param name="url" select="
       
    68 				concat(
       
    69 					'https://secure.wikimedia.org/wikipedia/', (@jazyk,'cs')[1], '/wiki/', 
       
    70 					encode-for-uri(@href)
       
    71 				)"/>
       
    72 		</xsl:call-template>
       
    73 	</xsl:template>
       
    74 	
    58 	<!-- 
    75 	<!-- 
    59 		Seznam.cz
    76 		Seznam.cz
    60 		*********
    77 		*********
    61 		Vyhledávání pomocí Seznamu
    78 		Vyhledávání pomocí Seznamu
       
    79 		@href náš dotaz
    62 	-->
    80 	-->
    63 	<xsl:template match="m:a[@typ='seznam']">
    81 	<xsl:template match="m:a[@typ='seznam']">
    64 		<xsl:call-template name="vložOdkaz">
    82 		<xsl:call-template name="vložOdkaz">
    65 			<xsl:with-param name="url" select="concat('http://search.seznam.cz/?q=', encode-for-uri(@href))"/>
    83 			<xsl:with-param name="url" select="
       
    84 				concat(
       
    85 					'http://search.seznam.cz/?q=', 
       
    86 					encode-for-uri(@href)
       
    87 				)"/>
    66 		</xsl:call-template>
    88 		</xsl:call-template>
    67 	</xsl:template>
    89 	</xsl:template>
    68 
    90 
    69 	<!-- 
    91 	<!-- 
    70 		Google.com
    92 		Google.com
    71 		**********
    93 		**********
    72 		Vyhledávání pomocí Googlu
    94 		Vyhledávání pomocí Googlu
       
    95 		@href náš dotaz
    73 	-->
    96 	-->
    74 	<xsl:template match="m:a[@typ='google']">
    97 	<xsl:template match="m:a[@typ='google']">
    75 		<xsl:call-template name="vložOdkaz">
    98 		<xsl:call-template name="vložOdkaz">
    76 			<xsl:with-param name="url" select="concat('https://encrypted.google.com/search?q=', encode-for-uri(@href))"/>
    99 			<xsl:with-param name="url" select="
       
   100 				concat(
       
   101 					'https://encrypted.google.com/search?q=', 
       
   102 					encode-for-uri(@href)
       
   103 				)"/>
    77 		</xsl:call-template>	
   104 		</xsl:call-template>	
    78 	</xsl:template>
   105 	</xsl:template>
    79 	
   106 	
    80 	<!-- 
   107 	<!-- 
    81 		Request for comments
   108 		Request for comments
    82 		********************
   109 		********************
    83 		Internetové standardy – RFC
   110 		Internetové standardy – RFC
       
   111 		@href číslo RFCčka
    84 	-->
   112 	-->
    85 	<xsl:template match="m:a[@typ='rfc']">
   113 	<xsl:template match="m:a[@typ='rfc']">
    86 		<xsl:call-template name="vložOdkaz">
   114 		<xsl:call-template name="vložOdkaz">
    87 			<xsl:with-param name="url" select="concat('https://tools.ietf.org/html/rfc', @href)"/>
   115 			<xsl:with-param name="url" select="
       
   116 				concat(
       
   117 					'https://tools.ietf.org/html/rfc',
       
   118 					@href
       
   119 				)"/>
    88 		</xsl:call-template>
   120 		</xsl:call-template>
    89 	</xsl:template>
   121 	</xsl:template>
    90 	
   122 	
    91 	
   123 	
    92 	<xsl:template name="vložOdkaz">
   124 	<xsl:template name="vložOdkaz">
    93 		<xsl:param name="url"/>
   125 		<xsl:param name="url"/>
    94 		<a>
   126 		<a>
    95 			<xsl:copy-of select="@*"/>
   127 			<xsl:copy-of select="@*"/>
    96 			<xsl:attribute name="href"><xsl:value-of select="$url"/></xsl:attribute>
   128 			<xsl:attribute name="href"><xsl:value-of select="$url"/></xsl:attribute>
    97 			<xsl:apply-templates/>
   129 			<xsl:apply-templates/>
    98 		</a>		
   130 		</a>
    99 	</xsl:template>
   131 	</xsl:template>
   100 
   132 
   101 </xsl:stylesheet>
   133 </xsl:stylesheet>