šablona/makra/odkazy.xsl
author František Kučera <franta-hg@frantovo.cz>
Sat, 07 Jan 2012 12:43:30 +0100
changeset 61 9503eb8377f1
parent 57 768a7eecb0cf
child 63 75ee09ccc0ec
permissions -rw-r--r--
Licence: informace o licenci v každém souboru.
franta-hg@51
     1
<?xml version="1.0" encoding="UTF-8"?>
franta-hg@61
     2
<!--
franta-hg@61
     3
XML Web generátor – program na generování webových stránek
franta-hg@61
     4
Copyright © 2012 František Kučera (frantovo.cz)
franta-hg@61
     5
franta-hg@61
     6
This program is free software: you can redistribute it and/or modify
franta-hg@61
     7
it under the terms of the GNU General Public License as published by
franta-hg@61
     8
the Free Software Foundation, either version 3 of the License, or
franta-hg@61
     9
(at your option) any later version.
franta-hg@61
    10
franta-hg@61
    11
This program is distributed in the hope that it will be useful,
franta-hg@61
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
franta-hg@61
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
franta-hg@61
    14
GNU General Public License for more details.
franta-hg@61
    15
franta-hg@61
    16
You should have received a copy of the GNU General Public License
franta-hg@61
    17
along with this program.  If not, see <http://www.gnu.org/licenses/>.
franta-hg@61
    18
-->
franta-hg@51
    19
<xsl:stylesheet version="2.0"
franta-hg@51
    20
	xmlns="http://www.w3.org/1999/xhtml"
franta-hg@51
    21
	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
franta-hg@51
    22
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
franta-hg@51
    23
	exclude-result-prefixes="m">
franta-hg@53
    24
franta-hg@53
    25
	<!--
franta-hg@54
    26
		Interní odkazy
franta-hg@54
    27
		**************
franta-hg@54
    28
		Slouží k vkládání odkazů na jiné stránky v rámci webu.
franta-hg@53
    29
		*
franta-hg@53
    30
		@href zadáváme jen název souboru bez přípony – s nezakódovanou češtinou a s mezerami
franta-hg@54
    31
		@typ nevyplňujeme
franta-hg@53
    32
	-->
franta-hg@54
    33
	<xsl:template match="m:a[not(@typ)]">
franta-hg@53
    34
		<a>
franta-hg@53
    35
			<xsl:copy-of select="@*"/>
franta-hg@53
    36
			<xsl:attribute name="href">
franta-hg@53
    37
				<xsl:value-of select="encode-for-uri(concat(@href, $výstupníPřípona))"/>
franta-hg@53
    38
			</xsl:attribute>
franta-hg@53
    39
			<xsl:apply-templates/>
franta-hg@53
    40
		</a>
franta-hg@53
    41
	</xsl:template>
franta-hg@53
    42
franta-hg@53
    43
	<!--
franta-hg@53
    44
		Trac – wiki
franta-hg@53
    45
		***********
franta-hg@53
    46
		Odkazy na Trac našeho generátoru.
franta-hg@56
    47
		*
franta-hg@53
    48
		@href nečíselné parametry vedou do wiki
franta-hg@53
    49
	-->
franta-hg@53
    50
	<xsl:template match="m:a[@typ='trac' and not(number(@href))]">
franta-hg@53
    51
		<xsl:call-template name="vložOdkaz">
franta-hg@53
    52
			<xsl:with-param name="url" select="
franta-hg@53
    53
				concat(
franta-hg@53
    54
					'https://trac.frantovo.cz/xml-web-generator/wiki/', 
franta-hg@53
    55
					replace(encode-for-uri(@href), '%2F', '/')
franta-hg@53
    56
				)"/>
franta-hg@53
    57
		</xsl:call-template>		
franta-hg@53
    58
	</xsl:template>
franta-hg@53
    59
	
franta-hg@53
    60
	<!--
franta-hg@53
    61
		Trac – úkoly
franta-hg@53
    62
		************
franta-hg@53
    63
		Odkazy na Trac našeho generátoru.
franta-hg@56
    64
		*
franta-hg@53
    65
		@href číselné parametry vedou na úkoly
franta-hg@53
    66
	-->
franta-hg@53
    67
	<xsl:template match="m:a[@typ='trac' and number(@href)]">
franta-hg@53
    68
		<xsl:call-template name="vložOdkaz">
franta-hg@53
    69
			<xsl:with-param name="url" select="
franta-hg@53
    70
				concat(
franta-hg@53
    71
					'https://trac.frantovo.cz/xml-web-generator/ticket/', 
franta-hg@53
    72
					@href
franta-hg@53
    73
				)"/>
