diff options
Diffstat (limited to 'xsl/disclaimer.xsl')
-rw-r--r-- | xsl/disclaimer.xsl | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/xsl/disclaimer.xsl b/xsl/disclaimer.xsl new file mode 100644 index 0000000..e94e49f --- /dev/null +++ b/xsl/disclaimer.xsl @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:dyn="http://exslt.org/dynamic" + extension-element-prefixes="dyn" +> +<xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html40/strict.dtd" indent="yes"/> + +<xsl:include href="identity.xsl"/> + +<xsl:param name="sitemapuri"/> +<xsl:variable name="nav" select="document($sitemapuri,document(''))"/> +<xsl:param name="active"/> +<xsl:variable name="activenode" select="dyn:evaluate(concat('$nav',$active))"/> +<xsl:variable name="lang" select="/html/@xml_lang"/> + +<xsl:template match="/"> + <html> + <xsl:copy-of select="html/@*"/> + <xsl:apply-templates select="/html/head"/> + <xsl:apply-templates select="/html/body"/> + <navigation> + <xsl:for-each select="$nav/sitemap/section[@name=$lang]/section"> + <xsl:if test="count($activenode|.//main|.//page)=count(.//main|.//page)"> + <link rel="same" href="resolve:{main/@name}" text="{@name}"/> + </xsl:if> + </xsl:for-each> + <xsl:for-each select="//link[@rel='patch']"> + <link rel="same" href="{@href}" text="{@text}"/> + </xsl:for-each> + <xsl:for-each select="//link[@rel='outlink']"> + <link rel="same" href="{@href}" text="{@text}"/> + </xsl:for-each> + <xsl:for-each select="$nav/sitemap/section[@name and @title]"> + <xsl:variable name="this" select="$activenode/@name"/> + <link rel="lang" href="{concat('resolve:',@name,':',$this)}" text="{@title}"/> + </xsl:for-each> + </navigation> + </html> +</xsl:template> + +<xsl:template match="link[@rel='patch' or @rel='outlink']"/> + +</xsl:stylesheet> |