Mercurial > hg > nginx-site
view xslt/dirname.xslt @ 2346:8a8176ac9a72
The deal banner.
author | Maxim Konovalov <maxim@nginx.com> |
---|---|
date | Mon, 11 Mar 2019 18:59:49 +0000 |
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>