170
|
1 <?xml version="1.0" encoding="utf-8"?>
|
1085
|
2 <!--
|
|
3 Copyright (C) Igor Sysoev
|
|
4 Copyright (C) Nginx, Inc.
|
|
5 -->
|
|
6
|
170
|
7 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
|
8
|
|
9
|
1085
|
10 <!-- return a dirname of an article link -->
|
|
11
|
|
12 <xsl:variable name="DIRNAME"> <xsl:call-template name="dirname"><xsl:with-param select="$LINK" name="path"/></xsl:call-template></xsl:variable>
|
170
|
13
|
1085
|
14 <xsl:template name="dirname"><xsl:param name="path"/>
|
|
15 <xsl:if test="contains($path, '/')">
|
|
16 <xsl:value-of select=" substring-before($path, '/') "/>
|
|
17 <xsl:text>/</xsl:text>
|
|
18 <xsl:call-template name="dirname"><xsl:with-param select="substring-after($path, '/')" name="path"/></xsl:call-template></xsl:if>
|
|
19 </xsl:template>
|
170
|
20
|
|
21
|
1085
|
22 <!-- return a path to the root of an article link, i.e., "../../.." -->
|
170
|
23
|
1085
|
24 <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>
|
170
|
25
|
1085
|
26 <xsl:template name="root"><xsl:param name="path"/>
|
|
27 <xsl:if test="contains($path, '/')">
|
|
28 <xsl:text>..</xsl:text>
|
|
29 <xsl:if test="substring-after($path, '/')">
|
170
|
30 <xsl:text>/</xsl:text>
|
1085
|
31 <xsl:call-template name="root"><xsl:with-param select="substring-after($path, '/')" name="path"/></xsl:call-template></xsl:if>
|
|
32 </xsl:if>
|
|
33 </xsl:template>
|
170
|
34
|
|
35 </xsl:stylesheet>
|