view xslt/dirname.xslt @ 3059:535317a031ff

Free nginx: stop using the archaic spelling "e-mail".
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 14 Feb 2024 20:08:16 +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>