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