franta-hg@53
    74
		</xsl:call-template>
franta-hg@53
    75
	</xsl:template>
franta-hg@53
    76
franta-hg@54
    77
	<!--
franta-hg@54
    78
		Wikipedia
franta-hg@56
    79
		*********
franta-hg@56
    80
		Stránka v encyklopedii
franta-hg@56
    81
		*
franta-hg@54
    82
		@href název stránky
franta-hg@54
    83
		@jazyk kód jazyka (výchozí je čeština)
franta-hg@54
    84
	-->
franta-hg@54
    85
	<xsl:template match="m:a[@typ='wiki']">
franta-hg@54
    86
		<xsl:call-template name="vložOdkaz">
franta-hg@54
    87
			<xsl:with-param name="url" select="
franta-hg@54
    88
				concat(
franta-hg@54
    89
					'https://secure.wikimedia.org/wikipedia/', (@jazyk,'cs')[1], '/wiki/', 
franta-hg@54
    90
					encode-for-uri(@href)
franta-hg@54
    91
				)"/>
franta-hg@54
    92
		</xsl:call-template>
franta-hg@54
    93
	</xsl:template>
franta-hg@54
    94
	
franta-hg@53
    95
	<!-- 
franta-hg@53
    96
		Seznam.cz
franta-hg@53
    97
		*********
franta-hg@53
    98
		Vyhledávání pomocí Seznamu
franta-hg@56
    99
		*
franta-hg@54
   100
		@href náš dotaz
franta-hg@53
   101
	-->
franta-hg@53
   102
	<xsl:template match="m:a[@typ='seznam']">
franta-hg@53
   103
		<xsl:call-template name="vložOdkaz">
franta-hg@54
   104
			<xsl:with-param name="url" select="
franta-hg@54
   105
				concat(
franta-hg@54
   106
					'http://search.seznam.cz/?q=', 
franta-hg@54
   107
					encode-for-uri(@href)
franta-hg@54
   108
				)"/>
franta-hg@53
   109
		</xsl:call-template>
franta-hg@53
   110
	</xsl:template>
franta-hg@53
   111
franta-hg@53
   112
	<!-- 
franta-hg@53
   113
		Google.com
franta-hg@53
   114
		**********
franta-hg@53
   115
		Vyhledávání pomocí Googlu
franta-hg@56
   116
		*
franta-hg@54
   117
		@href náš dotaz
franta-hg@53
   118
	-->
franta-hg@53
   119
	<xsl:template match="m:a[@typ='google']">
franta-hg@53
   120
		<xsl:call-template name="vložOdkaz">
franta-hg@54
   121
			<xsl:with-param name="url" select="
franta-hg@54
   122
				concat(
franta-hg@54
   123
					'https://encrypted.google.com/search?q=', 
franta-hg@54
   124
					encode-for-uri(@href)
franta-hg@54
   125
				)"/>
franta-hg@53
   126
		</xsl:call-template>	
franta-hg@53
   127
	</xsl:template>
franta-hg@53
   128
	
franta-hg@53
   129
	<!-- 
franta-hg@53
   130
		Request for comments
franta-hg@53
   131
		********************
franta-hg@53
   132
		Internetové standardy – RFC
franta-hg@56
   133
		*
franta-hg@54
   134
		@href číslo RFCčka
franta-hg@53
   135
	-->
franta-hg@57
   136
	<xsl:template match="m:a[@typ='rfc' and number(@href)]">
franta-hg@53
   137
		<xsl:call-template name="vložOdkaz">
franta-hg@54
   138
			<xsl:with-param name="url" select="
franta-hg@54
   139
				concat(
franta-hg@54
   140
					'https://tools.ietf.org/html/rfc',
franta-hg@54
   141
					@href
franta-hg@54
   142
				)"/>
franta-hg@53
   143
		</xsl:call-template>
franta-hg@53
   144
	</xsl:template>
franta-hg@53
   145
	
franta-hg@53
   146
	
franta-hg@53
   147
	<xsl:template name="vložOdkaz">
franta-hg@53
   148
		<xsl:param name="url"/>
franta-hg@53
   149
		<a>
franta-hg@53
   150
			<xsl:copy-of select="@*"/>
franta-hg@53
   151
			<xsl:attribute name="href"><xsl:value-of select="$url"/></xsl:attribute>
franta-hg@53
   152
			<xsl:apply-templates/>
franta-hg@54
   153
		</a>
franta-hg@53
   154
	</xsl:template>
franta-hg@53
   155
franta-hg@51
   156
</xsl:stylesheet>