Mercurial > hg > nginx-site
view xslt/menu.xslt @ 2662:e4d370d43176
Linux packages: removed apt-key usage to import gpg keys on Debian/Ubuntu.
apt-key is deprecated since 2017 and will be removed after Debian 11 and Ubuntu 22.04.
All distributions since at least 2013 support storing trusted keys in
/etc/apt/trusted.gpg.d/ instead, so using it should be safe.
A special workaround is added for Ubuntu 16.04 shipping gnupg 2.1, which is not
compatible with the CLI invocation we use.
author | Konstantin Pavlov <thresh@nginx.com> |
---|---|
date | Wed, 17 Feb 2021 16:39:40 +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"> <xsl:template match="menu/item"> <!-- .. variables are not allowed in a template match predicate, .. therefore, we have to use ugly "if"s instead of elegant .. "menu/item[@href = $LINK]", etc. --> <xsl:choose><xsl:when test="@href = $LINK"> <xsl:choose><xsl:when test="$YEAR and @href='/'"> <a href="./"> news </a> <br/> </xsl:when><xsl:otherwise> <xsl:value-of select=" normalize-space(text()) "/><br/> </xsl:otherwise></xsl:choose> </xsl:when><xsl:otherwise> <!-- .. If a menu item has the switchlang attribute, then it will point .. to the same document in the specified language. --> <xsl:choose><xsl:when test="$TRANS and @switchlang"> <!-- .. Check if list of available translations ($TRANS) contains .. the language we are going to generate link to. .. If yes - generate link, otherwise just name the language. --> <xsl:choose><xsl:when test="contains($TRANS, @switchlang)"> <a> <xsl:attribute name="href"> <xsl:value-of select=" concat($ROOT, '/', @switchlang, '/', substring-after($LINK, concat('/', $LANG, '/'))) "/> </xsl:attribute> <xsl:value-of select=" normalize-space(text()) "/> </a> </xsl:when><xsl:otherwise> <a class="notrans"> <xsl:value-of select=" normalize-space(text()) "/> </a> </xsl:otherwise></xsl:choose> </xsl:when><xsl:otherwise> <a> <xsl:attribute name="href"> <xsl:choose><xsl:when test="starts-with(@href, $DIRNAME)"> <xsl:choose><xsl:when test="substring-after(@href, $DIRNAME) = ''"> <xsl:text>./</xsl:text> </xsl:when><xsl:otherwise> <xsl:value-of select=" substring-after(@href, $DIRNAME) "/> </xsl:otherwise></xsl:choose> </xsl:when><xsl:otherwise> <xsl:value-of select=" concat($ROOT, @href) "/> </xsl:otherwise></xsl:choose> </xsl:attribute> <xsl:value-of select=" normalize-space(text()) "/> </a> <xsl:if test="@lang"> <xsl:text> [</xsl:text> <xsl:value-of select="@lang"/> <xsl:text>]</xsl:text></xsl:if> </xsl:otherwise></xsl:choose> <br/> </xsl:otherwise></xsl:choose> </xsl:template> <xsl:template match="menu/item[@year]"> <xsl:if test="$YEAR or $LINK='/'"> <xsl:choose><xsl:when test="$YEAR=@year"> <xsl:value-of select="@year"/> <br/> </xsl:when><xsl:otherwise> <xsl:if test="@href"> <a href="{@href}"> <xsl:value-of select="@year"/> </a> </xsl:if> <br/> </xsl:otherwise></xsl:choose> </xsl:if> </xsl:template> <xsl:template match="menu/item[starts-with(@href, 'http://') or starts-with(@href, 'https://')]"> <a href="{@href}"> <xsl:value-of select=" normalize-space(text()) "/> </a> <xsl:if test="@lang"> <xsl:text> [</xsl:text> <xsl:value-of select="@lang"/> <xsl:text>]</xsl:text></xsl:if> <br/> </xsl:template> <xsl:template match="menu/item[not(@href) and not(@year)]"> <xsl:value-of select=" normalize-space(text()) "/> <br/> </xsl:template> </xsl:stylesheet>