common.xsl revision 1be4d8468446c354f9a3abbdf51c67e25a05d93b
beaad6ac31022179c44d88536811e9ccd9425696nd<?xml version="1.0"?>
beaad6ac31022179c44d88536811e9ccd9425696nd
beaad6ac31022179c44d88536811e9ccd9425696nd<!--
db878466c5e95073429dda0bdd001f45e9486e16fielding Licensed to the Apache Software Foundation (ASF) under one or more
db878466c5e95073429dda0bdd001f45e9486e16fielding contributor license agreements. See the NOTICE file distributed with
db878466c5e95073429dda0bdd001f45e9486e16fielding this work for additional information regarding copyright ownership.
db878466c5e95073429dda0bdd001f45e9486e16fielding The ASF licenses this file to You under the Apache License, Version 2.0
db878466c5e95073429dda0bdd001f45e9486e16fielding (the "License"); you may not use this file except in compliance with
db878466c5e95073429dda0bdd001f45e9486e16fielding the License. You may obtain a copy of the License at
beaad6ac31022179c44d88536811e9ccd9425696nd
beaad6ac31022179c44d88536811e9ccd9425696nd http://www.apache.org/licenses/LICENSE-2.0
beaad6ac31022179c44d88536811e9ccd9425696nd
beaad6ac31022179c44d88536811e9ccd9425696nd Unless required by applicable law or agreed to in writing, software
beaad6ac31022179c44d88536811e9ccd9425696nd distributed under the License is distributed on an "AS IS" BASIS,
beaad6ac31022179c44d88536811e9ccd9425696nd WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
beaad6ac31022179c44d88536811e9ccd9425696nd See the License for the specific language governing permissions and
beaad6ac31022179c44d88536811e9ccd9425696nd limitations under the License.
beaad6ac31022179c44d88536811e9ccd9425696nd-->
beaad6ac31022179c44d88536811e9ccd9425696nd
01c674544bd4c211141bcd9fb09b96ffc18c6c3dnd<!DOCTYPE xsl:stylesheet [
01c674544bd4c211141bcd9fb09b96ffc18c6c3dnd <!ENTITY nbsp SYSTEM "util/nbsp.xml">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!ENTITY lf SYSTEM "util/lf.xml">
01c674544bd4c211141bcd9fb09b96ffc18c6c3dnd]>
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
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Please, don't hard-code output strings! Use the language -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- files and the translation "stuff"... -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Injected variables: -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- $is-chm - (boolean) target is for CHM generation or not -->
e5343521634b71f10f0e88374d88bd5a45f75f68nd<!-- $is-zip - (boolean) target is for ZIP generation or not -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd<!-- $message - (node-set) localized common text snippets -->
66e48875fca2df6669dab4f2690ee36c6913c0ffnd<!-- $doclang - (string) document language -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- $output-encoding - (string) MIME charset name of the output -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- encoding -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Constants used for case translation -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
bdbf46e4950b6f633073f803486962e82c2f086and
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- space separated list of blockelements defined in common.dtd -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- used for inline content catching in <example>s -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="blockelements">
fffabed77cd6264da64fa3d267243d1d76897049nd p example note table ul ol dl pre highlight img blockquote
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:variable>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- relative path to /manual/ -->
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end<xsl:variable name="metafile" select="document(/*/@metafile)/metafile" />
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end<xsl:variable name="path" select="$metafile/relpath" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- load outsourced page types -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:include href="moduleindex.xsl" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:include href="directiveindex.xsl" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:include href="manualpage.xsl" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:include href="synopsis.xsl" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:include href="sitemap.xsl" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:include href="indexpage.xsl" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:include href="quickreference.xsl" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:include href="faq.xsl" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- load utility snippets -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:include href="util/modtrans.xsl" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- make sure, we set relative anchors only, if we're actually -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- transforming a modulefile (see <directive> template) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="in-modulesynopsis" select="boolean(/modulesynopsis)" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- when referencing to a directory, we may need to complete the path -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- with the index file (for offline applications like *.chm files) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="index-file">
e5343521634b71f10f0e88374d88bd5a45f75f68nd <xsl:if test="$is-chm or $is-zip">index.html</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:variable>
bdbf46e4950b6f633073f803486962e82c2f086and
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- it may be desired to open external targets in a new window -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="ext-target" select="boolean($is-chm)" />
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
11c3b428f0fc9b03f353ed9b66347c5deb567052nd<xsl:template match="/">
11c3b428f0fc9b03f353ed9b66347c5deb567052nd <xsl:if test="not($metafile/@reference)">
11c3b428f0fc9b03f353ed9b66347c5deb567052nd <xsl:message terminate="yes">
11c3b428f0fc9b03f353ed9b66347c5deb567052nd Invalid metafile. Probably your build system is not up-to-date.
11c3b428f0fc9b03f353ed9b66347c5deb567052nd Get a current version and try again.
11c3b428f0fc9b03f353ed9b66347c5deb567052nd </xsl:message>
11c3b428f0fc9b03f353ed9b66347c5deb567052nd </xsl:if>
11c3b428f0fc9b03f353ed9b66347c5deb567052nd <xsl:apply-templates />
11c3b428f0fc9b03f353ed9b66347c5deb567052nd</xsl:template>
11c3b428f0fc9b03f353ed9b66347c5deb567052nd
11c3b428f0fc9b03f353ed9b66347c5deb567052nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- #################################################################### -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Utility templates for constructing pages -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- #################################################################### -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- HTML head -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template name="head">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<head>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- the meta element is necessary for offline handling like CHM -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
e5343521634b71f10f0e88374d88bd5a45f75f68nd <xsl:when test="$is-chm or $is-zip">
bdbf46e4950b6f633073f803486962e82c2f086and <meta http-equiv="Content-Type"
bdbf46e4950b6f633073f803486962e82c2f086and content="text/html; charset={$output-encoding}" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:comment>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> </xsl:text>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:text>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</xsl:text>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:text>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> </xsl:text>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:text>This file is generated from xml source: </xsl:text>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:text>DO NOT EDIT</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> </xsl:text>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:text>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</xsl:text>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:text>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:comment>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>&lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <title>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="name">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:value-of select="name"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:value-of select="title"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:choose>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:text> </xsl:text>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="normalize-space($message[@id='apachetitle'])"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </title>&lf;
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- chm files get a slightly different stylesheet -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="$is-chm">
bdbf46e4950b6f633073f803486962e82c2f086and <link type="text/css" rel="stylesheet" media="all"
bdbf46e4950b6f633073f803486962e82c2f086and href="{$path}/style/css/manual-chm.css" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
e5343521634b71f10f0e88374d88bd5a45f75f68nd <!-- zip packages do also -->
e5343521634b71f10f0e88374d88bd5a45f75f68nd <xsl:when test="$is-zip">
e5343521634b71f10f0e88374d88bd5a45f75f68nd <link title="Main stylesheet" type="text/css" media="all"
e5343521634b71f10f0e88374d88bd5a45f75f68nd rel="stylesheet"
e5343521634b71f10f0e88374d88bd5a45f75f68nd href="{$path}/style/css/manual-zip.css" />&lf;
e5343521634b71f10f0e88374d88bd5a45f75f68nd <link title="No Sidebar - Default font size" type="text/css" media="all"
e5343521634b71f10f0e88374d88bd5a45f75f68nd rel="alternate stylesheet"
e5343521634b71f10f0e88374d88bd5a45f75f68nd href="{$path}/style/css/manual-zip-100pc.css"/>
e5343521634b71f10f0e88374d88bd5a45f75f68nd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
bdbf46e4950b6f633073f803486962e82c2f086and <link title="Main stylesheet" type="text/css" media="all"
bdbf46e4950b6f633073f803486962e82c2f086and rel="stylesheet"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd href="{$path}/style/css/manual.css" />&lf;
bdbf46e4950b6f633073f803486962e82c2f086and <link title="No Sidebar - Default font size" type="text/css" media="all"
bdbf46e4950b6f633073f803486962e82c2f086and rel="alternate stylesheet"
bdbf46e4950b6f633073f803486962e82c2f086and href="{$path}/style/css/manual-loose-100pc.css"/>
0767de1bfa7e1c323b14f839d773902d65611246humbedooh
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>&lf;
d177004a74b061338daf7f2603197d673ed76d36kess
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <link type="text/css" media="print"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd rel="stylesheet"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd href="{$path}/style/css/manual-print.css"/>
0767de1bfa7e1c323b14f839d773902d65611246humbedooh <link href="{$path}/style/css/prettify.css" type="text/css" rel="stylesheet" />&lf;
0767de1bfa7e1c323b14f839d773902d65611246humbedooh <script type="text/javascript" src="{$path}/style/scripts/prettify.js">&lf; </script> &lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- chm files do not need a favicon -->
e5343521634b71f10f0e88374d88bd5a45f75f68nd <xsl:if test="not($is-chm or $is-zip)">&lf;
bdbf46e4950b6f633073f803486962e82c2f086and <link rel="shortcut icon" href="{$path}/images/favicon.ico" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</head>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /head -->
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- page top -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template name="top">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<div id="page-header">&lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="super-menu" />&lf;
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <p class="apache">
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="normalize-space($message
66e48875fca2df6669dab4f2690ee36c6913c0ffnd [@id='apachehttpserver'])"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </p>&lf;
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <img src="{$path}/images/feather.gif" alt="" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</div>&lf; <!-- /page-header -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<div class="up">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="./{$index-file}">
480bee29abcc415b6b8c18d2ecbf2c5f88f1f05bnd <xsl:if test="parentdocument">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="href">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="parentdocument/@href"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="helper.uri.fix">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="uri" select="parentdocument/@href" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:call-template>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd </xsl:if>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <img src="{$path}/images/left.gif" alt="&lt;-" title="&lt;-" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</div>&lf;
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<div id="path">&lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="http://www.apache.org/">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="$ext-target">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="target">_blank</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='apache']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> &gt; </xsl:text>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="http://httpd.apache.org/">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="$ext-target">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="target">_blank</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='http-server']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> &gt; </xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
ba5874d287f4d19d1a336e9195c73de9ab34fa50slive <a href="http://httpd.apache.org/docs/">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="$ext-target">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="target">_blank</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='documentation']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="not(/indexpage)">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> &gt; </xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/{$index-file}">
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='version']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="/modulesynopsis or /directiveindex or /quickreference">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> &gt; </xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="./{$index-file}">
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='modules']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="parentdocument/text()">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> &gt; </xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{parentdocument/@href}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="helper.uri.fix">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="uri" select="parentdocument/@href"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:call-template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="parentdocument"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</div> <!-- /path -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /top -->
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end<!-- ==================================================================== -->
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end<!-- out of date -->
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end<!-- ==================================================================== -->
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end<xsl:template name="outofdate">
66e48875fca2df6669dab4f2690ee36c6913c0ffnd<xsl:if test="$metafile/variants/variant[.=$doclang]/@outdated = 'yes'">
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end &lf;
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <div class="outofdate">
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='outofdate']"/>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end </div>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end</xsl:if>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end</xsl:template>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- page bottom -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template name="bottom">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<xsl:call-template name="langavail">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:with-param name="position" select="'bottom'" />
8cfbcde8e416fd60132dd4324c42a5098da156cfnd</xsl:call-template>
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh<xsl:choose>
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh<xsl:when test="not($is-chm or $is-zip or $metafile/basename = 'index')">
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh<div class="top"><a href="#page-header"><img alt="top" src="{$path}/images/up.gif" /></a></div>
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh<div class="section">
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh<h2><a name="comments_section" id="comments_section"><xsl:value-of select="$message[@id='comments']" /></a></h2>
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh<div class="warning"><strong>This section is experimental!</strong><br/>Comments placed here should not be expected
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedoohto last beyond the testing phase of this system, nor do we in any way guarantee that we'll read them.</div>
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh<div id="disqus_thread"></div>
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh<script type="text/javascript">
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh<xsl:text disable-output-escaping="yes"><![CDATA[<!--//--><![CDATA[//><!--]]></xsl:text>
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedoohvar lang = '<xsl:value-of select="$doclang"/>';<![CDATA[
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedoohvar disqus_shortname = 'httpd';
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedoohvar disqus_identifier = window.location.href.replace(/(current|trunk)/, "2.4").replace(/\/[a-z]{2}\//, "/").replace(window.location.protocol, "http:") + '.' + lang;
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedoohif (disqus_identifier.indexOf("httpd.apache.org") != -1) {
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh (function() {
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh dsq.src = window.location.protocol + '//' + disqus_shortname + '.disqus.com/embed.js';
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh })();
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh} else {
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh var text = document.createTextNode("Comments have been disabled for offline viewing.");
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh document.getElementById('disqus_thread').appendChild(text);
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh}
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh]]><xsl:text disable-output-escaping="yes"><![CDATA[//--><!]]]]>></xsl:text></script>
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh</div>
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh</xsl:when>
1be4d8468446c354f9a3abbdf51c67e25a05d93bhumbedooh</xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<div id="footer">&lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <p class="apache">
5effc8b39fae5cd169d17f342bfc265705840014rbowen <xsl:text>Copyright 2012 The Apache Software Foundation.</xsl:text><br />
4930be147adf9e3f6d3ca9313a6524f9bf654b2dnd <xsl:if test="normalize-space($message[@id='before-license'])">
4930be147adf9e3f6d3ca9313a6524f9bf654b2dnd <xsl:value-of select="$message[@id='before-license']"/>
4930be147adf9e3f6d3ca9313a6524f9bf654b2dnd <xsl:text> </xsl:text>
4930be147adf9e3f6d3ca9313a6524f9bf654b2dnd </xsl:if>
21041d71aa640dca78abab65ea293171b668bc20nd
21041d71aa640dca78abab65ea293171b668bc20nd <a href="http://www.apache.org/licenses/LICENSE-2.0">
21041d71aa640dca78abab65ea293171b668bc20nd <xsl:if test="$ext-target">
21041d71aa640dca78abab65ea293171b668bc20nd <xsl:attribute name="target">_blank</xsl:attribute>
21041d71aa640dca78abab65ea293171b668bc20nd </xsl:if>
21041d71aa640dca78abab65ea293171b668bc20nd <xsl:text>Apache License, Version 2.0</xsl:text>
21041d71aa640dca78abab65ea293171b668bc20nd </a>
4930be147adf9e3f6d3ca9313a6524f9bf654b2dnd <xsl:if test="normalize-space($message[@id='after-license'])">
4930be147adf9e3f6d3ca9313a6524f9bf654b2dnd <xsl:text> </xsl:text>
4930be147adf9e3f6d3ca9313a6524f9bf654b2dnd <xsl:value-of select="$message[@id='after-license']"/>
4930be147adf9e3f6d3ca9313a6524f9bf654b2dnd </xsl:if>
4930be147adf9e3f6d3ca9313a6524f9bf654b2dnd
21041d71aa640dca78abab65ea293171b668bc20nd <xsl:text>.</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </p>&lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="super-menu"/>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</div> <!-- /footer -->
fffabed77cd6264da64fa3d267243d1d76897049nd
3ca4ff52c45f30f2386c79fbe7bcc8d7f873d3bdnd<script type="text/javascript">
3ca4ff52c45f30f2386c79fbe7bcc8d7f873d3bdnd<xsl:text disable-output-escaping="yes"><![CDATA[<!--//--><![CDATA[//><!--]]></xsl:text><![CDATA[
3ca4ff52c45f30f2386c79fbe7bcc8d7f873d3bdndif (typeof(prettyPrint) !== undefined) {
3ca4ff52c45f30f2386c79fbe7bcc8d7f873d3bdnd prettyPrint();
3ca4ff52c45f30f2386c79fbe7bcc8d7f873d3bdnd}
3ca4ff52c45f30f2386c79fbe7bcc8d7f873d3bdnd]]><xsl:text disable-output-escaping="yes"><![CDATA[//--><!]]]]>></xsl:text></script>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /bottom -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<!-- ==================================================================== -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<!-- build an "available languages" section -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<!-- ==================================================================== -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<xsl:template name="langavail">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<xsl:param name="position" select="'top'" />
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
e5343521634b71f10f0e88374d88bd5a45f75f68nd<xsl:if test="not($is-chm or $is-zip)">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<div class="{$position}lang">&lf;
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <p>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <span>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='langavail']" />
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:text>: </xsl:text>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </span>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:for-each select="$metafile/variants/variant">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:sort select="." />
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <a href="{$path}/{.}{$metafile/path}{$metafile/basename}.html">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:if test="$metafile/basename = 'index'">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:attribute name="href">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:value-of
8cfbcde8e416fd60132dd4324c42a5098da156cfnd select="concat($path, '/', ., $metafile/path)" />
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </xsl:attribute>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </xsl:if>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:if test="$doclang != .">
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <xsl:attribute name="hreflang">
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <xsl:value-of select="." />
99e4eb246ec234156eb878835d4e1b4e2f48c499nd </xsl:attribute>
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <xsl:attribute name="rel">alternate</xsl:attribute>
99e4eb246ec234156eb878835d4e1b4e2f48c499nd </xsl:if>
c804424d87da28b21a0eece7e377a4075c7784ednd <xsl:attribute name="title">
61d237f7e3a54089a7514227d663fac296d7d8f0bnicholes <xsl:value-of select="document(concat('/lang/', .,
61d237f7e3a54089a7514227d663fac296d7d8f0bnicholes '.xml'))
61d237f7e3a54089a7514227d663fac296d7d8f0bnicholes /language/messages/message
61d237f7e3a54089a7514227d663fac296d7d8f0bnicholes [@id='nativename']" />
c804424d87da28b21a0eece7e377a4075c7784ednd </xsl:attribute>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
8cfbcde8e416fd60132dd4324c42a5098da156cfnd &nbsp;
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:value-of select="." />
8cfbcde8e416fd60132dd4324c42a5098da156cfnd &nbsp;
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </a>
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <xsl:if test="position() != last()">
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <xsl:text> |&#xA;</xsl:text>
99e4eb246ec234156eb878835d4e1b4e2f48c499nd </xsl:if>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </xsl:for-each>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd </p>&lf;
8cfbcde8e416fd60132dd4324c42a5098da156cfnd</div> <!-- /.{$position}lang -->
951c558544841b7f77eb1618619b531c99c24606nd</xsl:if>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end<xsl:if test="$position = 'top'">
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end <xsl:call-template name="outofdate" />
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end</xsl:if>
f4a6ce7d0d0311e4da2d4df6812263c562a05a3end
8cfbcde8e416fd60132dd4324c42a5098da156cfnd</xsl:template>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<!-- /langavail -->
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Process a documentation section -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="section">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:call-template name="toplink" />&lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<div class="section">&lf;
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- Section heading -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <h2>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="@id">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a id="{@id}" name="{@id}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="title" mode="print" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="title" mode="print" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </h2>
d177004a74b061338daf7f2603197d673ed76d36kess
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <!-- Section body -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</div> <!-- /.section -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /section -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- handle subsections (lower level headings) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="section/section">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Section heading -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<h3>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="@id">
65241490e40aa0c831988073eed0633dad10c6f2nd <a id="{@id}" name="{@id}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="title" mode="print" />
65241490e40aa0c831988073eed0633dad10c6f2nd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
65241490e40aa0c831988073eed0633dad10c6f2nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="title" mode="print" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</h3>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Section body -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:apply-templates />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /section/section -->
65241490e40aa0c831988073eed0633dad10c6f2nd
65241490e40aa0c831988073eed0633dad10c6f2nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- handle subsubsections (h4) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="section/section/section">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Section heading -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<h4>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="@id">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a id="{@id}" name="{@id}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="title" mode="print" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
65241490e40aa0c831988073eed0633dad10c6f2nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="title" mode="print" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</h4>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Section body -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /section/section/section -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- section nesting > h4 is not supported for now -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="section/section/section/section">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:message terminate="yes">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>FATAL: exceeding maximum section nesting level.</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &lf;&lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>Perhaps you should consider to split your document into</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>several ones...</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:message>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /section/section/section/section -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
0767de1bfa7e1c323b14f839d773902d65611246humbedooh<!-- ==================================================================== -->
0767de1bfa7e1c323b14f839d773902d65611246humbedooh<!-- Process source code highlighting -->
0767de1bfa7e1c323b14f839d773902d65611246humbedooh<!-- ==================================================================== -->
0767de1bfa7e1c323b14f839d773902d65611246humbedooh<xsl:template match="highlight">
0767de1bfa7e1c323b14f839d773902d65611246humbedooh<pre class="prettyprint lang-{@language}">
0767de1bfa7e1c323b14f839d773902d65611246humbedooh <!-- highlight body -->
0767de1bfa7e1c323b14f839d773902d65611246humbedooh <xsl:apply-templates />
0767de1bfa7e1c323b14f839d773902d65611246humbedooh</pre>&lf; <!-- /.highlight -->
0767de1bfa7e1c323b14f839d773902d65611246humbedooh</xsl:template>
0767de1bfa7e1c323b14f839d773902d65611246humbedooh<!-- /higlight -->
0767de1bfa7e1c323b14f839d773902d65611246humbedooh
fffabed77cd6264da64fa3d267243d1d76897049nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- (sub)section titles -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="section/title" mode="print">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="section/title" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /section/title -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- generate section index -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="section" mode="index">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<li>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <img src="{$path}/images/down.gif" alt="" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="@id">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="#{@id}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="title" mode="print" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="title" mode="print" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</li>&lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /section index -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- docs super menu -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template name="super-menu">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<p class="menu">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/mod/{$index-file}">
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='modules']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
65241490e40aa0c831988073eed0633dad10c6f2nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
65241490e40aa0c831988073eed0633dad10c6f2nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/mod/directives.html">
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='directives']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
65241490e40aa0c831988073eed0633dad10c6f2nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
d229f940abfb2490dee17979e9a5ff31b7012eb5rbowen <a href="http://wiki.apache.org/httpd/FAQ">
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='faq']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/glossary.html">
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='glossary']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/sitemap.html">
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='sitemap']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</p>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /super-menu -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <example> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- iterate over *all* nodes; bare text and other inline stuff is -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- wrapped into <p><code>, block level elements (defined in -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- $blockelements) are applied "as is" -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="blocks"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd 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"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="boolean(contains($blocks,
7e68fce3cbd2246164e045a51ecd77f9f26680ednd concat(' ', local-name(), ' ')))"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- bb = (number of) blocks nodes before (the current) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="bb"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="count(preceding-sibling::*[
7e68fce3cbd2246164e045a51ecd77f9f26680ednd contains($blocks,
7e68fce3cbd2246164e045a51ecd77f9f26680ednd concat(' ', local-name(), ' '))])" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="$is-block-node or position()=last()">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="content">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- phew. short explanation, what happens here: -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- We want to get the inline stuff between the last -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- block node and the current node. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- So filter all previous nodes for the condition -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- that the number of block nodes of all of *their* -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- previous nodes is >= $bb. Hope that helps ;-) -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="preceding-sibling::node()[
7e68fce3cbd2246164e045a51ecd77f9f26680ednd count(preceding-sibling::*[
7e68fce3cbd2246164e045a51ecd77f9f26680ednd contains($blocks,
7e68fce3cbd2246164e045a51ecd77f9f26680ednd concat(' ', local-name(), ' '))])
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &gt;= $bb]" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="self::node()[not($is-block-node)]" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:variable>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- apply bare text only, if it's not only \s or empty -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="not(normalize-space($content) = '')">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <p><code>
b09970a14a3280b9e4e449dea6e53968fc206731nd <!-- same as $content above. xsl:copy-of seems to make -->
b09970a14a3280b9e4e449dea6e53968fc206731nd <!-- thread problems with xalan-j ... -->
b09970a14a3280b9e4e449dea6e53968fc206731nd <xsl:apply-templates
b09970a14a3280b9e4e449dea6e53968fc206731nd select="preceding-sibling::node()[
b09970a14a3280b9e4e449dea6e53968fc206731nd count(preceding-sibling::*[
b09970a14a3280b9e4e449dea6e53968fc206731nd contains($blocks,
b09970a14a3280b9e4e449dea6e53968fc206731nd concat(' ', local-name(),
b09970a14a3280b9e4e449dea6e53968fc206731nd ' '))])
b09970a14a3280b9e4e449dea6e53968fc206731nd &gt;= $bb]" />
b09970a14a3280b9e4e449dea6e53968fc206731nd
b09970a14a3280b9e4e449dea6e53968fc206731nd <xsl:apply-templates
b09970a14a3280b9e4e449dea6e53968fc206731nd select="self::node()[not($is-block-node)]" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </code></p>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="self::node()[$is-block-node]" />
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:for-each>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- /node() -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</div> <!-- /.example -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /example -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
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<xsl:template match="example/title" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /example/title -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
480bee29abcc415b6b8c18d2ecbf2c5f88f1f05bnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- indentations -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="indent">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<span class="indent">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</span>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /indent -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <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>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</div>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /note -->
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <note><title> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="note/title">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<h3>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</h3>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /note/title -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <directive> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Inserts link to another directive, which might be in another module. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- References are converted into lower case. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="directive" name="directive">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<code class="directive">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="@module">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="lowerdirective"
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="translate(., $uppercase, $lowercase)" />
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="$in-modulesynopsis and @module = /modulesynopsis/name">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <a href="#{$lowerdirective}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@type='section'">&lt;</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="."/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@type='section'">&gt;</xsl:if>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/mod/{@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>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:if test="@type='section'">&lt;</xsl:if>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:value-of select="."/>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:if test="@type='section'">&gt;</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
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<code class="module">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/mod/{.}.html">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:value-of select="."/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</code>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /module -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
8fff30d106ca02816827b4bfb01a93995665f54end<!-- ==================================================================== -->
8fff30d106ca02816827b4bfb01a93995665f54end<!-- <program> -->
8fff30d106ca02816827b4bfb01a93995665f54end<!-- Inserts a link to referred program -->
8fff30d106ca02816827b4bfb01a93995665f54end<!-- ==================================================================== -->
8fff30d106ca02816827b4bfb01a93995665f54end<xsl:template match="program">
8fff30d106ca02816827b4bfb01a93995665f54end<code class="program">
8fff30d106ca02816827b4bfb01a93995665f54end <a href="{$path}/programs/{normalize-space(.)}.html">
8fff30d106ca02816827b4bfb01a93995665f54end <xsl:value-of select="normalize-space(.)" />
8fff30d106ca02816827b4bfb01a93995665f54end </a>
8fff30d106ca02816827b4bfb01a93995665f54end</code>
8fff30d106ca02816827b4bfb01a93995665f54end</xsl:template>
8fff30d106ca02816827b4bfb01a93995665f54end<!-- /program -->
8fff30d106ca02816827b4bfb01a93995665f54end
8fff30d106ca02816827b4bfb01a93995665f54end
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <related> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="related">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<table class="related">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<tr>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <th>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='relatedmodules']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </th>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <th>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='relateddirectives']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </th>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</tr>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<tr>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <td>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="count(modulelist/*) &gt; 0">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <ul>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="modulelist" />
3726777f47ac4bba3e21b075905959bbea47e72eerikabele </ul>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </td>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <td>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="count(directivelist/*) &gt; 0">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <ul>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="directivelist"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </ul>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </td>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</tr>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</table>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /related -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- related/modulelist -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="related/modulelist">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:for-each select="module">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <li>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:call-template name="module"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </li>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:for-each>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /related/modulelist -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- related/directivelist -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="related/directivelist">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:for-each select="directive">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <li>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:call-template name="directive"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </li>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:for-each>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /related/directivelist -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
fd46b0fed4351924170b4db5859dc35b771ee16dnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <table> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="table">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<table>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- existing border attribute will result in <table class="bordered"> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@border">
480bee29abcc415b6b8c18d2ecbf2c5f88f1f05bnd <xsl:attribute name="class">bordered</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="@style = 'zebra'">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:apply-templates select="tr" mode="zebra-table" />
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:when>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:when test="@style = 'data'">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:apply-templates select="tr" mode="data-table" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</table>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /table -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- data-table -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<xsl:template match="tr" mode="data-table">
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- style="data": fixed font, padding-left and right alignment for <td>s -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<xsl:variable name="cross-table" select="boolean(
fd46b0fed4351924170b4db5859dc35b771ee16dnd preceding-sibling::tr/th[1]|following-sibling::tr/th[1])" />
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd<tr>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:for-each select="node()">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:choose>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:when test="local-name() = 'td'">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <td class="data">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:apply-templates select="*|@*|text()" />
fd46b0fed4351924170b4db5859dc35b771ee16dnd </td>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:when>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:when test="local-name() = 'th' and
fd46b0fed4351924170b4db5859dc35b771ee16dnd (not($cross-table) or
fd46b0fed4351924170b4db5859dc35b771ee16dnd count(preceding-sibling::*) &gt; 0)">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <th class="data">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:apply-templates select="*|@*|text()" />
fd46b0fed4351924170b4db5859dc35b771ee16dnd </th>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:when>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:otherwise>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:apply-templates select="self::node()" />
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:otherwise>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:choose>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:for-each>
fd46b0fed4351924170b4db5859dc35b771ee16dnd</tr>&lf;
fd46b0fed4351924170b4db5859dc35b771ee16dnd</xsl:template>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- zebra-table -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<xsl:template match="tr" mode="zebra-table">
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- style="zebra": alternating colors per row, i.e. every second row -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- gets a class="odd". Header lines (no <td>) get a -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- class="header". These lines will be excluded from -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- the "odd" line count. That way header lines act -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- interjectional, which creates a better visual and -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- psychological effect. -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd<tr>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:choose>
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:when test="count(td) = 0">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:attribute name="class">header</xsl:attribute>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:when>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:when test="position() mod 2 = (count(preceding-sibling::tr[count(td) = 0]) mod 2)">
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:attribute name="class">odd</xsl:attribute>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:when>
fd46b0fed4351924170b4db5859dc35b771ee16dnd </xsl:choose>
fd46b0fed4351924170b4db5859dc35b771ee16dnd
fd46b0fed4351924170b4db5859dc35b771ee16dnd <xsl:apply-templates />
fd46b0fed4351924170b4db5859dc35b771ee16dnd</tr>&lf;
fd46b0fed4351924170b4db5859dc35b771ee16dnd</xsl:template>
fd46b0fed4351924170b4db5859dc35b771ee16dnd<!-- /zebra-table -->
fd46b0fed4351924170b4db5859dc35b771ee16dnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <ol> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="ol">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<ol>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- A. B. C. D. (list-style-type="upper-alpha") -->
acc36ab93565d2880447d535da6ca6e5feac7a70nd <xsl:choose>
acc36ab93565d2880447d535da6ca6e5feac7a70nd <xsl:when test="@type = 'A'">
480bee29abcc415b6b8c18d2ecbf2c5f88f1f05bnd <xsl:attribute name="class">up-A</xsl:attribute>
acc36ab93565d2880447d535da6ca6e5feac7a70nd </xsl:when>
acc36ab93565d2880447d535da6ca6e5feac7a70nd <xsl:when test="@type = 'a'">
acc36ab93565d2880447d535da6ca6e5feac7a70nd <xsl:attribute name="class">lo-A</xsl:attribute>
acc36ab93565d2880447d535da6ca6e5feac7a70nd </xsl:when>
acc36ab93565d2880447d535da6ca6e5feac7a70nd </xsl:choose>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</ol>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /ol -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- diverse elements -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Passes through content -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="summary|description|usage|syntax|default">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:apply-templates/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /diverse -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <a> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="a">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:when test="not(@href)">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:copy>
bdbf46e4950b6f633073f803486962e82c2f086and <xsl:apply-templates select="@*|*|text()"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:copy>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="@href">
bdbf46e4950b6f633073f803486962e82c2f086and <xsl:apply-templates select="@*"/>
bdbf46e4950b6f633073f803486962e82c2f086and <xsl:call-template name="helper.uri.fix">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="uri" select="@href"/>
bdbf46e4950b6f633073f803486962e82c2f086and </xsl:call-template>
bdbf46e4950b6f633073f803486962e82c2f086and
bdbf46e4950b6f633073f803486962e82c2f086and <xsl:apply-templates select="*|text()"/>
4e5d76cd516a36223b6e73a8000c879a5675e436nd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /a -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- toplink -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
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<!-- translator's notes are displayed in a different color -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="transnote">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<span class="transnote">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>(</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <em>
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:value-of select="$message[@id='transnote']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </em>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>)</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</span>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /transnote -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- ==================================================================== -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- <phonetic> -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- phonetics are enclosed in square brackets and displayed in a -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- different color -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- ==================================================================== -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<xsl:template match="phonetic">
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<span class="phonetic">
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess <xsl:text>[</xsl:text>
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess <xsl:apply-templates />
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess <xsl:text>]</xsl:text>
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess</span>
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess</xsl:template>
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- /phonetic -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- ==================================================================== -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- <glossary> -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- link to a glossary anchor -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- ==================================================================== -->
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<xsl:template match="glossary">
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive <xsl:variable name="glosslink">
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive <xsl:choose>
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive <xsl:when test="@ref">
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive <xsl:value-of select="@ref"/>
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive </xsl:when>
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive <xsl:otherwise>
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive <xsl:value-of select="translate(., $uppercase, $lowercase)"/>
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive </xsl:otherwise>
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive </xsl:choose>
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive </xsl:variable>
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive <a href="{$path}/glossary.html#{$glosslink}" class="glossarylink">
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive <xsl:attribute name="title">
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess <xsl:value-of select="$message[@id='glossarylink']" />
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive </xsl:attribute>
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive <xsl:apply-templates />
72615c84d57d1f03b8ca2bc8aa3d2e82d3b30eb0slive </a>
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess</xsl:template>
3c185a8e451791a511a1ad5e36ee0fd863f47e6ckess<!-- /glossary -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Filter &#160; in text() nodes. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- In some environments this character won't be transformed correctly, -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- so we just write it explicitely as "&nbsp;" into the output. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="text()" name="filter.nbsp">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:param name="text" select="." />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:when test="contains($text, '&#160;')">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="substring-before($text, '&#160;')" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &nbsp;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="filter.nbsp">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="text" select="substring-after($text, '&#160;')" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:call-template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$text" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /filter.nbsp -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- Process everything else by just passing it through -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="*">
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:message terminate="yes">
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd <xsl:text>Unknown element: </xsl:text>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd <xsl:value-of select="local-name()" />&lf;
66e48875fca2df6669dab4f2690ee36c6913c0ffnd <xsl:text>Is the document valid (try `build validate-xml`)?</xsl:text>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd</xsl:message>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd</xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="@*">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:copy>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="*|@*|text()" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:copy>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="br"><br /></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="tr"><tr><xsl:apply-templates select="*|@*|text()" /></tr></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="th"><th><xsl:apply-templates select="*|@*|text()" /></th></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="td"><td><xsl:apply-templates select="*|@*|text()" /></td></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="p"><p><xsl:apply-templates select="*|@*|text()" /></p></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="ul"><ul><xsl:apply-templates select="*|@*|text()" /></ul></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="li"><li><xsl:apply-templates select="*|@*|text()" /></li></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="dl"><dl><xsl:apply-templates select="*|@*|text()" /></dl></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="dt"><dt><xsl:apply-templates select="*|@*|text()" /></dt></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="dd"><dd><xsl:apply-templates select="*|@*|text()" /></dd></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="em"><em><xsl:apply-templates select="*|@*|text()" /></em></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="strong"><strong><xsl:apply-templates select="*|@*|text()" /></strong></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="pre"><pre><xsl:apply-templates select="*|@*|text()" /></pre></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="code"><code><xsl:apply-templates select="*|@*|text()" /></code></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="var"><var><xsl:apply-templates select="*|@*|text()" /></var></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="dfn"><dfn><xsl:apply-templates select="*|@*|text()" /></dfn></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="blockquote"><blockquote><xsl:apply-templates select="*|@*|text()" /></blockquote></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="q"><q><xsl:apply-templates select="*|@*|text()" /></q></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="cite"><cite><xsl:apply-templates select="*|@*|text()" /></cite></xsl:template>
ab3f278fbf670b521b2e7fd6fe93732059e2bf24nd<xsl:template match="img"><img><xsl:apply-templates select="*|@*|text()" /></img></xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /pass through -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- create a letter bar -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template name="letter-bar">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:param name="letters" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:param name="first" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:if test="not($first)">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<a href="#{substring($letters,1,1)}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &nbsp;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="substring($letters, 1, 1)" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &nbsp;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:if test="string-length($letters) &gt; 1">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="letter-bar">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="letters" select="substring($letters, 2)" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="first" select="false()" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:call-template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /letter-bar -->
4e5d76cd516a36223b6e73a8000c879a5675e436nd
4e5d76cd516a36223b6e73a8000c879a5675e436nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- template(s) for collecting all start letters of directives -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template name="directive-startletters">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:param name="directives" />
4e5d76cd516a36223b6e73a8000c879a5675e436nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:call-template name="_squeeze-letters">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="lastletter" select="''" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:with-param name="letters">
8a72c24379e10c3f3d0dfe352bf15e45ee65c179nd <xsl:for-each select="$directives">
4e5d76cd516a36223b6e73a8000c879a5675e436nd <xsl:sort select="name"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of
7e68fce3cbd2246164e045a51ecd77f9f26680ednd select="translate(substring(normalize-space(name), 1, 1),
7e68fce3cbd2246164e045a51ecd77f9f26680ednd $lowercase, $uppercase)" />
4e5d76cd516a36223b6e73a8000c879a5675e436nd </xsl:for-each>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:with-param>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:call-template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /directive-startletters -->
4e5d76cd516a36223b6e73a8000c879a5675e436nd
d177004a74b061338daf7f2603197d673ed76d36kess
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- squeeze subsequent letters in a string -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template name="_squeeze-letters">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:param name="letters"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:param name="lastletter"/>
4e5d76cd516a36223b6e73a8000c879a5675e436nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="current" select="substring($letters, 1, 1)" />
4e5d76cd516a36223b6e73a8000c879a5675e436nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:if test="not($lastletter = $current)">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$current" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:if>
d177004a74b061338daf7f2603197d673ed76d36kess
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)" />
4e5d76cd516a36223b6e73a8000c879a5675e436nd <xsl:with-param name="lastletter" select="$current"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:call-template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /_squeeze-letters -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- fix href and target attribute of an element. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template name="helper.uri.fix">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:param name="uri"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- lame is_absolute_uri test -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:when test=" contains($uri, ':')
7e68fce3cbd2246164e045a51ecd77f9f26680ednd and string-length(substring-before($uri, ':')) &lt; 7">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="$ext-target">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="target">_blank</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="fragment">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="contains($uri, '#')">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="concat('#', substring-after($uri, '#'))"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:variable>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:variable name="absuri">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="contains($uri, '#')">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="concat('#', substring-before($uri, '#'))"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$uri"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:variable>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="substring($absuri, string-length($uri), 1) = '/'">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="href">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="concat($absuri, $index-file, $fragment)"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:attribute>
4e5d76cd516a36223b6e73a8000c879a5675e436nd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /helper.uri.fix -->
4e5d76cd516a36223b6e73a8000c879a5675e436nd
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive<!-- ==================================================================== -->
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive<!-- Ignore table hints used for latex -->
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive<!-- ==================================================================== -->
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive<xsl:template match="columnspec">
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive</xsl:template>
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive<xsl:template match="column">
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive</xsl:template>
04ff03c2d7e0ff45ee181eb1fa5bf7649ffcf6bfslive
01c674544bd4c211141bcd9fb09b96ffc18c6c3dnd</xsl:stylesheet>