diff options
author | dakkar <dakkar@thenautilus.net> | 2009-08-18 13:24:38 +0200 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2009-08-18 13:24:38 +0200 |
commit | 67feec7f67b5de0ebc0c028f18172e348104cd65 (patch) | |
tree | db8574f48fa19586f51d07d0108520eeb92625ea /xsl/active.xsl | |
download | sitemake-master.tar.gz sitemake-master.tar.bz2 sitemake-master.zip |
Diffstat (limited to 'xsl/active.xsl')
-rw-r--r-- | xsl/active.xsl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/xsl/active.xsl b/xsl/active.xsl new file mode 100644 index 0000000..40ddde1 --- /dev/null +++ b/xsl/active.xsl @@ -0,0 +1,23 @@ +<?xml version="1.0"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + + <xsl:template name="is-active"> + <xsl:param name="sitemap"/> + <xsl:param name="page"/> + <xsl:param name="root"/> + <xsl:choose> + <xsl:when test="generate-id($root)=generate-id(document($page/@href,$map))">active</xsl:when> + <xsl:otherwise>no</xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="name-active"> + <xsl:param name="sitemap"/> + <xsl:param name="set"/> + <xsl:param name="root"/> + <xsl:for-each select="$set"> + <xsl:variable name="a"><xsl:call-template name="is-active"><xsl:with-param name="page" select="."/><xsl:with-param name="sitemap" select="$sitemap"/><xsl:with-param name="root" select="$root"/></xsl:call-template></xsl:variable> + <xsl:if test="$a='active'"><xsl:value-of select="@name"/></xsl:if> + </xsl:for-each> + </xsl:template> +</xsl:stylesheet> |