common.xsl revision 3fa58e00171aebf3b2cfa90035ed530f5b1f651d
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<?xml version="1.0"?><!--
7e68fce3cbd2246164e045a51ecd77f9f26680ednd/* ====================================================================
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * The Apache Software License, Version 1.1
7e68fce3cbd2246164e045a51ecd77f9f26680ednd *
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * reserved.
7e68fce3cbd2246164e045a51ecd77f9f26680ednd *
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * Redistribution and use in source and binary forms, with or without
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * modification, are permitted provided that the following conditions
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * are met:
7e68fce3cbd2246164e045a51ecd77f9f26680ednd *
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * 1. Redistributions of source code must retain the above copyright
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * notice, this list of conditions and the following disclaimer.
7e68fce3cbd2246164e045a51ecd77f9f26680ednd *
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * 2. Redistributions in binary form must reproduce the above copyright
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * notice, this list of conditions and the following disclaimer in
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * the documentation and/or other materials provided with the
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * distribution.
7e68fce3cbd2246164e045a51ecd77f9f26680ednd *
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * 3. The end-user documentation included with the redistribution,
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * if any, must include the following acknowledgment:
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * "This product includes software developed by the
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * Apache Software Foundation (http://www.apache.org/)."
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * Alternately, this acknowledgment may appear in the software itself,
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * if and wherever such third-party acknowledgments normally appear.
7e68fce3cbd2246164e045a51ecd77f9f26680ednd *
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * 4. The names "Apache" and "Apache Software Foundation" must
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * not be used to endorse or promote products derived from this
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * software without prior written permission. For written
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * permission, please contact apache@apache.org.
7e68fce3cbd2246164e045a51ecd77f9f26680ednd *
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * 5. Products derived from this software may not be called "Apache",
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * nor may "Apache" appear in their name, without prior written
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * permission of the Apache Software Foundation.
7e68fce3cbd2246164e045a51ecd77f9f26680ednd *
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * SUCH DAMAGE.
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * ====================================================================
7e68fce3cbd2246164e045a51ecd77f9f26680ednd *
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * This software consists of voluntary contributions made by many
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * individuals on behalf of the Apache Software Foundation. For more
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * information on the Apache Software Foundation, please see
7e68fce3cbd2246164e045a51ecd77f9f26680ednd * <http://www.apache.org/>.
7e68fce3cbd2246164e045a51ecd77f9f26680ednd */ -->
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 -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- $messages - (node-set) localized common text snippets -->
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">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd p example note table ul ol dl pre img blockquote
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:variable>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- relative path to /manual/ -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:variable name="path" select="document(/*/@metafile)/metafile/relpath" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- load outsourced page types -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:include href="moduleindex.xsl" />
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
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>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>This file is generated from xml source: DO NOT EDIT</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd &lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</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>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:value-of select="$messages/message[@name='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"/>
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"/>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
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">
3726777f47ac4bba3e21b075905959bbea47e72eerikabele <xsl:value-of select="$messages/message[@name='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>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='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>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='http-server']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> &gt; </xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="http://httpd.apache.org/docs-project/">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="$ext-target">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="target">_blank</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='documentation']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="not(/indexpage)">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> &gt; </xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/{$index-file}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='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}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='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
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>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<div id="footer">&lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <p class="apache">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='maintainedby']"/>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> </xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="http://httpd.apache.org/docs-project/">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="$ext-target">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="target">_blank</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text>Apache HTTP Server Documentation Project</xsl:text>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </p>&lf;
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:call-template name="super-menu"/>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</div> <!-- /footer -->
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<xsl:variable name="metafile" select="document(/*/@metafile)/metafile" />
8cfbcde8e416fd60132dd4324c42a5098da156cfnd
e5343521634b71f10f0e88374d88bd5a45f75f68nd<xsl:if test="not($is-chm or $is-zip)">
8cfbcde8e416fd60132dd4324c42a5098da156cfnd<div class="{$position}lang">&lf;
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <p>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <span>
8cfbcde8e416fd60132dd4324c42a5098da156cfnd <xsl:value-of select="$messages/message[@name='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>
99e4eb246ec234156eb878835d4e1b4e2f48c499nd <xsl:if test="$messages/@lang != .">
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">
c804424d87da28b21a0eece7e377a4075c7784ednd <xsl:choose>
c804424d87da28b21a0eece7e377a4075c7784ednd <xsl:when test=". != 'fr'"> <!-- no language file avail. -->
c804424d87da28b21a0eece7e377a4075c7784ednd <xsl:value-of select="document(concat('/lang/', ., '.xml'))
c804424d87da28b21a0eece7e377a4075c7784ednd /messages/@langname" />
c804424d87da28b21a0eece7e377a4075c7784ednd </xsl:when>
c804424d87da28b21a0eece7e377a4075c7784ednd <xsl:otherwise>
c804424d87da28b21a0eece7e377a4075c7784ednd <xsl:text>Fran&#231;ais</xsl:text>
c804424d87da28b21a0eece7e377a4075c7784ednd </xsl:otherwise>
c804424d87da28b21a0eece7e377a4075c7784ednd </xsl:choose>
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>
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
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}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='modules']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
65241490e40aa0c831988073eed0633dad10c6f2nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
65241490e40aa0c831988073eed0633dad10c6f2nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/mod/directives.html">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='directives']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
65241490e40aa0c831988073eed0633dad10c6f2nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/faq/{$index-file}">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='faq']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/glossary.html">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='glossary']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </a>
3726777f47ac4bba3e21b075905959bbea47e72eerikabele
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:text> | </xsl:text>
d3cd98e7839dd1c737c18d42a916ed20860a50e1nd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <a href="{$path}/sitemap.html">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='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
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <related> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="related">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<table class="related">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<tr>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <th>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='relatedmodules']" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </th>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <th>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='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
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 <!-- style="zebra": alternating colors per row, i.e. every second row -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- gets a class="odd". Header lines (no <td>) get a -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- class="header". These lines will be excluded from -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- the "odd" line count. That way header lines act -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- interjectional, which creates a better visual and -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- psychological effect. -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="@style = 'zebra'">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:for-each select="tr">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <tr>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when test="count(td) = 0">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="class">header</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:when
7e68fce3cbd2246164e045a51ecd77f9f26680ednd test="position() mod 2 =
7e68fce3cbd2246164e045a51ecd77f9f26680ednd (count(preceding-sibling::*[count(td) = 0]) mod 2)">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:attribute name="class">odd</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </tr>&lf;
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:for-each>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:when>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:otherwise>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:choose>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</table>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:template>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- /table -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- <ol> -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="ol">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<ol>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <!-- A. B. C. D. (list-style-type="upper-alpha") -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:if test="@type = 'A'">
480bee29abcc415b6b8c18d2ecbf2c5f88f1f05bnd <xsl:attribute name="class">up-A</xsl:attribute>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd </xsl:if>
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>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:value-of select="$messages/message[@name='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
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<!-- ==================================================================== -->
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:template match="*|@*">
7e68fce3cbd2246164e045a51ecd77f9f26680ednd<xsl:copy>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd <xsl:apply-templates select="*|@*|text()" />
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</xsl:copy>
7e68fce3cbd2246164e045a51ecd77f9f26680ednd</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
01c674544bd4c211141bcd9fb09b96ffc18c6c3dnd</xsl:stylesheet>