Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.31
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
yelp-xsl /
xslt /
mallard /
html /
[ HOME SHELL ]
Name
Size
Permission
Action
mal2html-api.xsl
8.69
KB
-rw-r--r--
mal2html-block.xsl
23.33
KB
-rw-r--r--
mal2html-facets.xsl
6.15
KB
-rw-r--r--
mal2html-gloss.xsl
6.55
KB
-rw-r--r--
mal2html-inline.xsl
11.11
KB
-rw-r--r--
mal2html-links.xsl
56.59
KB
-rw-r--r--
mal2html-list.xsl
15.39
KB
-rw-r--r--
mal2html-math.xsl
4.89
KB
-rw-r--r--
mal2html-media.xsl
18.62
KB
-rw-r--r--
mal2html-page.xsl
53.87
KB
-rw-r--r--
mal2html-svg.xsl
4.53
KB
-rw-r--r--
mal2html-table.xsl
18.95
KB
-rw-r--r--
mal2html-ui.xsl
25.18
KB
-rw-r--r--
mal2html.xsl
1.92
KB
-rw-r--r--
mal2xhtml.xsl
3.03
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : mal2html-links.xsl
<?xml version='1.0' encoding='UTF-8'?><!-- -*- indent-tabs-mode: nil -*- --> <!-- This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; see the file COPYING.LGPL. If not, see <http://www.gnu.org/licenses/>. --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:mal="http://projectmallard.org/1.0/" xmlns:ui="http://projectmallard.org/ui/1.0/" xmlns:uix="http://projectmallard.org/experimental/ui/" xmlns:e="http://projectmallard.org/experimental/" xmlns:api="http://projectmallard.org/experimental/api/" xmlns:exsl="http://exslt.org/common" xmlns:math="http://exslt.org/math" xmlns:str="http://exslt.org/strings" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="mal ui uix e api exsl math str html" version="1.0"> <!--!!========================================================================== Mallard to HTML - Links This stylesheet contains templates to handle automatic linking, both using the Mallard links element and implicitly. --> <xsl:template match="mal:links"/> <!--**========================================================================== mal2html.links.links Output links in one of a number of formats. :Revision:version="3.10" date="2013-07-30" status="final" $node: A #{links}, #{page}, or #{section} element to link from. $depth: The depth level for the HTML header element. $links: A list of links, as from a template in !{mal-link}. $role: A space-separated list of link roles, used to select the appropriate title. $divs: Whether to default to divs instead of a list. $title: A default title to use if no #{title} element is found. This is a common formatting template used by some #{links} element handlers. It selects an appropriate way to render the links based on style hints and extension attributes on ${node}. This template (or the templates it calls) will pass through #{class} and #{data-*} attributes found on the #{link} elements to the top-level container element of each output link. This template handles link sorting. If ${node} is a #{links} element with a #{title} element, that #{title} element will be processed as the title. Otherwise, the optional ${title} parameter will be used if provided. --> <xsl:template name="mal2html.links.links"> <xsl:param name="node" select="."/> <xsl:param name="depth" select="count($node/ancestor-or-self::mal:section) + 2"/> <xsl:param name="links" select="/false"/> <xsl:param name="role" select="''"/> <xsl:param name="divs" select="false()"/> <xsl:param name="title" select="''"/> <xsl:variable name="lastrole" select="str:split($role)[last()]"/> <!-- We use the style attribute on page for links styles for backwards compatibility, but only for topic links. --> <xsl:variable name="style" select="concat(' ', $node[self::mal:links or $lastrole = 'topic']/@style, ' ')"/> <xsl:variable name="nodesc" select="contains($style, ' nodesc ')"/> <xsl:variable name="maltitle" select="$node/self::mal:links/mal:title"/> <xsl:variable name="expander" select="($maltitle or ($title != '')) and ($node/self::mal:links/@ui:expanded or $node/self::mal:links/@uix:expanded)"/> <xsl:variable name="depth_"> <xsl:choose> <xsl:when test="$depth < 6"> <xsl:value-of select="$depth"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="6"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <div> <xsl:call-template name="html.class.attr"> <xsl:with-param name="node" select="$node[self::mal:links]"/> <xsl:with-param name="class"> <xsl:text>links </xsl:text> <xsl:if test="$lastrole != ''"> <xsl:value-of select="concat($lastrole, 'links')"/> </xsl:if> <xsl:if test="$expander"> <xsl:text> ui-expander</xsl:text> </xsl:if> <xsl:if test="contains($style, ' center ')"> <xsl:text> links-center</xsl:text> </xsl:if> </xsl:with-param> </xsl:call-template> <xsl:call-template name="mal2html.ui.expander.data"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="expander" select="$expander"/> </xsl:call-template> <div class="inner"> <xsl:choose> <xsl:when test="$maltitle"> <xsl:apply-templates mode="mal2html.block.mode" select="$maltitle"> <xsl:with-param name="depth" select="$depth"/> </xsl:apply-templates> </xsl:when> <xsl:when test="$title != ''"> <div class="title"> <xsl:element name="{concat('h', $depth_)}" namespace="{$html.namespace}"> <span class="title"> <xsl:value-of select="$title"/> </span> </xsl:element> </div> </xsl:when> </xsl:choose> <div class="region"> <xsl:variable name="uithumbs"> <xsl:variable name="uithumbs_"> <xsl:for-each select="str:split(@uix:thumbs)"> <xsl:if test="string(.)='tiles' or string(.)='hover'"> <xsl:value-of select="."/> </xsl:if> <xsl:text> </xsl:text> </xsl:for-each> </xsl:variable> <xsl:value-of select="str:split($uithumbs_)[1]"/> </xsl:variable> <xsl:choose> <xsl:when test="$node/self::mal:links/@api:type='function'"> <xsl:call-template name="mal2html.api.links.function"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="links" select="$links"/> </xsl:call-template> </xsl:when> <xsl:when test="$uithumbs = 'tiles'"> <xsl:call-template name="mal2html.ui.links.tiles"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="$role"/> </xsl:call-template> </xsl:when> <xsl:when test="$uithumbs = 'hover'"> <xsl:call-template name="mal2html.ui.links.hover"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="$role"/> </xsl:call-template> </xsl:when> <xsl:when test="contains($style, ' mouseovers ')"> <xsl:call-template name="_mal2html.links.mouseovers"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="links" select="$links"/> </xsl:call-template> </xsl:when> <xsl:when test="contains($style, ' toronto ') or contains($style, ' grid ')"> <xsl:call-template name="_mal2html.links.grid"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="$role"/> </xsl:call-template> </xsl:when> <xsl:when test="contains($style, ' norwich ')"> <xsl:call-template name="_mal2html.links.norwich"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="$role"/> </xsl:call-template> </xsl:when> <xsl:when test="contains($style, ' linklist ')"> <xsl:variable name="bold" select="contains($style, ' bold ')"/> <xsl:call-template name="mal2html.links.ul"> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="bold" select="$bold"/> <xsl:with-param name="nodesc" select="$nodesc"/> </xsl:call-template> </xsl:when> <xsl:when test="contains($style, ' button ')"> <xsl:call-template name="_mal2html.links.button"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="nodesc" select="$nodesc"/> </xsl:call-template> </xsl:when> <xsl:when test="contains($style, ' heading ')"> <xsl:call-template name="_mal2html.links.heading"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="nodesc" select="$nodesc"/> </xsl:call-template> </xsl:when> <xsl:when test="contains($style, ' 2column ')"> <xsl:variable name="coltot" select="ceiling(count($links) div 2)"/> <div class="links-twocolumn"> <xsl:call-template name="_mal2html.links.divs"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="nodesc" select="$nodesc"/> <xsl:with-param name="max" select="$coltot"/> </xsl:call-template> </div> <div class="links-twocolumn"> <xsl:call-template name="_mal2html.links.divs"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="nodesc" select="$nodesc"/> <xsl:with-param name="min" select="$coltot"/> </xsl:call-template> </div> </xsl:when> <xsl:when test="$divs"> <xsl:call-template name="_mal2html.links.divs"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="nodesc" select="$nodesc"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:variable name="bold" select="contains($style, ' bold ')"/> <xsl:call-template name="mal2html.links.ul"> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="bold" select="$bold"/> <xsl:with-param name="nodesc" select="$nodesc"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </div> </div> </div> </xsl:template> <!--**========================================================================== mal2html.links.ul Output links in an HTML #{ul} element. :Revision:version="3.10" date="2013-07-30" status="final" $links: A list of links, as from a template in !{mal-link}. $role: A space-separated list of link roles, used to select the appropriate title. $bold: Whether to bold the link titles. $nodesc: Whether to omit descriptions. This is a common formatting template used by some #{links} element handlers. It outputs an HTML #{ul} element and calls *{mal2html.links.ul.li} on each link to output a list item with a link. This template handles link sorting. --> <xsl:template name="mal2html.links.ul"> <xsl:param name="links" select="/false"/> <xsl:param name="role" select="''"/> <xsl:param name="bold" select="false()"/> <xsl:param name="nodesc" select="false()"/> <ul> <xsl:for-each select="$links"> <xsl:sort data-type="number" select="@groupsort"/> <xsl:sort select="mal:title[@type = 'sort']"/> <xsl:call-template name="mal2html.links.ul.li"> <xsl:with-param name="link" select="."/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="bold" select="$bold"/> <xsl:with-param name="nodesc" select="$nodesc"/> </xsl:call-template> </xsl:for-each> </ul> </xsl:template> <!--**========================================================================== mal2html.links.ul.li Output a list item with a link. :Revision:version="3.10" date="2013-07-30" status="final" $link: The #{link} element from a list of links. $xref: An #{xref} string pointing to the target node. $role: A space-separated list of link roles, used to select the appropriate title. $bold: Whether to bold the link titles. $nodesc: Whether to omit descriptions. This template is called by *{mal2html.links.ul} to output a list item with a link for each target. --> <xsl:template name="mal2html.links.ul.li"> <xsl:param name="link" select="/false"/> <xsl:param name="xref" select="@xref"/> <xsl:param name="role" select="''"/> <xsl:param name="bold" select="false()"/> <xsl:param name="nodesc" select="false()"/> <xsl:for-each select="$mal.cache"> <xsl:variable name="target" select="key('mal.cache.key', $xref)"/> <li class="links {$link/@class}"> <xsl:for-each select="$link/@*"> <xsl:if test="starts-with(name(.), 'data-')"> <xsl:copy-of select="."/> </xsl:if> </xsl:for-each> <a> <xsl:if test="$bold"> <xsl:attribute name="class"> <xsl:text>bold</xsl:text> </xsl:attribute> </xsl:if> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:attribute> <xsl:call-template name="mal.link.content"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </a> <xsl:call-template name="mal2html.editor.badge"> <xsl:with-param name="target" select="$target"/> </xsl:call-template> <xsl:if test="not($nodesc)"> <xsl:variable name="desc"> <xsl:call-template name="mal.link.desc"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:variable> <xsl:if test="exsl:node-set($desc)/node()"> <span class="desc"> <xsl:text> — </xsl:text> <xsl:copy-of select="$desc"/> </span> </xsl:if> </xsl:if> </li> </xsl:for-each> </xsl:template> <!--**========================================================================== mal2html.links.guide Output guide links from a page or section. :Revision:version="3.4" date="2012-02-23" status="final" $node: A #{links}, #{page}, or #{section} element to link from. $depth: The depth level for the HTML header element. $links: A list of links from *{mal.link.guidelinks}. This template outputs guide links for a page or section. It does not extract the links itself. They must be passed in with the ${links} parameter. --> <xsl:template name="mal2html.links.guide" match="mal:links[@type = 'guide']"> <xsl:param name="node" select="."/> <xsl:param name="depth" select="count($node/ancestor-or-self::mal:section) + 2"/> <xsl:param name="links" select="/false"/> <xsl:variable name="depth_"> <xsl:choose> <xsl:when test="$depth < 6"> <xsl:value-of select="$depth"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="6"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="role" select="$node/self::mal:links/@role"/> <xsl:if test="$links"> <xsl:call-template name="mal2html.links.links"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="depth" select="$depth"/> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="concat($role, ' guide')"/> <xsl:with-param name="title"> <xsl:call-template name="l10n.gettext"> <xsl:with-param name="msgid" select="'More Information'"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template> <!--**========================================================================== mal2html.links.prevnext Output links to the previous and next pages. :Revision:version="1.0" date="2011-06-15" status="final" $node: A #{links} or #{page} element to link from. This template outputs links to the previous and next page in a Mallard series, if they exist. The block containing the links is end-floated by default. The links use the text "Previous" and "Next", although the actual page titles are used for tooltips. If the #{links} element has the style hint #{top}, it will be inserted before the page title, instead of in its position on the page. This is handled by the calling functions in !{mal2html-page}. --> <xsl:template name="mal2html.links.prevnext" match="mal:links[@type = 'prevnext']"> <xsl:param name="node" select="."/> <xsl:variable name="page" select="$node/ancestor-or-self::mal:page[last()]"/> <xsl:variable name="linkid"> <xsl:call-template name="mal.link.linkid"> <xsl:with-param name="node" select="$page"/> </xsl:call-template> </xsl:variable> <xsl:variable name="next" select="$page/mal:info/mal:link[@type='next']"/> <xsl:for-each select="$mal.cache"> <xsl:variable name="prev" select="key('mal.cache.link.key', concat('next:', $linkid))"/> <xsl:if test="$prev or $next"> <!-- FIXME: Get prev/next links in constant position --> <div class="links nextlinks"> <xsl:if test="$prev"> <a class="nextlinks-prev"> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="node" select="$prev"/> <xsl:with-param name="xref" select="$prev/../../@id"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="node" select="$prev"/> <xsl:with-param name="xref" select="$prev/../../@id"/> </xsl:call-template> </xsl:attribute> <xsl:for-each select="$page"> <xsl:call-template name="l10n.gettext"> <xsl:with-param name="msgid" select="'Previous'"/> </xsl:call-template> </xsl:for-each> </a> </xsl:if> <xsl:if test="$next"> <a class="nextlinks-next"> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="node" select="$next"/> <xsl:with-param name="xref" select="$next/@xref"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="node" select="$next"/> <xsl:with-param name="xref" select="$next/@xref"/> </xsl:call-template> </xsl:attribute> <xsl:for-each select="$page"> <xsl:call-template name="l10n.gettext"> <xsl:with-param name="msgid" select="'Next'"/> </xsl:call-template> </xsl:for-each> </a> </xsl:if> </div> </xsl:if> </xsl:for-each> </xsl:template> <!--**========================================================================== mal2html.links.section Output links to subsections. :Revision:version="1.0" date="2011-06-15" status="final" $node: The section #{links} element. $depth: The depth level for the HTML header element. This template outputs links to the child sections of the #{page} or #{section} element containing ${node}. --> <xsl:template name="mal2html.links.section" match="mal:links[@type = 'section']"> <xsl:param name="node" select="."/> <xsl:param name="depth" select="count($node/ancestor-or-self::mal:section) + 2"/> <xsl:variable name="role" select="$node/self::mal:links/@role"/> <xsl:variable name="style" select="concat(' ', $node/@style, ' ')"/> <xsl:variable name="sectdepth"> <xsl:choose> <xsl:when test="number(@depth) > 1"> <xsl:value-of select="round(number(@depth))"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="1"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:if test="$node/../mal:section"> <div role="navigation"> <xsl:attribute name="class"> <xsl:text>links sectionlinks</xsl:text> <xsl:choose> <xsl:when test="contains($style, ' floatstart ')"> <xsl:text> floatstart</xsl:text> </xsl:when> <xsl:when test="contains($style, ' floatend ')"> <xsl:text> floatend</xsl:text> </xsl:when> <xsl:when test="contains($style, ' floatleft ')"> <xsl:text> floatleft</xsl:text> </xsl:when> <xsl:when test="contains($style, ' floatright ')"> <xsl:text> floatright</xsl:text> </xsl:when> </xsl:choose> <xsl:if test="mal:title and ($node/@ui:expanded or $node/@uix:expanded)"> <xsl:text> ui-expander</xsl:text> </xsl:if> </xsl:attribute> <xsl:call-template name="mal2html.ui.expander.data"> <xsl:with-param name="node" select="$node"/> </xsl:call-template> <div class="inner"> <xsl:apply-templates mode="mal2html.block.mode" select="$node/mal:title"> <xsl:with-param name="depth" select="$depth"/> </xsl:apply-templates> <div class="region"> <xsl:call-template name="_mal2html.links.section.ul"> <xsl:with-param name="node" select="$node/.."/> <xsl:with-param name="depth" select="number($sectdepth)"/> <xsl:with-param name="role" select="$role"/> </xsl:call-template> </div> </div> </div> </xsl:if> </xsl:template> <!--#* _mal2html.links.section.ul --> <xsl:template name="_mal2html.links.section.ul"> <xsl:param name="node"/> <xsl:param name="depth"/> <xsl:param name="role"/> <ul> <xsl:for-each select="$node/mal:section"> <xsl:call-template name="mal2html.links.ul.li"> <xsl:with-param name="xref" select="concat(/mal:page/@id, '#', @id)"/> <xsl:with-param name="role" select="concat($role, ' section')"/> </xsl:call-template> <xsl:if test="$depth > 1 and mal:section"> <li class="links"> <ul> <xsl:call-template name="_mal2html.links.section.ul"> <xsl:with-param name="node" select="."/> <xsl:with-param name="depth" select="$depth - 1"/> <xsl:with-param name="role" select="$role"/> </xsl:call-template> </ul> </li> </xsl:if> </xsl:for-each> </ul> </xsl:template> <!--**========================================================================== mal2html.links.seealso Output seealso links from a page or section. :Revision:version="3.4" date="2012-02-23" status="final" $node: A #{links}, #{page}, or #{section} element to link from. $depth: The depth level for the HTML header element. $links: A list of links from *{mal.link.seealsolinks}. This template outputs seealso links for a page or section. It does not extract the links itself. They must be passed in with the ${links} parameter. --> <xsl:template name="mal2html.links.seealso" match="mal:links[@type = 'seealso']"> <xsl:param name="node" select="."/> <xsl:param name="depth" select="count($node/ancestor-or-self::mal:section) + 2"/> <xsl:param name="links" select="/false"/> <xsl:variable name="role" select="$node/self::mal:links/@role"/> <xsl:if test="$links"> <xsl:call-template name="mal2html.links.links"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="depth" select="$depth"/> <xsl:with-param name="links" select="$links"/> <xsl:with-param name="role" select="concat($role, ' seealso')"/> <xsl:with-param name="title"> <xsl:call-template name="l10n.gettext"> <xsl:with-param name="msgid" select="'See Also'"/> </xsl:call-template> </xsl:with-param> </xsl:call-template> </xsl:if> </xsl:template> <!--**========================================================================== mal2html.links.series Output links to pages in a series. :Revision:version="1.0" date="2011-06-15" status="final" $node: A #{links} or #{page} element to start from. A series in Mallard is a list of page such that each page in the list has a next link to the following page. This template outputs links to each page in a series. The current page is output in its place, althought it is not a link. This template calls *{mal2html.links.series.prev} and *{mal2html.links.series.next} to find and output the links. --> <xsl:template name="mal2html.links.series" match="mal:links[@type = 'series']"> <xsl:param name="node" select="."/> <xsl:variable name="page" select="$node/ancestor-or-self::mal:page[last()]"/> <xsl:variable name="title" select="$node/self::mal:links/mal:title"/> <xsl:variable name="style" select="concat(' ', $node/@style, ' ')"/> <xsl:variable name="expander" select="$title and ($node/self::mal:links/@ui:expanded or $node/self::mal:links/@uix:expanded)"/> <xsl:variable name="role" select="$node/self::mal:links/@role"/> <div> <xsl:attribute name="class"> <xsl:text>links serieslinks</xsl:text> <xsl:choose> <xsl:when test="contains($style, ' floatstart ')"> <xsl:text> floatstart</xsl:text> </xsl:when> <xsl:when test="contains($style, ' floatend ')"> <xsl:text> floatend</xsl:text> </xsl:when> <xsl:when test="contains($style, ' floatleft ')"> <xsl:text> floatleft</xsl:text> </xsl:when> <xsl:when test="contains($style, ' floatright ')"> <xsl:text> floatright</xsl:text> </xsl:when> </xsl:choose> <xsl:if test="$expander"> <xsl:text> ui-expander</xsl:text> </xsl:if> </xsl:attribute> <xsl:call-template name="mal2html.ui.expander.data"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="expander" select="$expander"/> </xsl:call-template> <div class="inner"> <xsl:apply-templates mode="mal2html.block.mode" select="$title"/> <div class="region"> <ul> <xsl:call-template name="mal2html.links.series.prev"> <xsl:with-param name="node" select="$page"/> <xsl:with-param name="links" select="$node/self::mal:links"/> </xsl:call-template> <li class="links"> <xsl:call-template name="mal.link.content"> <xsl:with-param name="node" select="$page"/> <xsl:with-param name="xref" select="$page/@id"/> <xsl:with-param name="role" select="concat($role, ' series')"/> </xsl:call-template> </li> <xsl:call-template name="mal2html.links.series.next"> <xsl:with-param name="node" select="$page"/> <xsl:with-param name="links" select="$node/self::mal:links"/> </xsl:call-template> </ul> </div> </div> </div> </xsl:template> <!--**========================================================================== mal2html.links.series.prev Output preceding links to pages in a series. :Revision:version="1.0" date="2011-06-15" status="final" $node: The current #{page} element. $links: The series #{links} element. This template is called by *{mal2html.links.series} to output the pages before the starting page in the series. This template finds the previous page for the page ${node}. It then calls itself recursively on that page, and outputs a link to it. --> <xsl:template name="mal2html.links.series.prev"> <xsl:param name="node"/> <xsl:param name="links" select="/false"/> <xsl:variable name="role" select="$links/self::mal:links/@role"/> <xsl:variable name="linkid"> <xsl:call-template name="mal.link.linkid"> <xsl:with-param name="node" select="$node"/> </xsl:call-template> </xsl:variable> <xsl:for-each select="$mal.cache"> <xsl:variable name="prev" select="key('mal.cache.link.key', concat('next:', $linkid))"/> <xsl:if test="$prev"> <xsl:call-template name="mal2html.links.series.prev"> <xsl:with-param name="node" select="key('mal.cache.key', $prev/../../@id)"/> <xsl:with-param name="links" select="$links"/> </xsl:call-template> <li class="links"> <a> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="node" select="$prev"/> <xsl:with-param name="xref" select="$prev/../../@id"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="node" select="$prev"/> <xsl:with-param name="xref" select="$prev/../../@id"/> <xsl:with-param name="role" select="concat($role, ' series')"/> </xsl:call-template> </xsl:attribute> <xsl:call-template name="mal.link.content"> <xsl:with-param name="node" select="$prev"/> <xsl:with-param name="xref" select="$prev/../../@id"/> <xsl:with-param name="role" select="concat($role, ' series')"/> </xsl:call-template> </a> </li> </xsl:if> </xsl:for-each> </xsl:template> <!--**========================================================================== mal2html.links.series.next Output following links to pages in a series. :Revision:version="1.0" date="2011-06-15" status="final" $node: The current #{page} element. $links: The series #{links} element. This template is called by *{mal2html.links.series} to output the pages after the starting page in the series. This template finds the next page for the page ${node}. It outputs a link to that page, then calls itself recursively on that page. --> <xsl:template name="mal2html.links.series.next"> <xsl:param name="node"/> <xsl:param name="links" select="/false"/> <xsl:variable name="role" select="$links/self::mal:links/@role"/> <xsl:variable name="linkid"> <xsl:call-template name="mal.link.linkid"> <xsl:with-param name="node" select="$node"/> </xsl:call-template> </xsl:variable> <xsl:variable name="next" select="$node/mal:info/mal:link[@type='next']"/> <xsl:if test="$next"> <xsl:for-each select="$mal.cache"> <li class="links"> <a> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="node" select="$next"/> <xsl:with-param name="xref" select="$next/@xref"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="node" select="$next"/> <xsl:with-param name="xref" select="$next/@xref"/> <xsl:with-param name="role" select="concat($role, ' series')"/> </xsl:call-template> </xsl:attribute> <xsl:call-template name="mal.link.content"> <xsl:with-param name="node" select="$next"/> <xsl:with-param name="xref" select="$next/@xref"/> <xsl:with-param name="role" select="concat($role, ' series')"/> </xsl:call-template> </a> </li> <xsl:call-template name="mal2html.links.series.next"> <xsl:with-param name="node" select="key('mal.cache.key', $next/@xref)"/> <xsl:with-param name="links" select="$links"/> </xsl:call-template> </xsl:for-each> </xsl:if> </xsl:template> <!--**========================================================================== mal2html.links.topic Output topic links from a page or section. :Revision:version="3.4" date="2012-02-23" status="final" $node: A #{links}, #{page}, or #{section} element to link from. $depth: The depth level for the HTML header element. $links: A list of links from *{mal.link.topiclinks}. $groups: The list of link groups for this #{links} element. $allgroups: The list of all valid groups for the page or section. This template outputs topic links for a page or section. It does not extract the links itself. They must be passed in with the ${links} parameter. This template only outputs links which have a group that matches ${groups}. The ${groups} parameter is not expected to have the implicit groups #{first}, #{default}, and #{last}. These are added automatically by this template when determining which links to output. --> <xsl:template name="mal2html.links.topic" match="mal:links[@type = 'topic']"> <xsl:param name="node" select="."/> <xsl:param name="depth" select="count($node/ancestor-or-self::mal:section) + 2"/> <xsl:param name="links" select="/false"/> <xsl:param name="groups"> <xsl:text> </xsl:text> <xsl:choose> <xsl:when test="$node/@groups"> <xsl:value-of select="$node/@groups"/> </xsl:when> <xsl:otherwise> <xsl:text>#default</xsl:text> </xsl:otherwise> </xsl:choose> <xsl:text> </xsl:text> </xsl:param> <xsl:param name="allgroups" select="''"/> <xsl:variable name="role" select="$node/self::mal:links/@role"/> <xsl:if test="$node/ancestor-or-self::mal:page[last()]/@type = 'guide'"> <xsl:variable name="_groups"> <xsl:if test="not(contains($allgroups, ' #first '))"> <xsl:if test="not($node/self::mal:links) or not($node/preceding-sibling::mal:links[@type = 'topic'])"> <xsl:text> #first </xsl:text> </xsl:if> </xsl:if> <xsl:value-of select="$groups"/> <xsl:if test="not(contains($allgroups, ' #default '))"> <xsl:if test="not($node/self::mal:links) or not($node/following-sibling::mal:links[@type = 'topic'])"> <xsl:text> #default </xsl:text> </xsl:if> </xsl:if> <xsl:if test="not(contains($allgroups, ' #last '))"> <xsl:if test="not($node/self::mal:links) or not($node/following-sibling::mal:links[@type = 'topic'])"> <xsl:text> #last </xsl:text> </xsl:if> </xsl:if> </xsl:variable> <xsl:variable name="_links" select="$links[contains($_groups, concat(' ', @group, ' '))]"/> <xsl:if test="count($_links) != 0"> <xsl:call-template name="mal2html.links.links"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="depth" select="$depth"/> <xsl:with-param name="links" select="$_links"/> <xsl:with-param name="role" select="concat($role, ' topic')"/> <xsl:with-param name="divs" select="true()"/> </xsl:call-template> </xsl:if> </xsl:if> </xsl:template> <!--#* _mal2html.links.mouseovers --> <xsl:template name="_mal2html.links.mouseovers"> <xsl:param name="node"/> <xsl:param name="links"/> <xsl:variable name="role" select="$node/self::mal:links/@role"/> <div class="mouseovers"> <xsl:for-each select="$node/e:mouseover[not(@match)]"> <img> <xsl:copy-of select="@src | @width | @height"/> </img> </xsl:for-each> </div> <ul class="mouseovers"> <xsl:for-each select="$links"> <xsl:sort data-type="number" select="@groupsort"/> <xsl:sort select="mal:title[@type = 'sort']"/> <xsl:variable name="link" select="."/> <xsl:variable name="xref" select="@xref"/> <xsl:for-each select="$mal.cache"> <xsl:variable name="target" select="key('mal.cache.key', $xref)"/> <li class="links"> <a class="bold"> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="concat($role, ' topic')"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:attribute> <xsl:for-each select="$node/e:mouseover[@match = $xref]"> <img> <xsl:copy-of select="@src | @width | @height"/> </img> </xsl:for-each> <xsl:call-template name="mal.link.content"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="concat($role, ' topic')"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </a> </li> </xsl:for-each> </xsl:for-each> </ul> <div class="clear"/> </xsl:template> <!--#* _mal2html.links.grid --> <xsl:template name="_mal2html.links.grid"> <xsl:param name="node"/> <xsl:param name="links"/> <xsl:param name="role"/> <xsl:for-each select="$links"> <xsl:sort data-type="number" select="@groupsort"/> <xsl:sort select="mal:title[@type = 'sort']"/> <xsl:variable name="link" select="."/> <xsl:variable name="xref" select="@xref"/> <div class="links-grid {@class}"> <xsl:for-each select="@*"> <xsl:if test="starts-with(name(.), 'data-')"> <xsl:copy-of select="."/> </xsl:if> </xsl:for-each> <xsl:for-each select="$mal.cache"> <xsl:variable name="target" select="key('mal.cache.key', $xref)"/> <div class="links-grid-link"><a> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:attribute> <xsl:call-template name="mal.link.content"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </a></div> <xsl:variable name="desc"> <xsl:call-template name="mal.link.desc"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:variable> <xsl:if test="exsl:node-set($desc)/node()"> <div class="desc"> <span class="desc"> <xsl:copy-of select="$desc"/> </span> </div> </xsl:if> </xsl:for-each> </div> </xsl:for-each> </xsl:template> <!--#* _mal2html.links.norwich --> <xsl:template name="_mal2html.links.norwich"> <xsl:param name="node"/> <xsl:param name="links"/> <xsl:param name="role"/> <div class="links-norwich"> <div class="links-norwich-primary"> <xsl:for-each select="$links"> <xsl:sort data-type="number" select="@groupsort"/> <xsl:sort select="mal:title[@type = 'sort']"/> <xsl:if test="position() < 3"> <xsl:variable name="link" select="."/> <xsl:variable name="xref" select="@xref"/> <xsl:for-each select="$mal.cache"> <xsl:variable name="target" select="key('mal.cache.key', $xref)"/> <div class="links-norwich-big"> <a> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:attribute> <!-- FIXME: role and dimensions --> <xsl:if test="$target/mal:info/uix:thumb"> <xsl:attribute name="style"> <xsl:text>background-image: url(</xsl:text> <xsl:value-of select="$target/mal:info/uix:thumb/@src"/> <xsl:text>);</xsl:text> </xsl:attribute> </xsl:if> <span class="title"> <xsl:call-template name="mal.link.content"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </span> <xsl:variable name="desc"> <xsl:call-template name="mal.link.desc"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:variable> <xsl:variable name="desc_" select="exsl:node-set($desc)"/> <xsl:if test="$desc_/node()"> <div class="desc"> <span class="desc"> <xsl:apply-templates mode="_mal2html.links.divs.nolink.mode" select="$desc_"/> </span> </div> </xsl:if> </a> </div> </xsl:for-each> </xsl:if> </xsl:for-each> </div> <div class="links-norwich-secondary"> <xsl:for-each select="$links"> <xsl:sort data-type="number" select="@groupsort"/> <xsl:sort select="mal:title[@type = 'sort']"/> <xsl:if test="position() >= 3"> <xsl:variable name="link" select="."/> <xsl:variable name="xref" select="@xref"/> <xsl:for-each select="$mal.cache"> <xsl:variable name="target" select="key('mal.cache.key', $xref)"/> <xsl:variable name="thumbs" select="$target/mal:info/uix:thumb"/> <div class="links-norwich-small"> <a> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:attribute> <!-- FIXME: role and dimensions --> <xsl:if test="$target/mal:info/uix:thumb"> <xsl:attribute name="style"> <xsl:text>background-image: url(</xsl:text> <xsl:value-of select="$target/mal:info/uix:thumb/@src"/> <xsl:text>);</xsl:text> </xsl:attribute> </xsl:if> <span class="title"> <xsl:call-template name="mal.link.content"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </span> </a> </div> </xsl:for-each> </xsl:if> </xsl:for-each> </div> </div> <div class="clear"/> </xsl:template> <!--#* _mal2html.links.divs --> <xsl:template name="_mal2html.links.divs"> <xsl:param name="node"/> <xsl:param name="links"/> <xsl:param name="role" select="''"/> <xsl:param name="nodesc" select="false()"/> <xsl:param name="min" select="-1"/> <xsl:param name="max" select="-1"/> <xsl:for-each select="$links"> <xsl:sort data-type="number" select="@groupsort"/> <xsl:sort select="mal:title[@type = 'sort']"/> <xsl:if test="($max = -1 or position() <= $max) and ($min = -1 or position() > $min)"> <xsl:variable name="link" select="."/> <xsl:variable name="xref" select="@xref"/> <xsl:for-each select="$mal.cache"> <xsl:variable name="target" select="key('mal.cache.key', $xref)"/> <div class="linkdiv {$link/@class}"> <xsl:for-each select="$link/@*"> <xsl:if test="starts-with(name(.), 'data-')"> <xsl:copy-of select="."/> </xsl:if> </xsl:for-each> <a class="linkdiv"> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="xref" select="$target/@id"/> <xsl:with-param name="href" select="$link/@href"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="xref" select="$target/@id"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:attribute> <span class="title"> <xsl:call-template name="mal.link.content"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="xref" select="$target/@id"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> <xsl:call-template name="mal2html.editor.badge"> <xsl:with-param name="target" select="$target"/> </xsl:call-template> </span> <xsl:if test="not($nodesc)"> <xsl:variable name="desc"> <xsl:call-template name="mal.link.desc"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:variable> <xsl:variable name="desc_" select="exsl:node-set($desc)"/> <xsl:if test="$desc_/node()"> <span class="linkdiv-dash"> <xsl:text> — </xsl:text> </span> <span class="desc"> <xsl:apply-templates mode="_mal2html.links.divs.nolink.mode" select="$desc_"/> </span> </xsl:if> </xsl:if> </a> </div> </xsl:for-each> </xsl:if> </xsl:for-each> </xsl:template> <!--#% _mal2html.links.divs.nolink.mode --> <xsl:template mode="_mal2html.links.divs.nolink.mode" match="*"> <xsl:copy> <xsl:copy-of select="@*"/> <xsl:apply-templates mode="_mal2html.links.divs.nolink.mode" select="node()"/> </xsl:copy> </xsl:template> <xsl:template mode="_mal2html.links.divs.nolink.mode" match="*[@href]"> <xsl:apply-templates mode="_mal2html.links.divs.nolink.mode" select="node()"/> </xsl:template> <!--#* _mal2html.links.button --> <xsl:template name="_mal2html.links.button"> <xsl:param name="node"/> <xsl:param name="links"/> <xsl:param name="role" select="''"/> <xsl:param name="nodesc" select="false()"/> <xsl:for-each select="$links"> <xsl:sort data-type="number" select="@groupsort"/> <xsl:sort select="mal:title[@type = 'sort']"/> <xsl:variable name="link" select="."/> <xsl:variable name="xref" select="@xref"/> <xsl:for-each select="$mal.cache"> <xsl:variable name="target" select="key('mal.cache.key', $xref)"/> <div class="link-button {$link/@class}"> <xsl:for-each select="$link/@*"> <xsl:if test="starts-with(name(.), 'data-')"> <xsl:copy-of select="."/> </xsl:if> </xsl:for-each> <a> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="xref" select="$target/@id"/> <xsl:with-param name="href" select="$link/@href"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="xref" select="$target/@id"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:attribute> <span class="title"> <xsl:call-template name="mal.link.content"> <xsl:with-param name="node" select="$node"/> <xsl:with-param name="xref" select="$target/@id"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> <xsl:call-template name="mal2html.editor.badge"> <xsl:with-param name="target" select="$target"/> </xsl:call-template> </span> <xsl:if test="not($nodesc)"> <xsl:variable name="desc"> <xsl:call-template name="mal.link.desc"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:variable> <xsl:variable name="desc_" select="exsl:node-set($desc)"/> <xsl:if test="$desc_/node()"> <span class="linkdiv-dash"> <xsl:text> — </xsl:text> </span> <span class="desc"> <xsl:apply-templates mode="_mal2html.links.divs.nolink.mode" select="$desc_"/> </span> </xsl:if> </xsl:if> </a> </div> </xsl:for-each> </xsl:for-each> </xsl:template> <!--#* _mal2html.links.heading --> <xsl:template name="_mal2html.links.heading"> <xsl:param name="node" select="."/> <xsl:param name="links" select="/false"/> <xsl:param name="role" select="''"/> <xsl:param name="nodesc" select="false()"/> <ul class="links-heading"> <xsl:for-each select="$links"> <xsl:sort data-type="number" select="@groupsort"/> <xsl:sort select="mal:title[@type = 'sort']"/> <xsl:variable name="link" select="."/> <xsl:variable name="xref" select="@xref"/> <xsl:for-each select="$mal.cache"> <xsl:variable name="target" select="key('mal.cache.key', $xref)"/> <li class="links {$link/@class}"> <xsl:for-each select="$link/@*"> <xsl:if test="starts-with(name(.), 'data-')"> <xsl:copy-of select="."/> </xsl:if> </xsl:for-each> <div class="links-heading"> <a> <xsl:attribute name="href"> <xsl:call-template name="mal.link.target"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> </xsl:call-template> </xsl:attribute> <xsl:attribute name="title"> <xsl:call-template name="mal.link.tooltip"> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:attribute> <xsl:call-template name="mal.link.content"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </a> <xsl:call-template name="mal2html.editor.badge"> <xsl:with-param name="target" select="$target"/> </xsl:call-template> </div> <xsl:if test="not($nodesc)"> <xsl:variable name="desc"> <xsl:call-template name="mal.link.desc"> <xsl:with-param name="node" select="."/> <xsl:with-param name="xref" select="$xref"/> <xsl:with-param name="href" select="$link/@href"/> <xsl:with-param name="role" select="$role"/> <xsl:with-param name="info" select="$link[@href]/mal:info"/> </xsl:call-template> </xsl:variable> <xsl:if test="exsl:node-set($desc)/node()"> <div class="desc"> <xsl:copy-of select="$desc"/> </div> </xsl:if> </xsl:if> </li> </xsl:for-each> </xsl:for-each> </ul> </xsl:template> </xsl:stylesheet>
Close