Odkazy #16: oprava chyby: Zachováme pouze povolené atributy.
1.1 --- a/vstup/zdrojáky.xml Sat Jan 07 17:34:33 2012 +0100
1.2 +++ b/vstup/zdrojáky.xml Sat Jan 07 17:34:57 2012 +0100
1.3 @@ -52,6 +52,8 @@
1.4 <element1>toto je <strong>pěkné</strong> XML!!!</element1>
1.5 </xmlDokument>]]></m:pre>
1.6
1.7 + <p>Další ukázka XML: <m:a href="šablona/makra/tabulka.xsl" typ="zdroják" řádek="25">tabulka.xsl</m:a>.</p>
1.8 +
1.9 <h2>BASH</h2>
1.10
1.11 <m:pre jazyk="bash" src="matrixový-spořič.sh" odkaz="ano"/>
2.1 --- a/šablona/makra/odkazy.xsl Sat Jan 07 17:34:33 2012 +0100
2.2 +++ b/šablona/makra/odkazy.xsl Sat Jan 07 17:34:57 2012 +0100
2.3 @@ -19,8 +19,9 @@
2.4 <xsl:stylesheet version="2.0"
2.5 xmlns="http://www.w3.org/1999/xhtml"
2.6 xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
2.7 + xmlns:xs="http://www.w3.org/2001/XMLSchema"
2.8 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
2.9 - exclude-result-prefixes="m">
2.10 + exclude-result-prefixes="m xs">
2.11
2.12 <!--
2.13 Interní odkazy
2.14 @@ -40,6 +41,8 @@
2.15 </a>
2.16 </xsl:template>
2.17
2.18 + <xsl:variable name="tracURL" select="'https://trac.frantovo.cz/xml-web-generator'"/>
2.19 +
2.20 <!--
2.21 Trac – wiki
2.22 ***********
2.23 @@ -51,12 +54,12 @@
2.24 <xsl:call-template name="vložOdkaz">
2.25 <xsl:with-param name="url" select="
2.26 concat(
2.27 - 'https://trac.frantovo.cz/xml-web-generator/wiki/',
2.28 - replace(encode-for-uri(@href), '%2F', '/')
2.29 + $tracURL, '/wiki/',
2.30 + m:escapuj-url-zachovej-lomítka(@href)
2.31 )"/>
2.32 </xsl:call-template>
2.33 </xsl:template>
2.34 -
2.35 +
2.36 <!--
2.37 Trac – úkoly
2.38 ************
2.39 @@ -68,13 +71,38 @@
2.40 <xsl:call-template name="vložOdkaz">
2.41 <xsl:with-param name="url" select="
2.42 concat(
2.43 - 'https://trac.frantovo.cz/xml-web-generator/ticket/',
2.44 + $tracURL, '/ticket/',
2.45 @href
2.46 )"/>
2.47 </xsl:call-template>
2.48 </xsl:template>
2.49
2.50 <!--
2.51 + Zdroják
2.52 + *******
2.53 + Odkazy zdrojový kód našeho generátoru.
2.54 + *
2.55 + @href název souboru
2.56 + @řádek číslo řádku (volitelně)
2.57 + -->
2.58 + <xsl:template match="m:a[@typ='zdroják' and (not(@řádek) or number(@řádek))]">
2.59 + <xsl:call-template name="vložOdkaz">
2.60 + <xsl:with-param name="url" select="
2.61 + concat(
2.62 + $tracURL, '/browser/',
2.63 + m:escapuj-url-zachovej-lomítka(@href),
2.64 + '#L',
2.65 + (@řádek,'1')[1]
2.66 + )"/>
2.67 + </xsl:call-template>
2.68 + </xsl:template>
2.69 +
2.70 + <xsl:function name="m:escapuj-url-zachovej-lomítka" as="xs:string">
2.71 + <xsl:param name="cesta"/>
2.72 + <xsl:value-of select="replace(encode-for-uri($cesta), '%2F', '/')"/>
2.73 + </xsl:function>
2.74 +
2.75 + <!--
2.76 Wikipedia
2.77 *********
2.78 Stránka v encyklopedii.
2.79 @@ -166,7 +194,40 @@
2.80 <xsl:template name="vložOdkaz">
2.81 <xsl:param name="url"/>
2.82 <a>
2.83 - <xsl:copy-of select="@*"/>
2.84 + <!-- Zachováme pouze povolené atributy: -->
2.85 +
2.86 + <xsl:copy-of select="@charset"/>
2.87 + <xsl:copy-of select="@coords"/>
2.88 + <xsl:copy-of select="@hreflang"/>
2.89 + <xsl:copy-of select="@name"/>
2.90 + <xsl:copy-of select="@rel"/>
2.91 + <xsl:copy-of select="@rev"/>
2.92 + <xsl:copy-of select="@shape"/>
2.93 + <xsl:copy-of select="@target"/> <!-- Pozor: nepatří do striktního XHTML -->
2.94 +
2.95 + <xsl:copy-of select="@accesskey"/>
2.96 + <xsl:copy-of select="@class"/>
2.97 + <xsl:copy-of select="@dir"/>
2.98 + <xsl:copy-of select="@id"/>
2.99 + <xsl:copy-of select="@lang"/>
2.100 + <xsl:copy-of select="@style"/>
2.101 + <xsl:copy-of select="@tabindex"/>
2.102 + <xsl:copy-of select="@title"/>
2.103 + <xsl:copy-of select="@xml:lang"/>
2.104 +
2.105 + <xsl:copy-of select="@onblur"/>
2.106 + <xsl:copy-of select="@onclick"/>
2.107 + <xsl:copy-of select="@ondblclick"/>
2.108 + <xsl:copy-of select="@onfocus"/>
2.109 + <xsl:copy-of select="@onmousedown"/>
2.110 + <xsl:copy-of select="@onmousemove"/>
2.111 + <xsl:copy-of select="@onmouseout"/>
2.112 + <xsl:copy-of select="@onmouseover"/>
2.113 + <xsl:copy-of select="@onmouseup"/>
2.114 + <xsl:copy-of select="@onkeydown"/>
2.115 + <xsl:copy-of select="@onkeypress"/>
2.116 + <xsl:copy-of select="@onkeyup"/>
2.117 +
2.118 <xsl:attribute name="href"><xsl:value-of select="$url"/></xsl:attribute>
2.119 <xsl:apply-templates/>
2.120 </a>