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
|
1085
|
9 <xsl:template match="menu/item">
|
170
|
10
|
1085
|
11 <!--
|
|
12 .. variables are not allowed in a template match predicate,
|
|
13 .. therefore, we have to use ugly "if"s instead of elegant
|
|
14 .. "menu/item[@href = $LINK]", etc.
|
|
15 -->
|
170
|
16
|
1085
|
17 <xsl:choose><xsl:when test="@href = $LINK">
|
|
18 <xsl:choose><xsl:when test="$YEAR and @href='/'">
|
|
19 <a href="./"> news </a> <br/>
|
|
20 </xsl:when><xsl:otherwise>
|
|
21 <xsl:value-of select=" normalize-space(text()) "/><br/>
|
|
22 </xsl:otherwise></xsl:choose>
|
170
|
23
|
1085
|
24 </xsl:when><xsl:otherwise>
|
694
|
25
|
1085
|
26 <!--
|
|
27 .. If a menu item has the switchlang attribute, then it will point
|
|
28 .. to the same document in the specified language.
|
|
29 -->
|
|
30 <xsl:choose><xsl:when test="$TRANS and @switchlang">
|
694
|
31
|
1085
|
32 <!--
|
|
33 .. Check if list of available translations ($TRANS) contains
|
|
34 .. the language we are going to generate link to.
|
|
35 .. If yes - generate link, otherwise just name the language.
|
|
36 -->
|
|
37 <xsl:choose><xsl:when test="contains($TRANS, @switchlang)">
|
|
38 <a>
|
|
39 <xsl:attribute name="href">
|
|
40 <xsl:value-of select=" concat($ROOT, '/', @switchlang, '/',
|
|
41 substring-after($LINK, concat('/', $LANG, '/'))) "/>
|
|
42 </xsl:attribute>
|
|
43 <xsl:value-of select=" normalize-space(text()) "/>
|
|
44 </a>
|
170
|
45
|
1085
|
46 </xsl:when><xsl:otherwise>
|
|
47 <a class="notrans"> <xsl:value-of select=" normalize-space(text()) "/> </a>
|
|
48 </xsl:otherwise></xsl:choose>
|
|
49 </xsl:when><xsl:otherwise>
|
1083
|
50
|
1085
|
51 <a>
|
|
52 <xsl:attribute name="href">
|
170
|
53
|
1085
|
54 <xsl:choose><xsl:when test="starts-with(@href, $DIRNAME)">
|
|
55 <xsl:choose><xsl:when test="substring-after(@href, $DIRNAME) = ''">
|
|
56 <xsl:text>./</xsl:text>
|
|
57 </xsl:when><xsl:otherwise>
|
|
58 <xsl:value-of select=" substring-after(@href, $DIRNAME) "/>
|
|
59 </xsl:otherwise></xsl:choose>
|
694
|
60
|
1085
|
61 </xsl:when><xsl:otherwise>
|
|
62 <xsl:value-of select=" concat($ROOT, @href) "/>
|
|
63 </xsl:otherwise></xsl:choose>
|
|
64 </xsl:attribute>
|
|
65 <xsl:value-of select=" normalize-space(text()) "/>
|
|
66 </a>
|
170
|
67
|
1085
|
68 <xsl:if test="@lang"> <xsl:text> [</xsl:text> <xsl:value-of select="@lang"/> <xsl:text>]</xsl:text></xsl:if>
|
|
69 </xsl:otherwise></xsl:choose>
|
170
|
70
|
1085
|
71 <br/>
|
|
72 </xsl:otherwise></xsl:choose>
|
|
73 </xsl:template>
|
170
|
74
|
|
75
|
1085
|
76 <xsl:template match="menu/item[@year]">
|
|
77 <xsl:if test="$YEAR or $LINK='/'">
|
|
78 <xsl:choose><xsl:when test="$YEAR=@year">
|
|
79 <xsl:value-of select="@year"/> <br/>
|
|
80 </xsl:when><xsl:otherwise>
|
|
81 <xsl:if test="@href"> <a href="{@href}"> <xsl:value-of select="@year"/> </a> </xsl:if>
|
|
82 <br/>
|
|
83 </xsl:otherwise></xsl:choose>
|
|
84 </xsl:if>
|
|
85 </xsl:template>
|
170
|
86
|
|
87
|
1085
|
88 <xsl:template match="menu/item[starts-with(@href, 'http://') or starts-with(@href, 'https://')]">
|
|
89 <a href="{@href}"> <xsl:value-of select=" normalize-space(text()) "/> </a>
|
|
90 <xsl:if test="@lang"> <xsl:text> [</xsl:text> <xsl:value-of select="@lang"/> <xsl:text>]</xsl:text></xsl:if>
|
|
91 <br/>
|
|
92 </xsl:template>
|
170
|
93
|
|
94
|
1085
|
95 <xsl:template match="menu/item[not(@href) and not(@year)]">
|
|
96 <xsl:value-of select=" normalize-space(text()) "/> <br/>
|
|
97 </xsl:template>
|
170
|
98
|
707
|
99 </xsl:stylesheet>
|