common.xsl revision 01c674544bd4c211141bcd9fb09b96ffc18c6c3d
beaad6ac31022179c44d88536811e9ccd9425696nd<?xml version="1.0"?>
beaad6ac31022179c44d88536811e9ccd9425696nd<!DOCTYPE xsl:stylesheet [
beaad6ac31022179c44d88536811e9ccd9425696nd <!ENTITY nbsp SYSTEM "util/nbsp.xml">
6fbd2e53c97ea6976d93e0ac521adabc55e0fb73nd]>
beaad6ac31022179c44d88536811e9ccd9425696nd<xsl:stylesheet version="1.0"
beaad6ac31022179c44d88536811e9ccd9425696nd xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
beaad6ac31022179c44d88536811e9ccd9425696nd xmlns="http://www.w3.org/1999/xhtml">
beaad6ac31022179c44d88536811e9ccd9425696nd
beaad6ac31022179c44d88536811e9ccd9425696nd <!-- -->
beaad6ac31022179c44d88536811e9ccd9425696nd <!-- Please, don't hard-code output strings! Use the language -->
beaad6ac31022179c44d88536811e9ccd9425696nd <!-- files and the translation "stuff"... -->
beaad6ac31022179c44d88536811e9ccd9425696nd <!-- -->
beaad6ac31022179c44d88536811e9ccd9425696nd
beaad6ac31022179c44d88536811e9ccd9425696nd <!-- Constants used for case translation -->
beaad6ac31022179c44d88536811e9ccd9425696nd <xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
beaad6ac31022179c44d88536811e9ccd9425696nd <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
beaad6ac31022179c44d88536811e9ccd9425696nd
beaad6ac31022179c44d88536811e9ccd9425696nd <!--
01c674544bd4c211141bcd9fb09b96ffc18c6c3dnd space separated list of blockelements defined in common.dtd
01c674544bd4c211141bcd9fb09b96ffc18c6c3dnd used for inline content catching in <example>s
7e68fce3cbd2246164e045a51ecd77f9f26680ednd -->
01c674544bd4c211141bcd9fb09b96ffc18c6c3dnd <xsl:variable name="blockelements">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele p example note table ul ol dl pre img blockquote
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:variable>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- relative path to /manual/ -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="path" select="document(/*/@metafile)/metafile/relpath" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- load outsourced page types -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:include href="moduleindex.xsl"/>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:include href="directiveindex.xsl"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:include href="manualpage.xsl"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:include href="synopsis.xsl"/>
e5343521634b71f10f0e88374d88bd5a45f75f68nd <xsl:include href="sitemap.xsl"/>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:include href="indexpage.xsl"/>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:include href="quickreference.xsl"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- make sure, we set relative anchors
3726777f47ac4bba3e21b075905959bbea47e72eerikabele only, if we're actually transforming
7e68fce3cbd2246164e045a51ecd77f9f26680ednd a modulefile (see <directive>) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="in-modulesynopsis"><xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="/quickreference">0</xsl:when>
bdbf46e4950b6f633073f803486962e82c2f086and
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>1</xsl:otherwise></xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:variable>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Utility templates for constructing pages -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- HTML head -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template name="head">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <head>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:comment>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7e68fce3cbd2246164e045a51ecd77f9f26680ednd This file is generated from xml source: DO NOT EDIT
7e68fce3cbd2246164e045a51ecd77f9f26680ednd XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:comment>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <title>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="name">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="name"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="title"/>
e5343521634b71f10f0e88374d88bd5a45f75f68nd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
bdbf46e4950b6f633073f803486962e82c2f086and
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='apachetitle']"/>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </title>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <link title="Main stylesheet" type="text/css" media="all" rel="stylesheet"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd href="{$path}/style/css/manual.css" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <link title="No Sidebar - Default font size" type="text/css" media="all"
e5343521634b71f10f0e88374d88bd5a45f75f68nd rel="alternate stylesheet"
bdbf46e4950b6f633073f803486962e82c2f086and href="{$path}/style/css/manual-loose-100pc.css"/>
bdbf46e4950b6f633073f803486962e82c2f086and
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <link type="text/css" media="print"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd rel="stylesheet"
fd46b0fed4351924170b4db5859dc35b771ee16dnd href="{$path}/style/css/manual-print.css"/>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd <link rel="shortcut icon" href="{$path}/images/favicon.ico" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </head>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- /head -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- page top -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template name="top">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <div id="page-header">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="super-menu" />
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <p class="apache">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:value-of select="$messages/message[@name='apachehttpserver']"/>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </p>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:text>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <img src="{$path}/images/feather.gif" alt="" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </div> <!-- /page-header -->
bdbf46e4950b6f633073f803486962e82c2f086and
bdbf46e4950b6f633073f803486962e82c2f086and<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
e5343521634b71f10f0e88374d88bd5a45f75f68nd
e5343521634b71f10f0e88374d88bd5a45f75f68nd <div class="up">
e5343521634b71f10f0e88374d88bd5a45f75f68nd <a href="./">
e5343521634b71f10f0e88374d88bd5a45f75f68nd <xsl:if test="parentdocument">
e5343521634b71f10f0e88374d88bd5a45f75f68nd <xsl:attribute name="href"><xsl:value-of select="parentdocument/@href"/></xsl:attribute>
e5343521634b71f10f0e88374d88bd5a45f75f68nd </xsl:if>
e5343521634b71f10f0e88374d88bd5a45f75f68nd <img src="{$path}/images/left.gif" alt="&lt;-" title="&lt;-" />
e5343521634b71f10f0e88374d88bd5a45f75f68nd </a>
e5343521634b71f10f0e88374d88bd5a45f75f68nd </div>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
bdbf46e4950b6f633073f803486962e82c2f086and<xsl:text>
bdbf46e4950b6f633073f803486962e82c2f086and</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
bdbf46e4950b6f633073f803486962e82c2f086and <div id="path">
bdbf46e4950b6f633073f803486962e82c2f086and
bdbf46e4950b6f633073f803486962e82c2f086and<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
d177004a74b061338daf7f2603197d673ed76d36kess <a href="http://www.apache.org/">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='apache']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> &gt; </xsl:text>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd <a href="http://httpd.apache.org/">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='http-server']"/>
e5343521634b71f10f0e88374d88bd5a45f75f68nd </a>
bdbf46e4950b6f633073f803486962e82c2f086and <xsl:text> &gt; </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="http://httpd.apache.org/docs-project/">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='documentation']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="not(/indexpage)">
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd <xsl:text> &gt; </xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <a href="{$path}/">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='version']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="/modulesynopsis or /directiveindex or /quickreference">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> &gt; </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="./">
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd <xsl:value-of select="$messages/message[@name='modules']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd </xsl:if>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:if test="parentdocument/text()">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> &gt; </xsl:text>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd <a href="{parentdocument/@href}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="parentdocument"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </div> <!-- /path -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
480bee29abcc415b6b8c18d2ecbf2c5f88f1f05bnd <!-- /top -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- page bottom -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template name="bottom">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <div id="footer">
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <p class="apache">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:value-of select="$messages/message[@name='maintainedby']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="http://httpd.apache.org/docs-project/"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd >Apache HTTP Server Documentation Project</a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </p>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
66e48875fca2df6669dab4f2690ee36c6913c0ffnd<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="super-menu"/>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </div> <!-- /footer -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /bottom -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
66e48875fca2df6669dab4f2690ee36c6913c0ffnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd <!-- Process a documentation section -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:template match="section">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="toplink"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:text>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <div class="section">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <!-- Section heading -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <h2>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@id">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <a id="{@id}" name="{@id}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="title" mode="print"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:if test="not(@id)">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="title" mode="print"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd </h2>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Section body -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </div> <!-- /.section -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /section -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- handle subsections (lower level headings) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="section/section">
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- Section heading -->
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <h3>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <xsl:if test="@id">
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <a id="{@id}" name="{@id}">
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <xsl:apply-templates select="title" mode="print"/>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd </a>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end </xsl:if>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:if test="not(@id)">
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <xsl:apply-templates select="title" mode="print"/>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end </xsl:if>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end </h3>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <!-- Section body -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /section/section -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!-- -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!-- handle subsubsections (h4) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="section/section/section">
21041d71aa640dca78abab65ea293171b668bc20nd
21041d71aa640dca78abab65ea293171b668bc20nd <!-- Section heading -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <h4>
21041d71aa640dca78abab65ea293171b668bc20nd <xsl:if test="@id">
21041d71aa640dca78abab65ea293171b668bc20nd <a id="{@id}" name="{@id}">
21041d71aa640dca78abab65ea293171b668bc20nd <xsl:apply-templates select="title" mode="print"/>
21041d71aa640dca78abab65ea293171b668bc20nd </a>
21041d71aa640dca78abab65ea293171b668bc20nd </xsl:if>
21041d71aa640dca78abab65ea293171b668bc20nd
21041d71aa640dca78abab65ea293171b668bc20nd <xsl:if test="not(@id)">
21041d71aa640dca78abab65ea293171b668bc20nd <xsl:apply-templates select="title" mode="print"/>
21041d71aa640dca78abab65ea293171b668bc20nd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </h4>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Section body -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /section/section/section -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!-- -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!-- section nesting > h4 is not supported for now -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!-- -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:template match="section/section/section/section">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:message terminate="yes">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:text>FATAL: exceeding maximum section nesting level.
e5343521634b71f10f0e88374d88bd5a45f75f68nd
8cfbcde8e416fd60132dd4324c42a5098da156cfnd Perhaps you should consider to split your document into
8cfbcde8e416fd60132dd4324c42a5098da156cfnd several ones...
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </xsl:text>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd </xsl:message>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </xsl:template>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!-- /section/section/section/section -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!-- -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!-- (sub)section titles -->
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <!-- -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:template match="section/title" mode="print">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:apply-templates/>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </xsl:template>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:template match="section/title">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!-- Don't print the title twice -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd </xsl:template>
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <!-- /section/title -->
99e4eb246ec234156eb878835d4e1b4e2f48c499nd
99e4eb246ec234156eb878835d4e1b4e2f48c499nd
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <!-- -->
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <!-- generate section index -->
c804424d87da28b21a0eece7e377a4075c7784ednd <!-- -->
61d237f7e3a54089a7514227d663fac296d7d8f0bnicholes <xsl:template match="section" mode="index">
61d237f7e3a54089a7514227d663fac296d7d8f0bnicholes
61d237f7e3a54089a7514227d663fac296d7d8f0bnicholes <xsl:if test="@id">
61d237f7e3a54089a7514227d663fac296d7d8f0bnicholes <li>
c804424d87da28b21a0eece7e377a4075c7784ednd <img src="{$path}/images/down.gif" alt="" />
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:text> </xsl:text>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <a href="#{@id}">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:apply-templates select="title" mode="print"/>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </a>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </li>
99e4eb246ec234156eb878835d4e1b4e2f48c499nd
99e4eb246ec234156eb878835d4e1b4e2f48c499nd<xsl:text>
99e4eb246ec234156eb878835d4e1b4e2f48c499nd</xsl:text> <!-- insert line break -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </xsl:if>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
951c558544841b7f77eb1618619b531c99c24606nd <xsl:if test="not(@id)">
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <li>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <img src="{$path}/images/down.gif" alt="" />
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <xsl:text> </xsl:text>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <xsl:apply-templates select="title" mode="print"/>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!-- nested sections -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!-- NOT FOR NOW -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <!--
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:if test="section">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <ul>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="section" mode="index"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </ul>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </li>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /section index -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- docs super menu -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template name="super-menu">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <p class="menu">
d177004a74b061338daf7f2603197d673ed76d36kess <a href="{$path}/mod/">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:value-of select="$messages/message[@name='modules']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/mod/directives.html">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='directives']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/faq/">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='faq']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/glossary.html">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='glossary']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
65241490e40aa0c831988073eed0633dad10c6f2nd <a href="{$path}/sitemap.html">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='sitemap']"/>
65241490e40aa0c831988073eed0633dad10c6f2nd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </p>
65241490e40aa0c831988073eed0633dad10c6f2nd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /super-menu -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <example> -->
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd <!-- iterate over *all* nodes; bare text and other -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- inline stuff is wrapped into <p><code>, block -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- level elements (defined in $blockelements) are -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- applied "as is" -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
65241490e40aa0c831988073eed0633dad10c6f2nd <xsl:variable name="blocks"
65241490e40aa0c831988073eed0633dad10c6f2nd select="concat(' ', normalize-space($blockelements), ' ')"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="example">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <div class="example">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="title" mode="print"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:for-each select="/node()">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="is-block-node" select="boolean(contains($blocks, concat(' ',local-name(),' ')))"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="bb" select="count(preceding-sibling::*[contains($blocks,concat(' ',local-name(),' '))])"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="$is-block-node or position()=last()">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="content">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="preceding-sibling::node()[count(preceding-sibling::*[contains($blocks,concat(' ',local-name(),' '))]) &gt;= $bb]"/>
65241490e40aa0c831988073eed0633dad10c6f2nd <xsl:apply-templates select="self::node()[not($is-block-node)]"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:variable>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- apply bare text only, if it's not only \s or empty -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="normalize-space($content) != ''">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <p><code>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:copy-of select="$content"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </code></p>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="self::node()[$is-block-node]"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:for-each>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /node() -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </div> <!-- /.example -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /example -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- example/title -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="example/title" mode="print">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <h3>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </h3>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="example/title">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- don't print twice -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /example/title -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- indent -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="indent">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <span class="indent">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </span>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /indent -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <note> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Notes are placed in a table. Uses different back- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- ground colors, depending on type of note. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="note">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <div class="note">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@type='warning'">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="class">warning</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </div>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /note -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <note><title> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="note/title">
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <h3>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
65241490e40aa0c831988073eed0633dad10c6f2nd </h3>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
65241490e40aa0c831988073eed0633dad10c6f2nd <!-- /note/title -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
66e48875fca2df6669dab4f2690ee36c6913c0ffnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
65241490e40aa0c831988073eed0633dad10c6f2nd <!-- <directive> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Inserts link to another directive, which might be -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- in another module. References are converted into -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- lower case. -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="directive" name="directive">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <code class="directive">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:if test="@module">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="lowerdirective" select="translate(., $uppercase, $lowercase)"/>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:when test="$in-modulesynopsis = '1' and @module = /modulesynopsis/name">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="#{$lowerdirective}">
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd <xsl:if test="@type='section'">&lt;</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="."/>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:if test="@type='section'">&gt;</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="obs_">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@status = 'obsolete'">obs_</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:variable>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/mod/{$obs_}{@module}.html#{$lowerdirective}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@type='section'">&lt;</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="."/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@type='section'">&gt;</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="not(@module)">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@type='section'">&lt;</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="."/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@type='section'">&gt;</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </code>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /directive -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <module> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Inserts a link to refereed module -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="module" name="module">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="obs_">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@status = 'obsolete'">obs_</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:variable>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <code class="module">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/mod/{$obs_}{.}.html">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="."/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </code>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /module -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd <!-- <related> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="related">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <table class="related">
b09970a14a3280b9e4e449dea6e53968fc206731nd <tr>
b09970a14a3280b9e4e449dea6e53968fc206731nd <th>
b09970a14a3280b9e4e449dea6e53968fc206731nd <xsl:value-of select="$messages/message[@name='relatedmodules']"/>
b09970a14a3280b9e4e449dea6e53968fc206731nd </th>
b09970a14a3280b9e4e449dea6e53968fc206731nd <th>
b09970a14a3280b9e4e449dea6e53968fc206731nd <xsl:value-of select="$messages/message[@name='relateddirectives']"/>
b09970a14a3280b9e4e449dea6e53968fc206731nd </th>
b09970a14a3280b9e4e449dea6e53968fc206731nd </tr>
b09970a14a3280b9e4e449dea6e53968fc206731nd
b09970a14a3280b9e4e449dea6e53968fc206731nd <tr>
b09970a14a3280b9e4e449dea6e53968fc206731nd <td>
b09970a14a3280b9e4e449dea6e53968fc206731nd <xsl:if test="count(modulelist/*) &gt; 0">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <ul>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="modulelist"/>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </ul>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </td>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <td>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="count(directivelist/*) &gt; 0">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <ul>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="directivelist"/>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </ul>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </td>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </tr>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </table>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /related -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="related/modulelist">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:for-each select="module">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <li>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:call-template name="module"/>
480bee29abcc415b6b8c18d2ecbf2c5f88f1f05bnd </li>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:for-each>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="related/directivelist">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:for-each select="directive">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <li>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="directive"/>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </li>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:for-each>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <table> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="table">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <table>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:if test="@border">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="class">bordered</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:when test="@style = 'zebra'">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:for-each select="tr">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <tr><xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="count(td) = 0">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="class">header</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="position() mod 2 = (count(preceding-sibling::*[count(td) = 0]) mod 2)">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="class">odd</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when></xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </tr>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:text> <!-- insert line break -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:for-each>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:choose>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </table>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /table -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <ol type -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="ol">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <ol>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@type = 'A'">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="class">up-A</xsl:attribute>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </ol>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /ol type -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <summary> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Passes through content -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="summary">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /summary -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <description> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Passes through content -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="description">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /description -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <hint> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Passes through content -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="hint">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /description -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
66e48875fca2df6669dab4f2690ee36c6913c0ffnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <usage> -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <!-- Passes through content -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="usage">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /usage -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <syntax> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Passes through content -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="syntax">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /syntax -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <default> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Passes through content -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="default">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /default -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- toplink -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template name="toplink">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <div class="top">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="#page-header"><img src="{$path}/images/up.gif" alt="top" /></a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </div>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /toplink -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- <transnote> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="transnote">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <span class="transnote">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>(</xsl:text><em>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='transnote']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </em><xsl:text> </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>)</xsl:text>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </span>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /note/title -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- Filter &#160; in text() nodes. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- In some environments this character won't be -->
480bee29abcc415b6b8c18d2ecbf2c5f88f1f05bnd <!-- transformed correctly, so we just write it -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- explicitely as "&nbsp;" -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template match="text()" name="filter.nbsp">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:param name="text"><xsl:value-of select="."/></xsl:param>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:choose>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:when test="contains($text, '&#160;')">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:value-of select="substring-before($text, '&#160;')"/>
fd46b0fed4351924170b4db5859dc35b771ee16dnd &nbsp;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="filter.nbsp">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="text"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="substring-after($text, '&#160;')"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:call-template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$text"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:choose>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:template>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- Process everything else by just passing it through -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:template match="*|@*">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:copy>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:apply-templates select="@*|*|text()"/>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:copy>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:template>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- create a letter bar -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- used in several documents -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:template name="letter-bar">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:param name="letters"/>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:param name="first"/>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:if test="not($first)">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:text> | </xsl:text>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:if>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd <a href="#{substring($letters,1,1)}">
fd46b0fed4351924170b4db5859dc35b771ee16dnd &nbsp;
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:value-of select="substring($letters,1,1)"/>
fd46b0fed4351924170b4db5859dc35b771ee16dnd &nbsp;
fd46b0fed4351924170b4db5859dc35b771ee16dnd </a>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:if test="string-length($letters) &gt; 1">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:call-template name="letter-bar">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:with-param name="letters" select="substring($letters,2)"/>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:with-param name="first" select="false()"/>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:call-template>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:if>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:template>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- template(s) for collecting all start letters -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- of directives -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- used in several documents -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <!-- -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:template name="directive-startletters">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:param name="directives"/>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:call-template name="_squeeze-letters">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:with-param name="lastletter" select="''"/>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:with-param name="letters">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:for-each select="$directives">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:sort select="name"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="translate(substring(normalize-space(name),1,1),$lowercase,$uppercase)"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:for-each>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:with-param>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:call-template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
acc36ab93565d2880447d535da6ca6e5feac7a70nd
acc36ab93565d2880447d535da6ca6e5feac7a70nd <xsl:template name="_squeeze-letters">
480bee29abcc415b6b8c18d2ecbf2c5f88f1f05bnd <xsl:param name="letters"/>
acc36ab93565d2880447d535da6ca6e5feac7a70nd <xsl:param name="lastletter"/>
acc36ab93565d2880447d535da6ca6e5feac7a70nd
acc36ab93565d2880447d535da6ca6e5feac7a70nd <xsl:variable name="current" select="substring($letters,1,1)"/>
acc36ab93565d2880447d535da6ca6e5feac7a70nd
acc36ab93565d2880447d535da6ca6e5feac7a70nd <xsl:if test="$lastletter != $current">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:value-of select="$current"/>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="string-length($letters) &gt; 1">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="_squeeze-letters">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="letters" select="substring($letters,2)"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="lastletter" select="$current"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:call-template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:template name="module-translatename">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:param name="name"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="sname" select="translate($name,$lowercase,$uppercase)"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="starts-with($sname,'MOD_') or starts-with($sname,'MPM_')">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="substring($name, 5)"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="starts-with($sname,'MPMT_')">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="substring($name, 6)"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
bdbf46e4950b6f633073f803486962e82c2f086and <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$name"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:template>
bdbf46e4950b6f633073f803486962e82c2f086and <!-- /module-translatename -->
bdbf46e4950b6f633073f803486962e82c2f086and
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:stylesheet>
bdbf46e4950b6f633073f803486962e82c2f086and