1 <?xml version="1.0" encoding="UTF-8"?>
3 XML Web generátor – program na generování webových stránek
4 Copyright © 2012 František Kučera (frantovo.cz)
6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 <xsl:stylesheet version="2.0"
20 xmlns="http://www.w3.org/1999/xhtml"
21 xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
22 xmlns:xs="http://www.w3.org/2001/XMLSchema"
23 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
24 exclude-result-prefixes="m xs">
29 Slouží k vkládání odkazů na jiné stránky v rámci webu.
31 @href zadáváme jen název souboru bez přípony – s nezakódovanou češtinou a s mezerami
34 <xsl:template match="m:a[not(@typ)]">
36 <xsl:copy-of select="@*"/>
37 <xsl:attribute name="href">
38 <xsl:value-of select="encode-for-uri(concat(@href, $výstupníPřípona))"/>
40 <xsl:apply-templates/>
44 <xsl:variable name="tracURL" select="'https://trac.frantovo.cz/xml-web-generator'"/>
49 Odkazy na Trac našeho generátoru.
51 @href nečíselné parametry vedou do wiki
53 <xsl:template match="m:a[@typ='trac' and not(number(@href))]">
54 <xsl:call-template name="vložOdkaz">
55 <xsl:with-param name="url" select="
58 m:escapuj-url-zachovej-lomítka(@href)
66 Odkazy na Trac našeho generátoru.
68 @href číselné parametry vedou na úkoly
70 <xsl:template match="m:a[@typ='trac' and number(@href)]">
71 <xsl:call-template name="vložOdkaz">
72 <xsl:with-param name="url" select="
83 Odkazy zdrojový kód našeho generátoru.
86 @řádek číslo řádku (volitelně)
88 <xsl:template match="m:a[@typ='zdroják' and (not(@řádek) or number(@řádek))]">
89 <xsl:call-template name="vložOdkaz">
90 <xsl:with-param name="url" select="
92 $tracURL, '/browser/',
93 m:escapuj-url-zachovej-lomítka(@href),
103 Stránka v encyklopedii.
106 @jazyk kód jazyka (výchozí je čeština)
108 <xsl:template match="m:a[@typ='wiki']">
109 <xsl:call-template name="vložOdkaz">
110 <xsl:with-param name="url" select="
112 'https://secure.wikimedia.org/wikipedia/', (@jazyk,'cs')[1], '/wiki/',
113 encode-for-uri(@href)
121 Dokumentace k javovským třídám.
123 @href jméno třídy včetně balíčku – např. java.lang.String
124 @verze verze Javy, výchozí: 7
126 <xsl:template match="m:a[@typ='javadoc']">
127 <xsl:call-template name="vložOdkaz">
128 <xsl:with-param name="url" select="
130 'http://docs.oracle.com/javase/', (@verze,'7')[1], '/docs/api/',
131 replace(@href, '\.', '/'),
140 Vyhledávání pomocí Seznamu.
144 <xsl:template match="m:a[@typ='seznam']">
145 <xsl:call-template name="vložOdkaz">
146 <xsl:with-param name="url" select="
148 'http://search.seznam.cz/?q=',
149 encode-for-uri(@href)
157 Vyhledávání pomocí Googlu.
161 <xsl:template match="m:a[@typ='google']">
162 <xsl:call-template name="vložOdkaz">
163 <xsl:with-param name="url" select="
165 'https://encrypted.google.com/search?q=',
166 encode-for-uri(@href)
174 Internetové standardy – RFC.
178 <xsl:template match="m:a[@typ='rfc' and number(@href)]">
179 <xsl:call-template name="vložOdkaz">
180 <xsl:with-param name="url" select="
182 'https://tools.ietf.org/html/rfc',
189 <xsl:template name="vložOdkaz">
190 <xsl:param name="url"/>
192 <!-- Zachováme pouze povolené atributy: -->
194 <xsl:copy-of select="@charset"/>
195 <xsl:copy-of select="@coords"/>
196 <xsl:copy-of select="@hreflang"/>
197 <xsl:copy-of select="@name"/>
198 <xsl:copy-of select="@rel"/>
199 <xsl:copy-of select="@rev"/>
200 <xsl:copy-of select="@shape"/>
201 <xsl:copy-of select="@target"/> <!-- Pozor: nepatří do striktního XHTML -->
203 <xsl:copy-of select="@accesskey"/>
204 <xsl:copy-of select="@class"/>
205 <xsl:copy-of select="@dir"/>
206 <xsl:copy-of select="@id"/>
207 <xsl:copy-of select="@lang"/>
208 <xsl:copy-of select="@style"/>
209 <xsl:copy-of select="@tabindex"/>
210 <xsl:copy-of select="@title"/>
211 <xsl:copy-of select="@xml:lang"/>
213 <xsl:copy-of select="@onblur"/>
214 <xsl:copy-of select="@onclick"/>
215 <xsl:copy-of select="@ondblclick"/>
216 <xsl:copy-of select="@onfocus"/>
217 <xsl:copy-of select="@onmousedown"/>
218 <xsl:copy-of select="@onmousemove"/>
219 <xsl:copy-of select="@onmouseout"/>
220 <xsl:copy-of select="@onmouseover"/>
221 <xsl:copy-of select="@onmouseup"/>
222 <xsl:copy-of select="@onkeydown"/>
223 <xsl:copy-of select="@onkeypress"/>
224 <xsl:copy-of select="@onkeyup"/>
226 <xsl:attribute name="href"><xsl:value-of select="$url"/></xsl:attribute>
227 <xsl:apply-templates/>