view xslt/dirname.xslt @ 2927:decdcc6e9938

NGINX Agent promo.
author Konstantin Pavlov <thresh@nginx.com>
date Fri, 06 Jan 2023 14:21:09 -0800
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>