--- a/šablona/makra/odkazy.xsl Fri Jan 06 21:58:52 2012 +0100
+++ b/šablona/makra/odkazy.xsl Sat Jan 07 00:14:27 2012 +0100
@@ -4,20 +4,98 @@
xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
exclude-result-prefixes="m">
-
- <!--
- Makro pro převod interních odkazů:
- - doplnění správné přípony
- - URL kódování znaků
- -->
- <xsl:template match="m:a">
- <a>
- <xsl:copy-of select="@*"/>
- <xsl:attribute name="href">
- <xsl:value-of select="encode-for-uri(concat(@href, $výstupníPřípona))"/>
- </xsl:attribute>
- <xsl:apply-templates/>
- </a>
- </xsl:template>
-
+
+ <!--
+ Odkazy
+ ******
+ Slouží hlavně k vkládání odkazů na jiné stránky v rámci webu.
+ *
+ @href zadáváme jen název souboru bez přípony – s nezakódovanou češtinou a s mezerami
+ @typ jiné typy odkazů (výchozí jsou interní odkazy v rámci webu)
+ -->
+ <xsl:template match="m:a">
+ <a>
+ <xsl:copy-of select="@*"/>
+ <xsl:attribute name="href">
+ <xsl:value-of select="encode-for-uri(concat(@href, $výstupníPřípona))"/>
+ </xsl:attribute>
+ <xsl:apply-templates/>
+ </a>
+ </xsl:template>
+
+ <!--
+ Trac – wiki
+ ***********
+ Odkazy na Trac našeho generátoru.
+ @href nečíselné parametry vedou do wiki
+ -->
+ <xsl:template match="m:a[@typ='trac' and not(number(@href))]">
+ <xsl:call-template name="vložOdkaz">
+ <xsl:with-param name="url" select="
+ concat(
+ 'https://trac.frantovo.cz/xml-web-generator/wiki/',
+ replace(encode-for-uri(@href), '%2F', '/')
+ )"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!--
+ Trac – úkoly
+ ************
+ Odkazy na Trac našeho generátoru.
+ @href číselné parametry vedou na úkoly
+ -->
+ <xsl:template match="m:a[@typ='trac' and number(@href)]">
+ <xsl:call-template name="vložOdkaz">
+ <xsl:with-param name="url" select="
+ concat(
+ 'https://trac.frantovo.cz/xml-web-generator/ticket/',
+ @href
+ )"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!--
+ Seznam.cz
+ *********
+ Vyhledávání pomocí Seznamu
+ -->
+ <xsl:template match="m:a[@typ='seznam']">
+ <xsl:call-template name="vložOdkaz">
+ <xsl:with-param name="url" select="concat('http://search.seznam.cz/?q=', encode-for-uri(@href))"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!--
+ Google.com
+ **********
+ Vyhledávání pomocí Googlu
+ -->
+ <xsl:template match="m:a[@typ='google']">
+ <xsl:call-template name="vložOdkaz">
+ <xsl:with-param name="url" select="concat('https://encrypted.google.com/search?q=', encode-for-uri(@href))"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <!--
+ Request for comments
+ ********************
+ Internetové standardy – RFC
+ -->
+ <xsl:template match="m:a[@typ='rfc']">
+ <xsl:call-template name="vložOdkaz">
+ <xsl:with-param name="url" select="concat('https://tools.ietf.org/html/rfc', @href)"/>
+ </xsl:call-template>
+ </xsl:template>
+
+
+ <xsl:template name="vložOdkaz">
+ <xsl:param name="url"/>
+ <a>
+ <xsl:copy-of select="@*"/>
+ <xsl:attribute name="href"><xsl:value-of select="$url"/></xsl:attribute>
+ <xsl:apply-templates/>
+ </a>
+ </xsl:template>
+
</xsl:stylesheet>