Mercurial > hg > nginx-site
view xslt/dirname.xslt @ 1583:cb7fbecee8e6
Fixed cut&paste error in apache rewrite rules example.
author | Sergey Budnevitch <sb@waeme.net> |
---|---|
date | Wed, 14 Oct 2015 08:10:58 +0300 |
parents | c454373427ef |
children |
line wrap: on
line source
<?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) Igor Sysoev Copyright (C) Nginx, Inc. --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!-- return a dirname of an article link --> <xsl:variable name="DIRNAME"> <xsl:call-template name="dirname"><xsl:with-param select="$LINK" name="path"/></xsl:call-template></xsl:variable> <xsl:template name="dirname"><xsl:param name="path"/> <xsl:if test="contains($path, '/')"> <xsl:value-of select=" substring-before($path, '/') "/> <xsl:text>/</xsl:text> <xsl:call-template name="dirname"><xsl:with-param select="substring-after($path, '/')" name="path"/></xsl:call-template></xsl:if> </xsl:template> <!-- return a path to the root of an article link, i.e., "../../.." --> <xsl:variable name="ROOT"> <xsl:call-template name="root"><xsl:with-param name="path"> <xsl:value-of select=" substring($DIRNAME, 2) "/> </xsl:with-param></xsl:call-template></xsl:variable> <xsl:template name="root"><xsl:param name="path"/> <xsl:if test="contains($path, '/')"> <xsl:text>..</xsl:text> <xsl:if test="substring-after($path, '/')"> <xsl:text>/</xsl:text> <xsl:call-template name="root"><xsl:with-param select="substring-after($path, '/')" name="path"/></xsl:call-template></xsl:if> </xsl:if> </xsl:template> </xsl:stylesheet>