Mercurial > hg > nginx-site
view xslt/dirname.xslt @ 1694:080b36ad8d76
Reduced syntax clutter in the access_log directive.
Only two syntax variants were preserved:
- one with a generic syntax, which shows all possible parameters (and also
clearly demonstrates that format must be specified if any additional
parameters are used);
- one with "off", to emphasize it.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 04 May 2016 17:35:30 +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>