-<?xml version="1.0"?>
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp SYSTEM "util/nbsp.xml">
+ <!ENTITY lf SYSTEM "util/lf.xml">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
- <!-- -->
- <!-- Please, don't hard-code output strings! Use the language -->
- <!-- files and the translation "stuff"... -->
- <!-- -->
+<!-- -->
+<!-- Please, don't hard-code output strings! Use the language -->
+<!-- files and the translation "stuff"... -->
+<!-- -->
- <!-- Constants used for case translation -->
- <xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
- <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
+<!-- Injected variables: -->
+<!-- $is-chm - (boolean) target is for CHM generation or not -->
+<!-- $messages - (node-set) localized common text snippets -->
+<!-- $output-encoding - (string) MIME charset name of the output -->
+<!-- encoding -->
- <!--
- space separated list of blockelements defined in common.dtd
- used for inline content catching in <example>s
- -->
- <xsl:variable name="blockelements">
- p example note table ul ol dl pre img blockquote
- </xsl:variable>
-
- <!-- relative path to /manual/ -->
- <xsl:variable name="path" select="document(/*/@metafile)/metafile/relpath" />
-
- <!-- load outsourced page types -->
- <xsl:include href="moduleindex.xsl"/>
- <xsl:include href="directiveindex.xsl"/>
- <xsl:include href="manualpage.xsl"/>
- <xsl:include href="synopsis.xsl"/>
- <xsl:include href="sitemap.xsl"/>
- <xsl:include href="indexpage.xsl"/>
- <xsl:include href="quickreference.xsl"/>
- <xsl:include href="faq.xsl"/>
-
- <xsl:include href="util/modtrans.xsl"/>
+<!-- Constants used for case translation -->
+<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
+<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
- <!-- make sure, we set relative anchors
- only, if we're actually transforming
- a modulefile (see <directive>) -->
- <xsl:variable name="in-modulesynopsis"><xsl:choose>
- <xsl:when test="/quickreference">0</xsl:when>
-
- <xsl:otherwise>1</xsl:otherwise></xsl:choose>
- </xsl:variable>
-
- <xsl:variable name="index-file">
+<!-- space separated list of blockelements defined in common.dtd -->
+<!-- used for inline content catching in <example>s -->
+<xsl:variable name="blockelements">
+ p example note table ul ol dl pre img blockquote
+</xsl:variable>
+
+<!-- relative path to /manual/ -->
+<xsl:variable name="path" select="document(/*/@metafile)/metafile/relpath" />
+
+<!-- load outsourced page types -->
+<xsl:include href="moduleindex.xsl" />
+<xsl:include href="directiveindex.xsl" />
+<xsl:include href="manualpage.xsl" />
+<xsl:include href="synopsis.xsl" />
+<xsl:include href="sitemap.xsl" />
+<xsl:include href="indexpage.xsl" />
+<xsl:include href="quickreference.xsl" />
+<xsl:include href="faq.xsl" />
+
+<!-- load utility snippets -->
+<xsl:include href="util/modtrans.xsl" />
+
+<!-- make sure, we set relative anchors only, if we're actually -->
+<!-- transforming a modulefile (see <directive> template) -->
+<xsl:variable name="in-modulesynopsis" select="boolean(/modulesynopsis)" />
+
+<!-- when referencing to a directory, we may need to complete the path -->
+<!-- with the index file (for offline applications like *.chm files) -->
+<xsl:variable name="index-file">
<xsl:if test="$is-chm">index.html</xsl:if>
- </xsl:variable>
- <xsl:variable name="ext-target">
- <xsl:if test="$is-chm">1</xsl:if>
- </xsl:variable>
-
- <xsl:template name="helper.uri.fix">
- <xsl:param name="uri"/>
- <xsl:choose>
- <!-- lame is_absolute_uri test -->
- <xsl:when test=" contains($uri, ':')
- and string-length(substring-before($uri, ':')) < 7">
- <xsl:if test="$ext-target = '1'">
- <xsl:attribute name="target">_blank</xsl:attribute>
- </xsl:if>
- </xsl:when>
-
- <xsl:otherwise>
- <xsl:variable name="fragment">
- <xsl:if test="contains($uri, '#')"><xsl:value-of select="concat('#', substring-after($uri, '#'))"/></xsl:if>
- </xsl:variable>
- <xsl:variable name="absuri">
- <xsl:if test="contains($uri, '#')"><xsl:value-of select="concat('#', substring-before($uri, '#'))"/></xsl:if>
- <xsl:if test="not(contains($uri, '#'))"><xsl:value-of select="$uri"/></xsl:if>
- </xsl:variable>
-
- <xsl:if test="substring($absuri, string-length($uri), 1) = '/'">
- <xsl:attribute name="href">
- <xsl:value-of select="concat($absuri, $index-file, $fragment)"/>
- </xsl:attribute>
- </xsl:if>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
+</xsl:variable>
- <!-- -->
- <!-- Utility templates for constructing pages -->
- <!-- -->
+<!-- it may be desired to open external targets in a new window -->
+<xsl:variable name="ext-target" select="boolean($is-chm)" />
+<!-- #################################################################### -->
+<!-- Utility templates for constructing pages -->
+<!-- #################################################################### -->
- <!-- -->
- <!-- HTML head -->
- <!-- -->
- <xsl:template name="head">
- <head>
- <xsl:if test="$is-chm">
+<!-- ==================================================================== -->
+<!-- HTML head -->
+<!-- ==================================================================== -->
+<xsl:template name="head">
+<head>
+ <!-- the meta element is necessary for offline handling like CHM -->
+ <xsl:choose>
+ <xsl:when test="$is-chm">
<meta http-equiv="Content-Type"
content="text/html; charset={$output-encoding}" />
- </xsl:if>
-
- <xsl:comment>
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- This file is generated from xml source: DO NOT EDIT
- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- </xsl:comment>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <title>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:comment>
+ &lf;
+ <xsl:text> </xsl:text>
+ <xsl:text>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</xsl:text>
+ &lf;
+ <xsl:text> </xsl:text>
+ <xsl:text>This file is generated from xml source: DO NOT EDIT</xsl:text>
+ &lf;
+ <xsl:text> </xsl:text>
+ <xsl:text>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</xsl:text>
+ &lf;
+ <xsl:text> </xsl:text>
+ </xsl:comment>
+ </xsl:otherwise>
+ </xsl:choose>&lf;
+
+ <title>
<xsl:choose>
- <xsl:when test="name">
+ <xsl:when test="name">
<xsl:value-of select="name"/>
- </xsl:when>
+ </xsl:when>
- <xsl:otherwise>
+ <xsl:otherwise>
<xsl:value-of select="title"/>
- </xsl:otherwise>
+ </xsl:otherwise>
</xsl:choose>
<xsl:text> </xsl:text>
<xsl:value-of select="$messages/message[@name='apachetitle']"/>
- </title>
+ </title>&lf;
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:if test="$is-chm">
+ <!-- chm files get a slightly different stylesheet -->
+ <xsl:choose>
+ <xsl:when test="$is-chm">
<link type="text/css" rel="stylesheet" media="all"
href="{$path}/style/css/manual-chm.css" />
- </xsl:if>
-
- <xsl:if test="not($is-chm)">
+ </xsl:when>
+ <xsl:otherwise>
<link title="Main stylesheet" type="text/css" media="all"
rel="stylesheet"
- href="{$path}/style/css/manual.css" />
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
+ href="{$path}/style/css/manual.css" />&lf;
<link title="No Sidebar - Default font size" type="text/css" media="all"
rel="alternate stylesheet"
href="{$path}/style/css/manual-loose-100pc.css"/>
- </xsl:if> <!-- /!is-chm -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <link type="text/css" media="print"
- rel="stylesheet"
- href="{$path}/style/css/manual-print.css"/>
+ </xsl:otherwise>
+ </xsl:choose>&lf;
- <xsl:if test="not($is-chm)">
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <link type="text/css" media="print"
+ rel="stylesheet"
+ href="{$path}/style/css/manual-print.css"/>
+ <!-- chm files do not need a favicon -->
+ <xsl:if test="not($is-chm)">&lf;
<link rel="shortcut icon" href="{$path}/images/favicon.ico" />
- </xsl:if>
-
- </head>
- </xsl:template>
- <!-- /head -->
-
- <!-- -->
- <!-- page top -->
- <!-- -->
- <xsl:template name="top">
- <div id="page-header">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ </xsl:if>
+</head>
+</xsl:template>
+<!-- /head -->
- <xsl:call-template name="super-menu" />
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+<!-- ==================================================================== -->
+<!-- page top -->
+<!-- ==================================================================== -->
+<xsl:template name="top">
+<div id="page-header">&lf;
+ <xsl:call-template name="super-menu" />&lf;
- <p class="apache">
+ <p class="apache">
<xsl:value-of select="$messages/message[@name='apachehttpserver']"/>
- </p>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ </p>&lf;
- <img src="{$path}/images/feather.gif" alt="" />
- </div> <!-- /page-header -->
+ <img src="{$path}/images/feather.gif" alt="" />
+</div>&lf; <!-- /page-header -->
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <div class="up">
- <a href="./{$index-file}">
+<div class="up">
+ <a href="./{$index-file}">
<xsl:if test="parentdocument">
- <xsl:attribute name="href"><xsl:value-of select="parentdocument/@href"/></xsl:attribute>
- <xsl:call-template name="helper.uri.fix">
- <xsl:with-param name="uri" select="parentdocument/@href"/>
- </xsl:call-template>
- </xsl:if>
- <img src="{$path}/images/left.gif" alt="<-" title="<-" />
- </a>
- </div>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <div id="path">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <a href="http://www.apache.org/">
- <xsl:if test="$ext-target = '1'"><xsl:attribute name="target">_blank</xsl:attribute></xsl:if>
- <xsl:value-of select="$messages/message[@name='apache']"/>
- </a>
- <xsl:text> > </xsl:text>
- <a href="http://httpd.apache.org/">
- <xsl:if test="$ext-target = '1'"><xsl:attribute name="target">_blank</xsl:attribute></xsl:if>
- <xsl:value-of select="$messages/message[@name='http-server']"/>
- </a>
- <xsl:text> > </xsl:text>
- <a href="http://httpd.apache.org/docs-project/">
- <xsl:if test="$ext-target = '1'"><xsl:attribute name="target">_blank</xsl:attribute></xsl:if>
- <xsl:value-of select="$messages/message[@name='documentation']"/>
- </a>
- <xsl:if test="not(../indexpage)">
- <xsl:text> > </xsl:text>
- <a href="{$path}/{$index-file}">
- <xsl:value-of select="$messages/message[@name='version']"/>
- </a>
- </xsl:if>
- <xsl:if test="../modulesynopsis or ../directiveindex or ../quickreference">
- <xsl:text> > </xsl:text>
- <a href="./{$index-file}">
- <xsl:value-of select="$messages/message[@name='modules']"/>
- </a>
- </xsl:if>
- <xsl:if test="parentdocument/text()">
- <xsl:text> > </xsl:text>
- <a href="{parentdocument/@href}">
- <xsl:call-template name="helper.uri.fix">
- <xsl:with-param name="uri" select="parentdocument/@href"/>
- </xsl:call-template>
- <xsl:value-of select="parentdocument"/>
- </a>
+ <xsl:attribute name="href">
+ <xsl:value-of select="parentdocument/@href"/>
+ </xsl:attribute>
+
+ <xsl:call-template name="helper.uri.fix">
+ <xsl:with-param name="uri" select="parentdocument/@href" />
+ </xsl:call-template>
</xsl:if>
- </div> <!-- /path -->
- </xsl:template>
- <!-- /top -->
+ <img src="{$path}/images/left.gif" alt="<-" title="<-" />
+ </a>
+</div>&lf;
- <!-- -->
- <!-- page bottom -->
- <!-- -->
- <xsl:template name="bottom">
- <div id="footer">
+<div id="path">&lf;
+ <a href="http://www.apache.org/">
+ <xsl:if test="$ext-target">
+ <xsl:attribute name="target">_blank</xsl:attribute>
+ </xsl:if>
+ <xsl:value-of select="$messages/message[@name='apache']" />
+ </a>
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <xsl:text> > </xsl:text>
- <p class="apache">
- <xsl:value-of select="$messages/message[@name='maintainedby']"/>
- <xsl:text> </xsl:text>
- <a href="http://httpd.apache.org/docs-project/">
- <xsl:if test="$ext-target = '1'"><xsl:attribute name="target">_blank</xsl:attribute></xsl:if>
- <xsl:text>Apache HTTP Server Documentation Project</xsl:text>
- </a>
- </p>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <a href="http://httpd.apache.org/">
+ <xsl:if test="$ext-target">
+ <xsl:attribute name="target">_blank</xsl:attribute>
+ </xsl:if>
+ <xsl:value-of select="$messages/message[@name='http-server']" />
+ </a>
- <xsl:call-template name="super-menu"/>
+ <xsl:text> > </xsl:text>
- </div> <!-- /footer -->
- </xsl:template>
- <!-- /bottom -->
+ <a href="http://httpd.apache.org/docs-project/">
+ <xsl:if test="$ext-target">
+ <xsl:attribute name="target">_blank</xsl:attribute>
+ </xsl:if>
+ <xsl:value-of select="$messages/message[@name='documentation']" />
+ </a>
+ <xsl:if test="not(../indexpage)">
+ <xsl:text> > </xsl:text>
- <!-- -->
- <!-- Process a documentation section -->
- <!-- -->
- <xsl:template match="section">
+ <a href="{$path}/{$index-file}">
+ <xsl:value-of select="$messages/message[@name='version']"/>
+ </a>
+ </xsl:if>
- <xsl:call-template name="toplink"/>
+ <xsl:if test="../modulesynopsis or ../directiveindex or ../quickreference">
+ <xsl:text> > </xsl:text>
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <a href="./{$index-file}">
+ <xsl:value-of select="$messages/message[@name='modules']"/>
+ </a>
+ </xsl:if>
- <div class="section">
+ <xsl:if test="parentdocument/text()">
+ <xsl:text> > </xsl:text>
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <a href="{parentdocument/@href}">
+ <xsl:call-template name="helper.uri.fix">
+ <xsl:with-param name="uri" select="parentdocument/@href"/>
+ </xsl:call-template>
+ <xsl:value-of select="parentdocument"/>
+ </a>
+ </xsl:if>
+</div> <!-- /path -->
+</xsl:template>
+<!-- /top -->
- <!-- Section heading -->
- <h2>
- <xsl:if test="@id">
- <a id="{@id}" name="{@id}">
- <xsl:apply-templates select="title" mode="print"/>
- </a>
- </xsl:if>
- <xsl:if test="not(@id)">
- <xsl:apply-templates select="title" mode="print"/>
- </xsl:if>
- </h2>
+<!-- ==================================================================== -->
+<!-- page bottom -->
+<!-- ==================================================================== -->
+<xsl:template name="bottom">
+<div id="footer">&lf;
+ <p class="apache">
+ <xsl:value-of select="$messages/message[@name='maintainedby']"/>
+ <xsl:text> </xsl:text>
+ <a href="http://httpd.apache.org/docs-project/">
+ <xsl:if test="$ext-target">
+ <xsl:attribute name="target">_blank</xsl:attribute>
+ </xsl:if>
+ <xsl:text>Apache HTTP Server Documentation Project</xsl:text>
+ </a>
+ </p>&lf;
- <!-- Section body -->
- <xsl:apply-templates/>
+ <xsl:call-template name="super-menu"/>
- </div> <!-- /.section -->
- </xsl:template>
- <!-- /section -->
+</div> <!-- /footer -->
+</xsl:template>
+<!-- /bottom -->
- <!-- -->
- <!-- handle subsections (lower level headings) -->
- <!-- -->
- <xsl:template match="section/section">
+<!-- ==================================================================== -->
+<!-- Process a documentation section -->
+<!-- ==================================================================== -->
+<xsl:template match="section">
+<xsl:call-template name="toplink" />&lf;
+<div class="section">&lf;
<!-- Section heading -->
- <h3>
- <xsl:if test="@id">
- <a id="{@id}" name="{@id}">
- <xsl:apply-templates select="title" mode="print"/>
- </a>
- </xsl:if>
+ <h2>
+ <xsl:choose>
+ <xsl:when test="@id">
+ <a id="{@id}" name="{@id}">
+ <xsl:apply-templates select="title" mode="print" />
+ </a>
+ </xsl:when>
- <xsl:if test="not(@id)">
- <xsl:apply-templates select="title" mode="print"/>
- </xsl:if>
- </h3>
+ <xsl:otherwise>
+ <xsl:apply-templates select="title" mode="print" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </h2>
<!-- Section body -->
- <xsl:apply-templates/>
-
- </xsl:template>
- <!-- /section/section -->
-
-
- <!-- -->
- <!-- handle subsubsections (h4) -->
- <!-- -->
- <xsl:template match="section/section/section">
-
- <!-- Section heading -->
- <h4>
- <xsl:if test="@id">
+ <xsl:apply-templates />
+</div> <!-- /.section -->
+</xsl:template>
+<!-- /section -->
+
+
+<!-- ==================================================================== -->
+<!-- handle subsections (lower level headings) -->
+<!-- ==================================================================== -->
+<xsl:template match="section/section">
+<!-- Section heading -->
+<h3>
+ <xsl:choose>
+ <xsl:when test="@id">
<a id="{@id}" name="{@id}">
- <xsl:apply-templates select="title" mode="print"/>
+ <xsl:apply-templates select="title" mode="print" />
</a>
- </xsl:if>
+ </xsl:when>
- <xsl:if test="not(@id)">
- <xsl:apply-templates select="title" mode="print"/>
- </xsl:if>
- </h4>
+ <xsl:otherwise>
+ <xsl:apply-templates select="title" mode="print" />
+ </xsl:otherwise>
+ </xsl:choose>
+</h3>
- <!-- Section body -->
- <xsl:apply-templates/>
+<!-- Section body -->
+<xsl:apply-templates />
+</xsl:template>
+<!-- /section/section -->
- </xsl:template>
- <!-- /section/section/section -->
+<!-- ==================================================================== -->
+<!-- handle subsubsections (h4) -->
+<!-- ==================================================================== -->
+<xsl:template match="section/section/section">
+<!-- Section heading -->
+<h4>
+ <xsl:choose>
+ <xsl:when test="@id">
+ <a id="{@id}" name="{@id}">
+ <xsl:apply-templates select="title" mode="print" />
+ </a>
+ </xsl:when>
- <!-- -->
- <!-- section nesting > h4 is not supported for now -->
- <!-- -->
- <xsl:template match="section/section/section/section">
- <xsl:message terminate="yes">
- <xsl:text>FATAL: exceeding maximum section nesting level.
+ <xsl:otherwise>
+ <xsl:apply-templates select="title" mode="print" />
+ </xsl:otherwise>
+ </xsl:choose>
+</h4>
+
+<!-- Section body -->
+<xsl:apply-templates/>
+
+</xsl:template>
+<!-- /section/section/section -->
+
+
+<!-- ==================================================================== -->
+<!-- section nesting > h4 is not supported for now -->
+<!-- ==================================================================== -->
+<xsl:template match="section/section/section/section">
+<xsl:message terminate="yes">
+ <xsl:text>FATAL: exceeding maximum section nesting level.</xsl:text>
+ &lf;&lf;
+ <xsl:text>Perhaps you should consider to split your document into</xsl:text>
+ &lf;
+ <xsl:text>several ones...</xsl:text>
+ &lf;
+</xsl:message>
+</xsl:template>
+<!-- /section/section/section/section -->
+
+
+<!-- ==================================================================== -->
+<!-- (sub)section titles -->
+<!-- ==================================================================== -->
+<xsl:template match="section/title" mode="print">
+<xsl:apply-templates/>
+</xsl:template>
+<xsl:template match="section/title" />
+<!-- /section/title -->
+
+
+<!-- ==================================================================== -->
+<!-- generate section index -->
+<!-- ==================================================================== -->
+<xsl:template match="section" mode="index">
+<li>
+ <img src="{$path}/images/down.gif" alt="" />
+ <xsl:text> </xsl:text>
+ <xsl:choose>
+ <xsl:when test="@id">
+ <a href="#{@id}">
+ <xsl:apply-templates select="title" mode="print" />
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="title" mode="print" />
+ </xsl:otherwise>
+ </xsl:choose>
+</li>&lf;
+</xsl:template>
+<!-- /section index -->
+
+
+<!-- ==================================================================== -->
+<!-- docs super menu -->
+<!-- ==================================================================== -->
+<xsl:template name="super-menu">
+<p class="menu">
+ <a href="{$path}/mod/{$index-file}">
+ <xsl:value-of select="$messages/message[@name='modules']" />
+ </a>
- Perhaps you should consider to split your document into
- several ones...
- </xsl:text>
- </xsl:message>
- </xsl:template>
- <!-- /section/section/section/section -->
+ <xsl:text> | </xsl:text>
+ <a href="{$path}/mod/directives.html">
+ <xsl:value-of select="$messages/message[@name='directives']" />
+ </a>
- <!-- -->
- <!-- (sub)section titles -->
- <!-- -->
- <xsl:template match="section/title" mode="print">
- <xsl:apply-templates/>
- </xsl:template>
+ <xsl:text> | </xsl:text>
- <xsl:template match="section/title">
- <!-- Don't print the title twice -->
- </xsl:template>
- <!-- /section/title -->
+ <a href="{$path}/faq/{$index-file}">
+ <xsl:value-of select="$messages/message[@name='faq']" />
+ </a>
+ <xsl:text> | </xsl:text>
- <!-- -->
- <!-- generate section index -->
- <!-- -->
- <xsl:template match="section" mode="index">
+ <a href="{$path}/glossary.html">
+ <xsl:value-of select="$messages/message[@name='glossary']" />
+ </a>
- <xsl:if test="@id">
- <li>
- <img src="{$path}/images/down.gif" alt="" />
- <xsl:text> </xsl:text>
- <a href="#{@id}">
- <xsl:apply-templates select="title" mode="print"/>
- </a>
- </li>
+ <xsl:text> | </xsl:text>
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <a href="{$path}/sitemap.html">
+ <xsl:value-of select="$messages/message[@name='sitemap']" />
+ </a>
+</p>
+</xsl:template>
+<!-- /super-menu -->
+
+
+<!-- ==================================================================== -->
+<!-- <example> -->
+<!-- iterate over *all* nodes; bare text and other inline stuff is -->
+<!-- wrapped into <p><code>, block level elements (defined in -->
+<!-- $blockelements) are applied "as is" -->
+<!-- ==================================================================== -->
+<xsl:variable name="blocks"
+ select="concat(' ', normalize-space($blockelements), ' ')" />
+
+<xsl:template match="example">
+<div class="example">
+ <xsl:apply-templates select="title" mode="print" />
+
+ <xsl:for-each select="./node()">
+ <xsl:variable name="is-block-node"
+ select="boolean(contains($blocks,
+ concat(' ', local-name(), ' ')))"/>
+ <!-- bb = (number of) blocks nodes before (the current) -->
+ <xsl:variable name="bb"
+ select="count(preceding-sibling::*[
+ contains($blocks,
+ concat(' ', local-name(), ' '))])" />
+
+ <xsl:if test="$is-block-node or position()=last()">
+ <xsl:variable name="content">
+ <!-- phew. short explanation, what happens here: -->
+ <!-- We want to get the inline stuff between the last -->
+ <!-- block node and the current node. -->
+ <!-- So filter all previous nodes for the condition -->
+ <!-- that the number of block nodes of all of *their* -->
+ <!-- previous nodes is >= $bb. Hope that helps ;-) -->
+ <xsl:apply-templates
+ select="preceding-sibling::node()[
+ count(preceding-sibling::*[
+ contains($blocks,
+ concat(' ', local-name(), ' '))])
+ >= $bb]" />
+
+ <xsl:apply-templates
+ select="self::node()[not($is-block-node)]" />
+ </xsl:variable>
- </xsl:if>
+ <!-- apply bare text only, if it's not only \s or empty -->
+ <xsl:if test="not(normalize-space($content) = '')">
+ <p><code>
+ <xsl:copy-of select="$content" />
+ </code></p>
+ </xsl:if>
- <xsl:if test="not(@id)">
- <li>
- <img src="{$path}/images/down.gif" alt="" />
- <xsl:text> </xsl:text>
- <xsl:apply-templates select="title" mode="print"/>
-
- <!-- nested sections -->
- <!-- NOT FOR NOW -->
- <!--
- <xsl:if test="section">
- <ul>
- <xsl:apply-templates select="section" mode="index"/>
- </ul>
+ <xsl:apply-templates select="self::node()[$is-block-node]" />
</xsl:if>
- -->
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:if>
+ </xsl:for-each>
+ <!-- /node() -->
+</div> <!-- /.example -->
+</xsl:template>
+<!-- /example -->
- </xsl:template>
- <!-- /section index -->
+<!-- ==================================================================== -->
+<!-- example/title -->
+<!-- ==================================================================== -->
+<xsl:template match="example/title" mode="print">
+<h3>
+ <xsl:apply-templates/>
+</h3>
+</xsl:template>
+<xsl:template match="example/title" />
+<!-- /example/title -->
- <!-- -->
- <!-- docs super menu -->
- <!-- -->
- <xsl:template name="super-menu">
- <p class="menu">
- <a href="{$path}/mod/{$index-file}">
- <xsl:value-of select="$messages/message[@name='modules']"/>
- </a>
- <xsl:text> | </xsl:text>
- <a href="{$path}/mod/directives.html">
- <xsl:value-of select="$messages/message[@name='directives']"/>
- </a>
- <xsl:text> | </xsl:text>
- <a href="{$path}/faq/{$index-file}">
- <xsl:value-of select="$messages/message[@name='faq']"/>
- </a>
- <xsl:text> | </xsl:text>
- <a href="{$path}/glossary.html">
- <xsl:value-of select="$messages/message[@name='glossary']"/>
- </a>
- <xsl:text> | </xsl:text>
- <a href="{$path}/sitemap.html">
- <xsl:value-of select="$messages/message[@name='sitemap']"/>
- </a>
- </p>
- </xsl:template>
- <!-- /super-menu -->
-
-
- <!-- -->
- <!-- <example> -->
- <!-- iterate over *all* nodes; bare text and other -->
- <!-- inline stuff is wrapped into <p><code>, block -->
- <!-- level elements (defined in $blockelements) are -->
- <!-- applied "as is" -->
- <!-- -->
- <xsl:variable name="blocks"
- select="concat(' ', normalize-space($blockelements), ' ')"/>
-
- <xsl:template match="example">
- <div class="example">
- <xsl:apply-templates select="title" mode="print"/>
-
- <xsl:for-each select="./node()">
- <xsl:variable name="is-block-node" select="boolean(contains($blocks, concat(' ',local-name(),' ')))"/>
- <xsl:variable name="bb" select="count(preceding-sibling::*[contains($blocks,concat(' ',local-name(),' '))])"/>
-
- <xsl:if test="$is-block-node or position()=last()">
- <xsl:variable name="content">
- <xsl:apply-templates select="preceding-sibling::node()[count(preceding-sibling::*[contains($blocks,concat(' ',local-name(),' '))]) >= $bb]"/>
- <xsl:apply-templates select="self::node()[not($is-block-node)]"/>
- </xsl:variable>
-
- <!-- apply bare text only, if it's not only \s or empty -->
- <xsl:if test="not(normalize-space($content) = '')">
- <p><code>
- <xsl:copy-of select="$content"/>
- </code></p>
- </xsl:if>
-
- <xsl:apply-templates select="self::node()[$is-block-node]"/>
- </xsl:if>
-
- </xsl:for-each>
- <!-- /node() -->
-
- </div> <!-- /.example -->
- </xsl:template>
- <!-- /example -->
-
-
- <!-- -->
- <!-- example/title -->
- <!-- -->
- <xsl:template match="example/title" mode="print">
- <h3>
- <xsl:apply-templates/>
- </h3>
- </xsl:template>
-
- <xsl:template match="example/title">
- <!-- don't print twice -->
- </xsl:template>
- <!-- /example/title -->
-
-
- <!-- -->
- <!-- indent -->
- <!-- -->
- <xsl:template match="indent">
- <span class="indent">
- <xsl:apply-templates/>
- </span>
- </xsl:template>
- <!-- /indent -->
-
-
- <!-- -->
- <!-- <note> -->
- <!-- Notes are placed in a table. Uses different back- -->
- <!-- ground colors, depending on type of note. -->
- <!-- -->
- <xsl:template match="note">
- <div class="note">
- <xsl:if test="@type='warning'">
- <xsl:attribute name="class">warning</xsl:attribute>
- </xsl:if>
- <xsl:apply-templates/>
- </div>
- </xsl:template>
- <!-- /note -->
+<!-- ==================================================================== -->
+<!-- indentations -->
+<!-- ==================================================================== -->
+<xsl:template match="indent">
+<span class="indent">
+ <xsl:apply-templates/>
+</span>
+</xsl:template>
+<!-- /indent -->
- <!-- -->
- <!-- <note><title> -->
- <!-- -->
- <xsl:template match="note/title">
- <h3>
- <xsl:apply-templates/>
- </h3>
- </xsl:template>
- <!-- /note/title -->
+<!-- ==================================================================== -->
+<!-- <note> -->
+<!-- ==================================================================== -->
+<xsl:template match="note">
+<div class="note">
+ <xsl:if test="@type='warning'">
+ <xsl:attribute name="class">warning</xsl:attribute>
+ </xsl:if>
+ <xsl:apply-templates/>
+</div>
+</xsl:template>
+<!-- /note -->
- <!-- -->
- <!-- <directive> -->
- <!-- Inserts link to another directive, which might be -->
- <!-- in another module. References are converted into -->
- <!-- lower case. -->
- <!-- -->
- <xsl:template match="directive" name="directive">
- <code class="directive">
- <xsl:if test="@module">
- <xsl:variable name="lowerdirective" select="translate(., $uppercase, $lowercase)"/>
+<!-- ==================================================================== -->
+<!-- <note><title> -->
+<!-- ==================================================================== -->
+<xsl:template match="note/title">
+<h3>
+ <xsl:apply-templates/>
+</h3>
+</xsl:template>
+<!-- /note/title -->
+
+
+<!-- ==================================================================== -->
+<!-- <directive> -->
+<!-- Inserts link to another directive, which might be in another module. -->
+<!-- References are converted into lower case. -->
+<!-- ==================================================================== -->
+<xsl:template match="directive" name="directive">
+<code class="directive">
+ <xsl:choose>
+ <xsl:when test="@module">
+ <xsl:variable name="lowerdirective"
+ select="translate(., $uppercase, $lowercase)" />
<xsl:choose>
- <xsl:when test="$in-modulesynopsis = '1' and @module = /modulesynopsis/name">
+ <xsl:when test="$in-modulesynopsis and @module = /modulesynopsis/name">
<a href="#{$lowerdirective}">
- <xsl:if test="@type='section'"><</xsl:if>
- <xsl:value-of select="."/>
- <xsl:if test="@type='section'">></xsl:if>
+ <xsl:if test="@type='section'"><</xsl:if>
+ <xsl:value-of select="."/>
+ <xsl:if test="@type='section'">></xsl:if>
</a>
- </xsl:when>
-
- <xsl:otherwise>
- <xsl:variable name="obs_">
- <xsl:if test="@status = 'obsolete'">obs_</xsl:if>
- </xsl:variable>
-
- <a href="{$path}/mod/{$obs_}{@module}.html#{$lowerdirective}">
- <xsl:if test="@type='section'"><</xsl:if>
- <xsl:value-of select="."/>
- <xsl:if test="@type='section'">></xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <a href="{$path}/mod/{@module}.html#{$lowerdirective}">
+ <xsl:if test="@type='section'"><</xsl:if>
+ <xsl:value-of select="."/>
+ <xsl:if test="@type='section'">></xsl:if>
</a>
- </xsl:otherwise>
+ </xsl:otherwise>
</xsl:choose>
- </xsl:if>
+ </xsl:when>
- <xsl:if test="not(@module)">
+ <xsl:otherwise>
<xsl:if test="@type='section'"><</xsl:if>
<xsl:value-of select="."/>
<xsl:if test="@type='section'">></xsl:if>
- </xsl:if>
-
- </code>
- </xsl:template>
- <!-- /directive -->
-
-
- <!-- -->
- <!-- <module> -->
- <!-- Inserts a link to refereed module -->
- <!-- -->
- <xsl:template match="module" name="module">
- <xsl:variable name="obs_">
- <xsl:if test="@status = 'obsolete'">obs_</xsl:if>
- </xsl:variable>
-
- <code class="module">
- <a href="{$path}/mod/{$obs_}{.}.html">
+ </xsl:otherwise>
+ </xsl:choose>
+</code>
+</xsl:template>
+<!-- /directive -->
+
+
+<!-- ==================================================================== -->
+<!-- <module> -->
+<!-- Inserts a link to refereed module -->
+<!-- ==================================================================== -->
+<xsl:template match="module" name="module">
+<code class="module">
+ <a href="{$path}/mod/{.}.html">
<xsl:value-of select="."/>
- </a>
- </code>
- </xsl:template>
- <!-- /module -->
-
-
- <!-- -->
- <!-- <related> -->
- <!-- -->
- <xsl:template match="related">
- <table class="related">
- <tr>
- <th>
- <xsl:value-of select="$messages/message[@name='relatedmodules']"/>
- </th>
- <th>
- <xsl:value-of select="$messages/message[@name='relateddirectives']"/>
- </th>
- </tr>
-
- <tr>
- <td>
- <xsl:if test="count(modulelist/*) > 0">
- <ul>
- <xsl:apply-templates select="modulelist"/>
- </ul>
- </xsl:if>
- </td>
-
- <td>
- <xsl:if test="count(directivelist/*) > 0">
+ </a>
+</code>
+</xsl:template>
+<!-- /module -->
+
+
+<!-- ==================================================================== -->
+<!-- <related> -->
+<!-- ==================================================================== -->
+<xsl:template match="related">
+<table class="related">
+<tr>
+ <th>
+ <xsl:value-of select="$messages/message[@name='relatedmodules']" />
+ </th>
+ <th>
+ <xsl:value-of select="$messages/message[@name='relateddirectives']" />
+ </th>
+</tr>
+<tr>
+ <td>
+ <xsl:if test="count(modulelist/*) > 0">
<ul>
- <xsl:apply-templates select="directivelist"/>
+ <xsl:apply-templates select="modulelist" />
</ul>
- </xsl:if>
- </td>
- </tr>
- </table>
- </xsl:template>
- <!-- /related -->
-
-
- <xsl:template match="related/modulelist">
- <xsl:for-each select="module">
- <li>
+ </xsl:if>
+ </td>
+ <td>
+ <xsl:if test="count(directivelist/*) > 0">
+ <ul>
+ <xsl:apply-templates select="directivelist"/>
+ </ul>
+ </xsl:if>
+ </td>
+</tr>
+</table>
+</xsl:template>
+<!-- /related -->
+
+<!-- ==================================================================== -->
+<!-- related/modulelist -->
+<!-- ==================================================================== -->
+<xsl:template match="related/modulelist">
+<xsl:for-each select="module">
+ <li>
<xsl:call-template name="module"/>
- </li>
- </xsl:for-each>
- </xsl:template>
-
-
-
- <xsl:template match="related/directivelist">
- <xsl:for-each select="directive">
- <li>
+ </li>
+</xsl:for-each>
+</xsl:template>
+<!-- /related/modulelist -->
+
+
+<!-- ==================================================================== -->
+<!-- related/directivelist -->
+<!-- ==================================================================== -->
+<xsl:template match="related/directivelist">
+<xsl:for-each select="directive">
+ <li>
<xsl:call-template name="directive"/>
- </li>
- </xsl:for-each>
- </xsl:template>
-
-
- <!-- -->
- <!-- <table> -->
- <!-- -->
- <xsl:template match="table">
- <table>
- <xsl:if test="@border">
+ </li>
+</xsl:for-each>
+</xsl:template>
+<!-- /related/directivelist -->
+
+<!-- ==================================================================== -->
+<!-- <table> -->
+<!-- ==================================================================== -->
+<xsl:template match="table">
+<table>
+ <!-- existing border attribute will result in <table class="bordered"> -->
+ <xsl:if test="@border">
<xsl:attribute name="class">bordered</xsl:attribute>
- </xsl:if>
-
- <xsl:choose>
- <xsl:when test="@style = 'zebra'">
- <xsl:for-each select="tr">
-
- <tr><xsl:choose>
- <xsl:when test="count(td) = 0">
- <xsl:attribute name="class">header</xsl:attribute>
- </xsl:when>
-
- <xsl:when test="position() mod 2 = (count(preceding-sibling::*[count(td) = 0]) mod 2)">
- <xsl:attribute name="class">odd</xsl:attribute>
- </xsl:when></xsl:choose>
-
- <xsl:apply-templates />
- </tr>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:for-each>
- </xsl:when>
-
- <xsl:otherwise>
- <xsl:apply-templates />
- </xsl:otherwise>
- </xsl:choose>
- </table>
-
- </xsl:template>
- <!-- /table -->
-
+ </xsl:if>
- <!-- -->
- <!-- <ol type -->
- <!-- -->
- <xsl:template match="ol">
- <ol>
- <xsl:if test="@type = 'A'">
+ <!-- style="zebra": alternating colors per row, i.e. every second row -->
+ <!-- gets a class="odd". Header lines (no <td>) get a -->
+ <!-- class="header". These lines will be excluded from -->
+ <!-- the "odd" line count. That way header lines act -->
+ <!-- interjectional, which creates a better visual and -->
+ <!-- psychological effect. -->
+ <xsl:choose>
+ <xsl:when test="@style = 'zebra'">
+ <xsl:for-each select="tr">
+ <tr>
+ <xsl:choose>
+ <xsl:when test="count(td) = 0">
+ <xsl:attribute name="class">header</xsl:attribute>
+ </xsl:when>
+
+ <xsl:when
+ test="position() mod 2 =
+ (count(preceding-sibling::*[count(td) = 0]) mod 2)">
+ <xsl:attribute name="class">odd</xsl:attribute>
+ </xsl:when>
+ </xsl:choose>
+
+ <xsl:apply-templates />
+ </tr>&lf;
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates />
+ </xsl:otherwise>
+ </xsl:choose>
+</table>
+</xsl:template>
+<!-- /table -->
+
+
+<!-- ==================================================================== -->
+<!-- <ol> -->
+<!-- ==================================================================== -->
+<xsl:template match="ol">
+<ol>
+ <!-- A. B. C. D. (list-style-type="upper-alpha") -->
+ <xsl:if test="@type = 'A'">
<xsl:attribute name="class">up-A</xsl:attribute>
- </xsl:if>
-
- <xsl:apply-templates/>
- </ol>
- </xsl:template>
- <!-- /ol type -->
-
-
- <!-- -->
- <!-- <summary> -->
- <!-- Passes through content -->
- <!-- -->
- <xsl:template match="summary">
- <xsl:apply-templates/>
- </xsl:template>
- <!-- /summary -->
-
-
- <!-- -->
- <!-- <description> -->
- <!-- Passes through content -->
- <!-- -->
- <xsl:template match="description">
- <xsl:apply-templates/>
- </xsl:template>
- <!-- /description -->
-
-
- <!-- -->
- <!-- <hint> -->
- <!-- Passes through content -->
- <!-- -->
- <xsl:template match="hint">
- <xsl:apply-templates/>
- </xsl:template>
- <!-- /description -->
-
-
- <!-- -->
- <!-- <usage> -->
- <!-- Passes through content -->
- <!-- -->
- <xsl:template match="usage">
- <xsl:apply-templates/>
- </xsl:template>
- <!-- /usage -->
-
+ </xsl:if>
- <!-- -->
- <!-- <syntax> -->
- <!-- Passes through content -->
- <!-- -->
- <xsl:template match="syntax">
<xsl:apply-templates/>
- </xsl:template>
- <!-- /syntax -->
-
- <!-- -->
- <!-- <default> -->
- <!-- Passes through content -->
- <!-- -->
- <xsl:template match="default">
- <xsl:apply-templates/>
- </xsl:template>
- <!-- /default -->
-
-
- <!-- -->
- <!-- <a> -->
- <!-- Passes through content -->
- <!-- -->
- <xsl:template match="a">
- <xsl:if test="not(@href)">
- <xsl:copy>
+</ol>
+</xsl:template>
+<!-- /ol -->
+
+
+<!-- ==================================================================== -->
+<!-- diverse elements -->
+<!-- Passes through content -->
+<!-- ==================================================================== -->
+<xsl:template match="summary|description|usage|syntax|default">
+<xsl:apply-templates/>
+</xsl:template>
+<!-- /diverse -->
+
+
+<!-- ==================================================================== -->
+<!-- <a> -->
+<!-- ==================================================================== -->
+<xsl:template match="a">
+<xsl:choose>
+<xsl:when test="not(@href)">
+ <xsl:copy>
<xsl:apply-templates select="@*|*|text()"/>
- </xsl:copy>
- </xsl:if>
-
- <xsl:if test="@href">
- <a href="@href">
+ </xsl:copy>
+</xsl:when>
+<xsl:otherwise>
+ <a href="@href">
<xsl:apply-templates select="@*"/>
<xsl:call-template name="helper.uri.fix">
- <xsl:with-param name="uri" select="@href"/>
+ <xsl:with-param name="uri" select="@href"/>
</xsl:call-template>
<xsl:apply-templates select="*|text()"/>
- </a>
- </xsl:if>
- </xsl:template>
- <!-- /a -->
-
-
- <!-- -->
- <!-- toplink -->
- <!-- -->
- <xsl:template name="toplink">
- <div class="top">
- <a href="#page-header"><img src="{$path}/images/up.gif" alt="top" /></a>
- </div>
- </xsl:template>
- <!-- /toplink -->
-
-
- <!-- -->
- <!-- <transnote> -->
- <!-- -->
- <xsl:template match="transnote">
- <span class="transnote">
- <xsl:text>(</xsl:text><em>
- <xsl:value-of select="$messages/message[@name='transnote']"/>
- </em><xsl:text> </xsl:text>
- <xsl:apply-templates/>
- <xsl:text>)</xsl:text>
- </span>
- </xsl:template>
- <!-- /note/title -->
-
-
- <!-- -->
- <!-- Filter   in text() nodes. -->
- <!-- In some environments this character won't be -->
- <!-- transformed correctly, so we just write it -->
- <!-- explicitely as " " -->
- <!-- -->
- <xsl:template match="text()" name="filter.nbsp">
- <xsl:param name="text"><xsl:value-of select="."/></xsl:param>
- <xsl:choose>
- <xsl:when test="contains($text, ' ')">
- <xsl:value-of select="substring-before($text, ' ')"/>
-
- <xsl:call-template name="filter.nbsp">
- <xsl:with-param name="text"
- select="substring-after($text, ' ')"/>
- </xsl:call-template>
- </xsl:when>
-
- <xsl:otherwise>
- <xsl:value-of select="$text"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:template>
-
-
- <!-- -->
- <!-- Process everything else by just passing it through -->
- <!-- -->
- <xsl:template match="*|@*">
- <xsl:copy>
- <xsl:apply-templates select="@*|*|text()"/>
- </xsl:copy>
- </xsl:template>
-
-
- <!-- -->
- <!-- create a letter bar -->
- <!-- used in several documents -->
- <!-- -->
- <xsl:template name="letter-bar">
- <xsl:param name="letters"/>
- <xsl:param name="first"/>
-
- <xsl:if test="not($first)">
- <xsl:text> | </xsl:text>
- </xsl:if>
-
- <a href="#{substring($letters,1,1)}">
-
- <xsl:value-of select="substring($letters,1,1)"/>
-
</a>
+</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+<!-- /a -->
+
+
+<!-- ==================================================================== -->
+<!-- toplink -->
+<!-- ==================================================================== -->
+<xsl:template name="toplink">
+<div class="top">
+ <a href="#page-header"><img src="{$path}/images/up.gif" alt="top" /></a>
+</div>
+</xsl:template>
+<!-- /toplink -->
+
+
+<!-- ==================================================================== -->
+<!-- <transnote> -->
+<!-- translator's notes are displayed in a different color -->
+<!-- ==================================================================== -->
+<xsl:template match="transnote">
+<span class="transnote">
+ <xsl:text>(</xsl:text>
+ <em>
+ <xsl:value-of select="$messages/message[@name='transnote']" />
+ </em>
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates />
+ <xsl:text>)</xsl:text>
+</span>
+</xsl:template>
+<!-- /transnote -->
+
+
+<!-- ==================================================================== -->
+<!-- Filter   in text() nodes. -->
+<!-- In some environments this character won't be transformed correctly, -->
+<!-- so we just write it explicitely as " " into the output. -->
+<!-- ==================================================================== -->
+<xsl:template match="text()" name="filter.nbsp">
+<xsl:param name="text" select="." />
+
+<xsl:choose>
+<xsl:when test="contains($text, ' ')">
+ <xsl:value-of select="substring-before($text, ' ')" />
+
+ <xsl:call-template name="filter.nbsp">
+ <xsl:with-param name="text" select="substring-after($text, ' ')" />
+ </xsl:call-template>
+</xsl:when>
+<xsl:otherwise>
+ <xsl:value-of select="$text" />
+</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+<!-- /filter.nbsp -->
+
+
+<!-- ==================================================================== -->
+<!-- Process everything else by just passing it through -->
+<!-- ==================================================================== -->
+<xsl:template match="*|@*">
+<xsl:copy>
+ <xsl:apply-templates select="*|@*|text()" />
+</xsl:copy>
+</xsl:template>
+<!-- /pass through -->
+
+
+<!-- ==================================================================== -->
+<!-- create a letter bar -->
+<!-- ==================================================================== -->
+<xsl:template name="letter-bar">
+<xsl:param name="letters" />
+<xsl:param name="first" />
+
+<xsl:if test="not($first)">
+ <xsl:text> | </xsl:text>
+</xsl:if>
+
+<a href="#{substring($letters,1,1)}">
+
+ <xsl:value-of select="substring($letters, 1, 1)" />
+
+</a>
+
+<xsl:if test="string-length($letters) > 1">
+ <xsl:call-template name="letter-bar">
+ <xsl:with-param name="letters" select="substring($letters, 2)" />
+ <xsl:with-param name="first" select="false()" />
+ </xsl:call-template>
+</xsl:if>
+</xsl:template>
+<!-- /letter-bar -->
- <xsl:if test="string-length($letters) > 1">
- <xsl:call-template name="letter-bar">
- <xsl:with-param name="letters" select="substring($letters,2)"/>
- <xsl:with-param name="first" select="false()"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:template>
-
-
- <!-- -->
- <!-- template(s) for collecting all start letters -->
- <!-- of directives -->
- <!-- used in several documents -->
- <!-- -->
- <xsl:template name="directive-startletters">
- <xsl:param name="directives"/>
- <xsl:call-template name="_squeeze-letters">
- <xsl:with-param name="lastletter" select="''"/>
+<!-- ==================================================================== -->
+<!-- template(s) for collecting all start letters of directives -->
+<!-- ==================================================================== -->
+<xsl:template name="directive-startletters">
+<xsl:param name="directives" />
- <xsl:with-param name="letters">
+<xsl:call-template name="_squeeze-letters">
+ <xsl:with-param name="lastletter" select="''" />
+ <xsl:with-param name="letters">
<xsl:for-each select="$directives">
<xsl:sort select="name"/>
- <xsl:value-of select="translate(substring(normalize-space(name),1,1),$lowercase,$uppercase)"/>
+ <xsl:value-of
+ select="translate(substring(normalize-space(name), 1, 1),
+ $lowercase, $uppercase)" />
</xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
+ </xsl:with-param>
+</xsl:call-template>
+</xsl:template>
+<!-- /directive-startletters -->
- </xsl:template>
- <xsl:template name="_squeeze-letters">
- <xsl:param name="letters"/>
- <xsl:param name="lastletter"/>
+<!-- ==================================================================== -->
+<!-- squeeze subsequent letters in a string -->
+<!-- ==================================================================== -->
+<xsl:template name="_squeeze-letters">
+<xsl:param name="letters"/>
+<xsl:param name="lastletter"/>
- <xsl:variable name="current" select="substring($letters,1,1)"/>
+<xsl:variable name="current" select="substring($letters, 1, 1)" />
- <xsl:if test="not($lastletter = $current)">
- <xsl:value-of select="$current"/>
- </xsl:if>
+<xsl:if test="not($lastletter = $current)">
+ <xsl:value-of select="$current" />
+</xsl:if>
- <xsl:if test="string-length($letters) > 1">
- <xsl:call-template name="_squeeze-letters">
- <xsl:with-param name="letters" select="substring($letters,2)"/>
+<xsl:if test="string-length($letters) > 1">
+ <xsl:call-template name="_squeeze-letters">
+ <xsl:with-param name="letters" select="substring($letters, 2)" />
<xsl:with-param name="lastletter" select="$current"/>
- </xsl:call-template>
+ </xsl:call-template>
+</xsl:if>
+</xsl:template>
+<!-- /_squeeze-letters -->
+
+
+<!-- ==================================================================== -->
+<!-- fix href and target attribute of an element. -->
+<!-- ==================================================================== -->
+<xsl:template name="helper.uri.fix">
+<xsl:param name="uri"/>
+
+<xsl:choose>
+<!-- lame is_absolute_uri test -->
+<xsl:when test=" contains($uri, ':')
+ and string-length(substring-before($uri, ':')) < 7">
+ <xsl:if test="$ext-target">
+ <xsl:attribute name="target">_blank</xsl:attribute>
+ </xsl:if>
+</xsl:when>
+<xsl:otherwise>
+ <xsl:variable name="fragment">
+ <xsl:if test="contains($uri, '#')">
+ <xsl:value-of select="concat('#', substring-after($uri, '#'))"/>
+ </xsl:if>
+ </xsl:variable>
+ <xsl:variable name="absuri">
+ <xsl:choose>
+ <xsl:when test="contains($uri, '#')">
+ <xsl:value-of select="concat('#', substring-before($uri, '#'))"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$uri"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:if test="substring($absuri, string-length($uri), 1) = '/'">
+ <xsl:attribute name="href">
+ <xsl:value-of select="concat($absuri, $index-file, $fragment)"/>
+ </xsl:attribute>
</xsl:if>
- </xsl:template>
+</xsl:otherwise>
+</xsl:choose>
+</xsl:template>
+<!-- /helper.uri.fix -->
</xsl:stylesheet>
-<?xml version="1.0"?>
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
<!DOCTYPE xsl:stylesheet [
- <!ENTITY nbsp SYSTEM "util/nbsp.xml">
+ <!ENTITY lf SYSTEM "util/lf.xml">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
- <!-- -->
- <!-- <directiveindex> -->
- <!-- Builds the directive index page -->
- <!-- -->
- <xsl:template match="directiveindex">
- <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
- <xsl:call-template name="head"/>
+<!-- ==================================================================== -->
+<!-- <directiveindex> -->
+<!-- Builds the directive index page -->
+<!-- ==================================================================== -->
+<xsl:template match="directiveindex">
+<html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
+ <xsl:call-template name="head"/>&lf;
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <body id="directive-index">
+ <body id="directive-index">
<xsl:call-template name="top"/>
- <xsl:variable name="directives" select="document(modulefilelist/modulefile)/modulesynopsis[status!='Obsolete']/directivesynopsis[not(@location)]"/>
+ <xsl:variable name="directives"
+ select="document(modulefilelist/modulefile)
+ /modulesynopsis[status!='Obsolete']
+ /directivesynopsis[not(@location)]" />
<!-- collect the start letters -->
<xsl:variable name="start-letters">
- <xsl:call-template name="directive-startletters">
- <xsl:with-param name="directives" select="$directives"/>
- </xsl:call-template>
+ <xsl:call-template name="directive-startletters">
+ <xsl:with-param name="directives" select="$directives" />
+ </xsl:call-template>
</xsl:variable>
<div id="preamble">
- <h1>
- <xsl:value-of select="title"/>
- </h1>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:apply-templates select="summary" />
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <!-- letter line -->
- <p class="letters">
- <xsl:call-template name="letter-bar">
- <xsl:with-param name="letters" select="$start-letters"/>
- <xsl:with-param name="first" select="true()"/>
- </xsl:call-template>
- </p>
- <!-- /letter line -->
+ <h1>
+ <xsl:value-of select="title" />
+ </h1>&lf;
-<xsl:text>
-</xsl:text> <!-- insert a line break -->
+ <xsl:apply-templates select="summary" />&lf;
- </div> <!-- /preamble -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <!-- letter bar -->
+ <p class="letters">
+ <xsl:call-template name="letter-bar">
+ <xsl:with-param name="letters" select="$start-letters" />
+ <xsl:with-param name="first" select="true()" />
+ </xsl:call-template>
+ </p>&lf; <!-- /.letters -->
+ </div>&lf; <!-- /preamble -->
<div id="directive-list">
- <ul>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="dindex-of-letter">
- <xsl:with-param name="letters-todo" select="$start-letters"/>
- <xsl:with-param name="directives" select="$directives"/>
- </xsl:call-template>
- </ul>
- </div> <!-- /directive-list -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="bottom"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </body>
- </html>
- </xsl:template>
-
-
- <!-- -->
- <!-- the working horse. builds list items of all -->
- <!-- directives starting with one letter -->
- <!-- when done, it calls itself to catch the next letter -->
- <!-- -->
- <xsl:template name="dindex-of-letter">
- <xsl:param name="letters-todo"/>
- <xsl:param name="directives"/>
-
- <xsl:variable name="letter" select="substring($letters-todo,1,1)"/>
-
- <xsl:for-each select="$directives[$letter=translate(substring(normalize-space(name),1,1),$lowercase,$uppercase)]">
- <xsl:sort select="name"/>
-
- <li>
- <a href="{../name}.html#{translate(name,$uppercase,$lowercase)}">
- <xsl:if test="position()=1">
- <xsl:attribute name="id"><xsl:value-of select="$letter"/></xsl:attribute>
- <xsl:attribute name="name"><xsl:value-of select="$letter"/></xsl:attribute>
- </xsl:if>
-
- <xsl:if test="@type = 'section'"><</xsl:if>
- <xsl:value-of select="name"/>
- <xsl:if test="@type = 'section'">></xsl:if>
+ <ul>&lf;
+ <xsl:call-template name="dindex-of-letter">
+ <xsl:with-param name="letters-todo"
+ select="$start-letters" />
+ <xsl:with-param name="directives" select="$directives" />
+ </xsl:call-template>
+ </ul>
+ </div>&lf; <!-- /#directive-list -->
+
+ <xsl:call-template name="bottom" />&lf;
+ </body>
+</html>
+</xsl:template>
+<!-- /directiveindex -->
+
+
+<!-- ==================================================================== -->
+<!-- the working horse. builds list items of all directives starting with -->
+<!-- one letter when done, it calls itself to catch the next letter -->
+<!-- ==================================================================== -->
+<xsl:template name="dindex-of-letter">
+<xsl:param name="letters-todo" />
+<xsl:param name="directives" />
+
+<xsl:variable name="letter" select="substring($letters-todo, 1, 1)"/>
+
+<xsl:for-each
+ select="$directives
+ [$letter = translate(substring(normalize-space(name), 1, 1),
+ $lowercase, $uppercase)]">
+<xsl:sort select="name" />
+ <li>
+ <a href="{../name}.html#{translate(name, $uppercase, $lowercase)}">
+ <xsl:if test="position() = 1">
+ <xsl:attribute name="id">
+ <xsl:value-of select="$letter" />
+ </xsl:attribute>
+ <xsl:attribute name="name">
+ <xsl:value-of select="$letter" />
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:if test="@type = 'section'"><</xsl:if>
+ <xsl:value-of select="name" />
+ <xsl:if test="@type = 'section'">></xsl:if>
</a>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert a line break -->
-
- </xsl:for-each> <!-- /directives -->
-
- <!-- call next letter, if there is -->
- <xsl:if test="string-length($letters-todo) > 1">
- <xsl:call-template name="dindex-of-letter">
- <xsl:with-param name="letters-todo" select="substring($letters-todo,2)"/>
- <xsl:with-param name="directives" select="$directives"/>
- </xsl:call-template>
- </xsl:if>
-
- </xsl:template>
- <!-- /dindex-of-letter -->
+ </li>&lf;
+</xsl:for-each>
+
+<!-- call next letter, if there is -->
+<xsl:if test="string-length($letters-todo) > 1">
+ <xsl:call-template name="dindex-of-letter">
+ <xsl:with-param name="letters-todo"
+ select="substring($letters-todo, 2)" />
+ <xsl:with-param name="directives" select="$directives" />
+ </xsl:call-template>
+</xsl:if>
+
+</xsl:template>
+<!-- /dindex-of-letter -->
</xsl:stylesheet>
-<?xml version="1.0"?>
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
<!DOCTYPE xsl:stylesheet [
- <!ENTITY nbsp SYSTEM "util/nbsp.xml">
+ <!ENTITY lf SYSTEM "util/lf.xml">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
- <!-- -->
- <!-- <manualpage> -->
- <!-- Process an entire document into an HTML page -->
- <!-- -->
- <xsl:template match="faq">
- <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
- <xsl:call-template name="head"/>
+<!-- ==================================================================== -->
+<!-- <faq> -->
+<!-- Process an entire document into an HTML page -->
+<!-- ==================================================================== -->
+<xsl:template match="faq">
+<html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
+ <xsl:call-template name="head"/>&lf;
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <body id="manual-page">
+ <body id="manual-page">
<!-- unsqueeze if there's no sidebar -->
- <xsl:if test="not(count(section) > 1 or (/faq/@all-in-one = 'yes') or seealso)">
- <xsl:attribute name="class">no-sidebar</xsl:attribute>
+ <xsl:if test=" not(count(section) > 1
+ or (/faq/@all-in-one = 'yes')
+ or seealso)">
+ <xsl:attribute name="class">no-sidebar</xsl:attribute>
</xsl:if>
- <xsl:call-template name="top"/>
+ <xsl:call-template name="top" />
<div id="page-content">
- <div id="preamble">
- <h1>
- <xsl:value-of select="title"/>
- </h1>
-
- <xsl:apply-templates select="summary"/>
- </div> <!-- /preamble -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:if test="(not($is-chm) and (count(section) > 1 or (/faq/@all-in-one = 'yes'))) or seealso">
- <div id="quickview">
- <xsl:if test="not($is-chm)">
- <xsl:if test="count(section) > 1">
- <ul id="toc">
- <xsl:apply-templates select="section" mode="index"/>
- </ul>
- </xsl:if>
-
- <xsl:if test="/faq/@all-in-one = 'yes'">
- <ul id="toc">
- <li>
- <img src="{$path}/images/down.gif" alt="" />
- <xsl:text> </xsl:text>
- <a href="#topics">
- <xsl:value-of select="$messages/message[@name='topics']"/>
- </a>
- </li>
-
-<xsl:text>
-</xsl:text>
-
- <xsl:apply-templates select="categories/categoryfile" mode="toc"/>
- </ul>
- </xsl:if>
- </xsl:if> <!-- chm -->
-
- <xsl:if test="seealso">
- <h3>
- <xsl:value-of select="$messages/message[@name='seealso']"/>
- </h3>
- <ul class="seealso">
- <xsl:for-each select="seealso">
- <li>
- <xsl:apply-templates/>
- </li>
- </xsl:for-each>
- </ul>
- </xsl:if>
-
- </div> <!-- /quickview -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:if>
-
- <!-- either one ... -->
- <xsl:apply-templates select="section"/>
- <!-- ... or the other is allowed -->
- <xsl:apply-templates select="categories"/>
- </div> <!-- /page-content -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="bottom"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </body>
- </html>
- </xsl:template>
-
- <xsl:template match="categories">
-
- <xsl:call-template name="toplink"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <div class="section">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <!-- Section heading -->
- <h2>
+ <div id="preamble">
+ <h1>
+ <xsl:value-of select="title" />
+ </h1>
+
+ <xsl:apply-templates select="summary"/>
+ </div>&lf; <!-- /#preamble -->
+
+ <xsl:if
+ test="( not($is-chm)
+ and (count(section) > 1 or (/faq/@all-in-one = 'yes')))
+ or seealso">
+ <div id="quickview">
+ <xsl:if test="not($is-chm)">
+ <xsl:if test="count(section) > 1">
+ <ul id="toc">
+ <xsl:apply-templates
+ select="section" mode="index" />
+ </ul>
+ </xsl:if>
+
+ <xsl:if test="/faq/@all-in-one = 'yes'">
+ <ul id="toc">
+ <li>
+ <img src="{$path}/images/down.gif" alt="" />
+ <xsl:text> </xsl:text>
+ <a href="#topics">
+ <xsl:value-of select="$messages/message
+ [@name='topics']" />
+ </a>
+ </li>&lf;
+
+ <xsl:apply-templates
+ select="categories/categoryfile" mode="toc" />
+ </ul>
+ </xsl:if>
+ </xsl:if> <!-- !$is-chm -->
+
+ <xsl:if test="seealso">
+ <h3>
+ <xsl:value-of
+ select="$messages/message[@name='seealso']" />
+ </h3>
+
+ <ul class="seealso">
+ <xsl:for-each select="seealso">
+ <li>
+ <xsl:apply-templates />
+ </li>
+ </xsl:for-each>
+ </ul>
+ </xsl:if>
+ </div>&lf; <!-- /#quickview -->
+ </xsl:if> <!-- /have sidebar -->
+
+ <!-- either one ... -->
+ <xsl:apply-templates select="section" />
+ <!-- ... or the other is allowed -->
+ <xsl:apply-templates select="categories" />
+ </div>&lf; <!-- /#page-content -->
+
+ <xsl:call-template name="bottom" />&lf;
+ </body>
+</html>
+</xsl:template>
+<!-- /faq -->
+
+<!-- ==================================================================== -->
+<!-- <categories> (see categories.xml) -->
+<!-- ==================================================================== -->
+<xsl:template match="categories">
+<xsl:call-template name="toplink" />&lf;
+
+<div class="section">&lf;
+
+ <!-- Section heading -->
+ <h2>
<a name="topics" id="topics">
- <xsl:value-of select="$messages/message[@name='topics']"/>
+ <xsl:value-of select="$messages/message[@name='topics']" />
</a>
- </h2>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ </h2>&lf;
- <dl>
+ <dl>
<xsl:apply-templates select="categoryfile" mode="index"/>
- </dl>
- </div> <!-- /.section -->
-
- <xsl:if test="/faq/@all-in-one = 'yes'">
- <xsl:apply-templates select="categoryfile" mode="suckin"/>
- </xsl:if>
-
- </xsl:template>
-
- <xsl:template match="categories/categoryfile" mode="index">
- <xsl:variable name="current" select="document(.)/faq" />
-
- <dt>
- <a>
- <xsl:attribute name="href"><xsl:choose>
- <xsl:when test="/faq/@all-in-one = 'yes'">
- <xsl:value-of select="concat('#', $current/section/@id)" />
- </xsl:when>
-
- <xsl:otherwise>
- <xsl:value-of select="concat(document($current/@metafile)/metafile/basename, '.html')" />
- </xsl:otherwise></xsl:choose>
+ </dl>
+</div> <!-- /.section -->
+
+<xsl:if test="/faq/@all-in-one = 'yes'">
+ <xsl:apply-templates select="categoryfile" mode="suckin" />
+</xsl:if>
+</xsl:template>
+<!-- /categories -->
+
+<!-- ==================================================================== -->
+<!-- <categoryfile> mode="index" -->
+<!-- just write the short description with a link to the resource -->
+<!-- ==================================================================== -->
+<xsl:template match="categories/categoryfile" mode="index">
+<xsl:variable name="current" select="document(.)/faq" />
+
+<dt>
+ <a>
+ <xsl:attribute name="href">
+ <xsl:choose>
+ <xsl:when test="/faq/@all-in-one = 'yes'">
+ <xsl:value-of select="concat('#', $current/section/@id)" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="concat(document($current/@metafile)
+ /metafile/basename, '.html')" />
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:attribute>
<xsl:value-of select="$current/section/title" />
- </a>
- </dt>
- <dd>
- <xsl:apply-templates select="$current/description/node()" />
- </dd>
-
-<xsl:text>
-</xsl:text>
-
- </xsl:template>
-
- <xsl:template match="categories/categoryfile" mode="toc">
- <xsl:variable name="current" select="document(.)/faq" />
-
- <li>
- <img src="{$path}/images/down.gif" alt="" />
- <xsl:text> </xsl:text>
- <a href="#{$current/section/@id}">
+ </a>
+</dt>
+<dd>
+ <xsl:apply-templates select="$current/description" />
+</dd>&lf;
+</xsl:template>
+<!-- /categoryfile, "index" -->
+
+
+<!-- ==================================================================== -->
+<!-- <categoryfile> mode="toc" -->
+<!-- create sidebar links -->
+<!-- ==================================================================== -->
+<xsl:template match="categories/categoryfile" mode="toc">
+<xsl:variable name="current" select="document(.)/faq" />
+
+<li>
+ <img src="{$path}/images/down.gif" alt="" />
+ <xsl:text> </xsl:text>
+ <a href="#{$current/section/@id}">
<xsl:value-of select="$current/section/title" />
- </a>
- </li>
-
-<xsl:text>
-</xsl:text>
-
- </xsl:template>
-
- <xsl:template match="categories/categoryfile" mode="suckin">
- <xsl:apply-templates select="document(.)/faq/section" />
- </xsl:template>
+ </a>
+</li>&lf;
+</xsl:template>
+<!-- /categoryfile, "toc" -->
+
+
+<!-- ==================================================================== -->
+<!-- <categoryfile> mode="suckin" -->
+<!-- load whole file contents (for all-in-one page) -->
+<!-- ==================================================================== -->
+<xsl:template match="categories/categoryfile" mode="suckin">
+<xsl:apply-templates select="document(.)/faq/section" />
+</xsl:template>
+<!-- /categoryfile, "suckin" -->
</xsl:stylesheet>
-<?xml version="1.0"?>
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
<!DOCTYPE xsl:stylesheet [
- <!ENTITY nbsp SYSTEM "util/nbsp.xml">
+ <!ENTITY lf SYSTEM "util/lf.xml">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
- <!-- three columns, select were the particular categories shall be
- placed in. (order is irrelevant, they're placed in document order) -->
-
- <xsl:variable name="indexpage-column1" select="'
+<!-- -->
+<!-- three columns, select were the particular categories shall be -->
+<!-- placed in. (order is irrelevant, they're placed in document order) -->
+<!-- -->
+<xsl:variable name="indexpage-column1" select="'
release
manual
- '"/>
+'"/>
- <xsl:variable name="indexpage-column2" select="'
+<xsl:variable name="indexpage-column2" select="'
usersguide
- '"/>
+'"/>
- <xsl:variable name="indexpage-column3" select="'
+<xsl:variable name="indexpage-column3" select="'
howto
platform
other
- '"/>
-
- <!-- -->
- <!-- <indexpage> -->
- <!-- Process an entire document into an HTML page -->
- <!-- -->
- <xsl:template match="/indexpage">
- <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
- <xsl:call-template name="head"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <body id="index-page">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+'"/>
- <xsl:call-template name="top"/>
+<!-- ==================================================================== -->
+<!-- <indexpage> -->
+<!-- Process an entire document into an HTML page -->
+<!-- ==================================================================== -->
+<xsl:template match="/indexpage">
+<html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
+ <xsl:call-template name="head"/>&lf;
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <body id="index-page">&lf;
+ <xsl:call-template name="top"/>&lf;
<div id="page-content">
- <h1>
- <xsl:value-of select="title"/>
- </h1>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <form action="http://www.google.com/search" method="get">
- <xsl:if test="$ext-target = '1'">
- <xsl:attribute name="target">_blank</xsl:attribute>
- </xsl:if>
-
- <p>
- <!-- search google: -->
- <!-- with all of the words -->
- <input type="text" value="" name="as_q" />
- <xsl:text> </xsl:text>
- <input type="submit" value="{$messages/message[@name='search']}" />
-
- <!-- the specified number of results -->
- <input type="hidden" name="num" value="10" />
-
- <!-- the current displayed language -->
- <input type="hidden" name="hl" value="{$messages/@lang}" />
+ <h1>
+ <xsl:value-of select="title"/>
+ </h1>&lf;
- <!-- the current document encoding for input (?) -->
- <input type="hidden" name="ie" value="{$output-encoding}" />
+ <form>
+ <xsl:call-template name="search.spec" />
+ </form>&lf;
- <!-- (submit the original button and name) -->
- <input type="hidden" name="btnG" value="Google Search" />
-
- <!-- including the exact phrase "Apache 2.0" -->
- <input type="hidden" value="Apache 2.0" name="as_epq" />
-
- <!-- with at least one of the words (none) -->
- <input type="hidden" value="" name="as_oq" />
-
- <!-- without the phrase "List-Post" (to exclude the mail archives) -->
- <input type="hidden" value=""List-Post"" name="as_eq" />
-
- <!-- return results written in (any) language -->
- <input type="hidden" name="lr" value="" />
-
- <!-- and any format -->
- <input type="hidden" name="as_ft" value="i" />
- <input type="hidden" name="as_filetype" value="" />
-
- <!-- updated anytime -->
- <input type="hidden" name="as_qdr" value="all" />
-
- <!-- where the result appears anywhere in the document -->
- <input type="hidden" name="as_occt" value="any" />
-
- <!-- only from httpd.apache.org -->
- <input type="hidden" name="as_dt" value="i" />
- <input type="hidden" name="as_sitesearch" value="httpd.apache.org" />
+ <table id="indextable">
+ <tr>
+ <td class="col1">
+ <xsl:apply-templates
+ select="category[contains($indexpage-column1, @id)]" />
+ </td>
+ <td>
+ <xsl:apply-templates
+ select="category[contains($indexpage-column2, @id)]" />
+ </td>
+ <td class="col3">
+ <xsl:apply-templates
+ select="category[contains($indexpage-column3, @id)]" />
+ </td>
+ </tr>
+ </table>
+ </div>&lf; <!-- /#page-content -->
+
+ <xsl:call-template name="bottom" />&lf;
+ </body>
+</html>
+</xsl:template>
+<!-- /indexpage -->
+
+
+<!-- ==================================================================== -->
+<!-- category/page -->
+<!-- ==================================================================== -->
+<xsl:template match="indexpage/category/page">
+<li>
+ <xsl:if test="@separate='yes'">
+ <xsl:attribute name="class">separate</xsl:attribute>
+ </xsl:if>
- <!-- turn off "safe" mode -->
- <input type="hidden" name="safe" value="off" />
- </p></form>
+ <xsl:choose>
+ <xsl:when test="@href">
+ <a href="{@href}">
+ <xsl:call-template name="helper.uri.fix">
+ <xsl:with-param name="uri" select="@href"/>
+ </xsl:call-template>
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <xsl:value-of select="." />
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="." />
+ </xsl:otherwise>
+ </xsl:choose>
+</li>&lf;
+</xsl:template>
+<!-- /category/page -->
+
+
+<!-- ==================================================================== -->
+<!-- Process a indexpage category -->
+<!-- ==================================================================== -->
+<xsl:template match="indexpage/category">
+<div class="category">
+ <!-- Section heading -->
+ <h2>
+ <xsl:if test="@id">
+ <a id="{@id}" name="{@id}">
+ <xsl:apply-templates select="title" mode="print" />
+ </a>
+ </xsl:if>
- <table id="indextable">
- <tr>
- <td class="col1">
- <xsl:apply-templates
- select="category[contains($indexpage-column1, @id)]"/>
- </td>
- <td>
- <xsl:apply-templates
- select="category[contains($indexpage-column2, @id)]"/>
- </td>
- <td class="col3">
- <xsl:apply-templates
- select="category[contains($indexpage-column3, @id)]"/>
- </td>
- </tr>
- </table>
- </div> <!-- /page-content -->
+ <xsl:if test="not(@id)">
+ <xsl:apply-templates select="title" mode="print" />
+ </xsl:if>
+ </h2>&lf;
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <!-- category body -->
+ <ul>
+ <xsl:apply-templates select="page" />
+ </ul>&lf;
+</div> <!-- /.section -->
+</xsl:template>
+<!-- /category -->
- <xsl:call-template name="bottom"/>
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+<!-- ==================================================================== -->
+<!-- search specification -->
+<!-- hidden fields are taken from the advanced search page -->
+<!-- ==================================================================== -->
+<xsl:template name="search.spec">
+<xsl:attribute name="method">get</xsl:attribute>
+<xsl:attribute name="action">http://www.google.com/search</xsl:attribute>
+<xsl:if test="$ext-target">
+ <xsl:attribute name="target">_blank</xsl:attribute>
+</xsl:if>
- </body>
- </html>
- </xsl:template>
-
+<p>
+ <!-- search google: -->
+ <!-- with all of the words -->
+ <input type="text" value="" name="as_q" />
+ <xsl:text> </xsl:text>
+ <input type="submit" value="{$messages/message[@name='search']}" />
- <!-- -->
- <!-- category/page -->
- <!-- -->
- <xsl:template match="indexpage/category/page">
- <li>
- <xsl:if test="@separate='yes'">
- <xsl:attribute name="class">separate</xsl:attribute>
- </xsl:if>
+ <!-- the specified number of results -->
+ <input type="hidden" name="num" value="10" />
- <xsl:if test="@href">
- <a href="{@href}">
- <xsl:call-template name="helper.uri.fix">
- <xsl:with-param name="uri" select="@href"/>
- </xsl:call-template>
+ <!-- the current displayed language -->
+ <input type="hidden" name="hl" value="{$messages/@lang}" />
- <xsl:value-of select="."/>
- </a>
- </xsl:if>
- <xsl:if test="not(@href)">
- <xsl:value-of select="."/>
- </xsl:if>
- </li>
+ <!-- the current document encoding for input (?) -->
+ <input type="hidden" name="ie" value="{$output-encoding}" />
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <!-- (submit the original button and name) -->
+ <input type="hidden" name="btnG" value="Google Search" />
- </xsl:template>
- <!-- /category/page -->
+ <!-- including the exact phrase "Apache 2.0" -->
+ <input type="hidden" value="Apache 2.0" name="as_epq" />
+ <!-- with at least one of the words (none) -->
+ <input type="hidden" value="" name="as_oq" />
- <!-- -->
- <!-- Process a sitemap category -->
- <!-- -->
- <xsl:template match="indexpage/category">
+ <!-- without the phrase "List-Post" (to exclude the mail archives) -->
+ <input type="hidden" value=""List-Post"" name="as_eq" />
- <div class="category">
+ <!-- return results written in (any) language -->
+ <input type="hidden" name="lr" value="" />
- <!-- Section heading -->
- <h2>
- <xsl:if test="@id">
- <a id="{@id}" name="{@id}">
- <xsl:apply-templates select="title" mode="print"/>
- </a>
- </xsl:if>
+ <!-- and any format -->
+ <input type="hidden" name="as_ft" value="i" />
+ <input type="hidden" name="as_filetype" value="" />
- <xsl:if test="not(@id)">
- <xsl:apply-templates select="title" mode="print"/>
- </xsl:if>
- </h2>
+ <!-- updated anytime -->
+ <input type="hidden" name="as_qdr" value="all" />
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <!-- where the result appears anywhere in the document -->
+ <input type="hidden" name="as_occt" value="any" />
- <!-- category body -->
- <ul>
- <xsl:apply-templates select="page"/>
- </ul>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <!-- only from httpd.apache.org -->
+ <input type="hidden" name="as_dt" value="i" />
+ <input type="hidden" name="as_sitesearch" value="httpd.apache.org" />
- </div> <!-- /.section -->
- </xsl:template>
- <!-- /category -->
+ <!-- turn off "safe" mode -->
+ <input type="hidden" name="safe" value="off" />
+</p>
+</xsl:template>
+<!-- /search.spec -->
</xsl:stylesheet>
-
-<?xml version="1.0"?>
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
<!DOCTYPE xsl:stylesheet [
- <!ENTITY nbsp SYSTEM "util/nbsp.xml">
+ <!ENTITY lf SYSTEM "util/lf.xml">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
- <!-- -->
- <!-- <manualpage> -->
- <!-- Process an entire document into an HTML page -->
- <!-- -->
- <xsl:template match="manualpage">
- <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
- <xsl:call-template name="head"/>
+<!-- ==================================================================== -->
+<!-- <manualpage> -->
+<!-- Process an entire document into an HTML page -->
+<!-- ==================================================================== -->
+<xsl:template match="manualpage">
+<html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
+ <xsl:call-template name="head" />&lf;
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <body id="manual-page">
+ <body id="manual-page">
<!-- unsqueeze if there's no sidebar -->
<xsl:if test="not(count(section) > 1 or seealso)">
<xsl:attribute name="class">no-sidebar</xsl:attribute>
<xsl:call-template name="top"/>
<div id="page-content">
- <div id="preamble">
- <h1>
- <xsl:value-of select="title"/>
- </h1>
+ <div id="preamble">
+ <h1>
+ <xsl:value-of select="title"/>
+ </h1>
- <xsl:apply-templates select="summary"/>
- </div> <!-- /preamble -->
+ <xsl:apply-templates select="summary"/>
+ </div>&lf; <!-- /#preamble -->
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:if test="(not($is-chm) and count(section) > 1) or seealso">
- <div id="quickview">
- <xsl:if test="not($is-chm) and count(section) > 1">
- <ul id="toc">
- <xsl:apply-templates select="section" mode="index"/>
- </ul>
- </xsl:if>
-
- <xsl:if test="seealso">
- <h3>
- <xsl:value-of select="$messages/message[@name='seealso']"/>
- </h3>
- <ul class="seealso">
- <xsl:for-each select="seealso">
- <li>
- <xsl:apply-templates/>
- </li>
- </xsl:for-each>
- </ul>
- </xsl:if>
-
- </div> <!-- /quickview -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:if>
-
- <xsl:apply-templates select="section"/>
- </div> <!-- /page-content -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="bottom"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </body>
- </html>
- </xsl:template>
+ <xsl:if test="(not($is-chm) and count(section) > 1) or seealso">
+ <div id="quickview">
+ <xsl:if test="not($is-chm) and count(section) > 1">
+ <ul id="toc">
+ <xsl:apply-templates select="section" mode="index" />
+ </ul>
+ </xsl:if>
+
+ <xsl:if test="seealso">
+ <h3>
+ <xsl:value-of
+ select="$messages/message[@name='seealso']" />
+ </h3>
+ <ul class="seealso">
+ <xsl:for-each select="seealso">
+ <li>
+ <xsl:apply-templates />
+ </li>
+ </xsl:for-each>
+ </ul>
+ </xsl:if>
+ </div>&lf; <!-- /#quickview -->
+ </xsl:if>
+
+ <xsl:apply-templates select="section" />
+ </div>&lf; <!-- /#page-content -->
+
+ <xsl:call-template name="bottom" />&lf;
+ </body>
+</html>
+</xsl:template>
+<!-- /manualpage -->
</xsl:stylesheet>
-<?xml version="1.0"?>
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
<!DOCTYPE xsl:stylesheet [
- <!ENTITY nbsp SYSTEM "util/nbsp.xml">
+ <!ENTITY lf SYSTEM "util/lf.xml">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
- <!-- -->
- <!-- Builds the moduleindex page -->
- <!-- -->
- <xsl:template match="moduleindex">
- <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
- <xsl:call-template name="head"/>
+<!-- ==================================================================== -->
+<!-- <moduleindex> -->
+<!-- Builds the moduleindex page -->
+<!-- ==================================================================== -->
+<xsl:template match="moduleindex">
+<html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
+ <xsl:call-template name="head"/>&lf;
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <body id="module-index">
+ <body id="module-index">
<xsl:call-template name="top"/>
<div id="page-content">
- <div id="preamble">
- <h1>
- <xsl:value-of select="title"/>
- </h1>
+ <div id="preamble">
+ <h1>
+ <xsl:value-of select="title" />
+ </h1>&lf;
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:apply-templates select="summary" />
- </div>
- <!-- /preamble -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:if test="not($is-chm) or seealso">
- <div id="quickview">
- <xsl:if test="not($is-chm)">
- <ul id="toc">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <li>
- <img src="{$path}/images/down.gif" alt="" />
- <xsl:text> </xsl:text>
- <a href="#core">
- <xsl:value-of select="$messages/message[@name='corefeatures']"/>
- </a>
- </li>
-
- <li>
- <img src="{$path}/images/down.gif" alt="" />
- <xsl:text> </xsl:text>
- <a href="#other">
- <xsl:value-of select="$messages/message[@name='othermodules']"/>
- </a>
- </li>
- </ul>
- </xsl:if> <!-- chm -->
-
- <xsl:if test="seealso">
- <h3>
- <xsl:value-of select="$messages/message[@name='seealso']"/>
- </h3>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <ul class="seealso">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:for-each select="seealso">
- <li>
- <xsl:apply-templates/>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:for-each>
- </ul>
- </xsl:if>
- </div> <!-- /quickview -->
- </xsl:if> <!-- chm foo -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="toplink"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <div class="section">
- <h2>
- <a name="core" id="core">
- <xsl:value-of select="$messages/message[@name='corefeatures']"/>
- </a>
- </h2>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <!-- -->
- <!-- put core and mpm_common on top -->
- <!-- -->
- <dl>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <dt>
- <a href="{document(modulefilelist/modulefile[starts-with(.,'core.xml')])/modulesynopsis/name}.html">
- <xsl:value-of select="document(modulefilelist/modulefile[starts-with(.,'core.xml')])/modulesynopsis/name"/>
- </a>
- </dt>
- <dd>
- <xsl:apply-templates select="document(modulefilelist/modulefile[starts-with(.,'core.xml')])/modulesynopsis/description"/>
- </dd>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <dt>
- <a href="{document(modulefilelist/modulefile[starts-with(.,'mpm_common.xml')])/modulesynopsis/name}.html">
- <xsl:value-of select="document(modulefilelist/modulefile[starts-with(.,'mpm_common.xml')])/modulesynopsis/name"/>
- </a>
- </dt>
- <dd class="separate">
- <xsl:apply-templates select="document(modulefilelist/modulefile[starts-with(.,'mpm_common.xml')])/modulesynopsis/description"/>
- </dd>
- <!-- /core, mpm_common -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:variable name="mpmmodules" select="document(modulefilelist/modulefile)/modulesynopsis[status='MPM' and name != 'mpm_common']"/>
- <xsl:variable name="translist">
- <xsl:call-template name="module-translist">
- <xsl:with-param name="modules" select="$mpmmodules"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:for-each select="$mpmmodules">
- <xsl:sort select="substring-before(substring-after($translist, concat('- ', translate(normalize-space(name),$lowercase,$uppercase), ' ')), ' -')"/>
-
- <dt>
- <a href="{name}.html">
- <xsl:value-of select="name"/>
- </a>
- </dt>
- <dd>
- <xsl:apply-templates select="description"/>
- </dd>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:for-each>
- <!-- /mpm -->
- </dl>
- </div>
- <!-- /core section -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="toplink"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <div class="section">
- <h2>
- <a name="other" id="other">
- <xsl:value-of select="$messages/message[@name='othermodules']"/>
- </a>
- </h2>
+ <xsl:apply-templates select="summary" />
+ </div>&lf; <!-- /#preamble -->
+
+ <xsl:if test="not($is-chm) or seealso">
+ <div id="quickview">
+ <xsl:if test="not($is-chm)">
+ <ul id="toc">&lf;
+ <li>
+ <img src="{$path}/images/down.gif" alt="" />
+ <xsl:text> </xsl:text>
+ <a href="#core">
+ <xsl:value-of select="$messages/message
+ [@name='corefeatures']" />
+ </a>
+ </li>
+ <li>
+ <img src="{$path}/images/down.gif" alt="" />
+ <xsl:text> </xsl:text>
+ <a href="#other">
+ <xsl:value-of select="$messages/message
+ [@name='othermodules']" />
+ </a>
+ </li>
+ </ul>
+ </xsl:if> <!-- !$is-chm -->
+
+ <xsl:if test="seealso">
+ <h3>
+ <xsl:value-of select="$messages/message
+ [@name='seealso']" />
+ </h3>&lf;
+
+ <ul class="seealso">&lf;
+ <xsl:for-each select="seealso">
+ <li>
+ <xsl:apply-templates />
+ </li>&lf;
+ </xsl:for-each>
+ </ul>
+ </xsl:if> <!-- /seealso -->
+ </div> <!-- /#quickview -->
+ </xsl:if>&lf; <!-- have sidebar -->
+
+ <xsl:call-template name="toplink" />&lf;
+
+ <div class="section">
+ <h2>
+ <a name="core" id="core">
+ <xsl:value-of select="$messages/message
+ [@name='corefeatures']" />
+ </a>
+ </h2>&lf;
+
+ <!-- core -->
+ <dl>&lf;
+ <dt>
+ <a href="{document(modulefilelist/modulefile
+ [starts-with(., 'core.xml')])
+ /modulesynopsis/name}.html">
+ <xsl:value-of
+ select="document(modulefilelist/modulefile
+ [starts-with(., 'core.xml')])
+ /modulesynopsis/name" />
+ </a>
+ </dt>
+ <dd>
+ <xsl:apply-templates
+ select="document(modulefilelist/modulefile
+ [starts-with(., 'core.xml')])
+ /modulesynopsis/description" />
+ </dd>&lf;
+
+ <!-- mpm_common -->
+ <dt>
+ <a href="{document(modulefilelist/modulefile
+ [starts-with(., 'mpm_common.xml')])
+ /modulesynopsis/name}.html">
+ <xsl:value-of
+ select="document(modulefilelist/modulefile
+ [starts-with(., 'mpm_common.xml')])
+ /modulesynopsis/name" />
+ </a>
+ </dt>
+ <dd class="separate">
+ <xsl:apply-templates
+ select="document(modulefilelist/modulefile
+ [starts-with(., 'mpm_common.xml')])
+ /modulesynopsis/description" />
+ </dd>&lf;
+
+ <!-- and now the remaining MPMs -->
+ <xsl:variable name="mpmmodules"
+ select="document(modulefilelist/modulefile)
+ /modulesynopsis
+ [status='MPM' and name != 'mpm_common']" />
+ <xsl:variable name="translist">
+ <xsl:call-template name="module-translist">
+ <xsl:with-param name="modules" select="$mpmmodules" />
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:for-each select="$mpmmodules">
+ <xsl:sort select="substring-before(substring-after($translist,
+ concat('- ', translate(normalize-space(name), $lowercase,
+ $uppercase), ' ')), ' -')" />
+
+ <dt>
+ <a href="{name}.html">
+ <xsl:value-of select="name" />
+ </a>
+ </dt>
+ <dd>
+ <xsl:apply-templates select="description" />
+ </dd>&lf;
+ </xsl:for-each>
+ </dl>
+ </div>&lf; <!-- /core section -->
+
+ <xsl:call-template name="toplink" />&lf;
+
+ <div class="section">
+ <h2>
+ <a name="other" id="other">
+ <xsl:value-of select="$messages/message
+ [@name='othermodules']" />
+ </a>
+ </h2>&lf;
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:variable name="modules" select="document(modulefilelist/modulefile)/modulesynopsis[status!='MPM' and status!='Core' and status!='Obsolete']"/>
-
- <!-- collect the start letters -->
- <xsl:variable name="start-letters">
- <xsl:call-template name="module-startletters">
- <xsl:with-param name="modules" select="$modules"/>
- </xsl:call-template>
- </xsl:variable>
-
- <!-- letter line -->
- <p class="letters">
- <xsl:call-template name="letter-bar">
- <xsl:with-param name="letters" select="$start-letters"/>
- <xsl:with-param name="first" select="true()"/>
- </xsl:call-template>
- </p>
- <!-- /letter line -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <dl>
- <xsl:call-template name="mindex-of-letter">
- <xsl:with-param name="letters-todo" select="$start-letters"/>
- <xsl:with-param name="modules" select="$modules"/>
- </xsl:call-template>
- </dl>
- </div>
- <!-- /modules section -->
-
- </div>
- <!-- /page-content -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="bottom"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </body>
- </html>
- </xsl:template>
- <!-- /moduleindex -->
-
-
- <!-- -->
- <!-- the working horse. builds list items of all -->
- <!-- modules starting with one letter -->
- <!-- when done, it calls itself to catch the next letter -->
- <!-- -->
- <xsl:template name="mindex-of-letter">
- <xsl:param name="letters-todo"/>
- <xsl:param name="modules"/>
-
- <xsl:variable name="letter" select="substring($letters-todo,1,1)"/>
- <xsl:variable name="translist">
- <xsl:call-template name="module-translist">
- <xsl:with-param name="modules" select="$modules"/>
- </xsl:call-template>
- </xsl:variable>
-
- <xsl:for-each select="$modules[$letter=substring(substring-before(substring-after($translist, concat('- ', translate(normalize-space(name),$lowercase,$uppercase), ' ')), ' -'), 1, 1)]">
- <xsl:sort select="substring-before(substring-after($translist, concat('- ', translate(normalize-space(name),$lowercase,$uppercase), ' ')), ' -')"/>
-
- <dt>
- <a href="{name}.html">
- <xsl:if test="position()=1">
- <xsl:attribute name="id"><xsl:value-of select="$letter"/></xsl:attribute>
- <xsl:attribute name="name"><xsl:value-of select="$letter"/></xsl:attribute>
- </xsl:if>
-
- <xsl:value-of select="name"/>
- </a>
- </dt>
- <dd>
- <xsl:apply-templates select="description"/>
- </dd>
-
-<xsl:text>
-</xsl:text> <!-- insert a line break -->
-
- </xsl:for-each> <!-- /directives -->
-
- <!-- call next letter, if there is -->
- <xsl:if test="string-length($letters-todo) > 1">
- <xsl:call-template name="mindex-of-letter">
- <xsl:with-param name="letters-todo" select="substring($letters-todo,2)"/>
- <xsl:with-param name="modules" select="$modules"/>
- </xsl:call-template>
- </xsl:if>
+ <xsl:variable name="modules"
+ select="document(modulefilelist/modulefile)
+ /modulesynopsis[status!='MPM' and
+ status!='Core']" />
+
+ <xsl:variable name="start-letters">
+ <xsl:call-template name="module-startletters">
+ <xsl:with-param name="modules" select="$modules" />
+ </xsl:call-template>
+ </xsl:variable>
+
+ <p class="letters">
+ <xsl:call-template name="letter-bar">
+ <xsl:with-param name="letters" select="$start-letters"/>
+ <xsl:with-param name="first" select="true()"/>
+ </xsl:call-template>
+ </p>&lf;
+
+ <dl>
+ <xsl:call-template name="mindex-of-letter">
+ <xsl:with-param name="letters-todo"
+ select="$start-letters" />
+ <xsl:with-param name="modules" select="$modules" />
+ </xsl:call-template>
+ </dl>
+ </div> <!-- /modules section -->
+ </div>&lf; <!-- /#page-content -->
+
+ <xsl:call-template name="bottom" />&lf;
+ </body>
+</html>
+</xsl:template>
+<!-- /moduleindex -->
+
+
+<!-- ==================================================================== -->
+<!-- the working horse. builds list items of all modules starting with -->
+<!-- one letter when done, it calls itself to catch the next letter -->
+<!-- ==================================================================== -->
+<xsl:template name="mindex-of-letter">
+<xsl:param name="letters-todo"/>
+<xsl:param name="modules"/>
+
+<xsl:variable name="letter" select="substring($letters-todo, 1, 1)" />
+<xsl:variable name="translist">
+ <xsl:call-template name="module-translist">
+ <xsl:with-param name="modules" select="$modules" />
+ </xsl:call-template>
+</xsl:variable>
- </xsl:template>
- <!-- /mindex-of-letter -->
+<xsl:for-each
+ select="$modules[$letter=substring(substring-before(substring-after(
+ $translist, concat('- ', translate(normalize-space(name), $lowercase,
+ $uppercase), ' ')), ' -'), 1, 1)]">
+<xsl:sort
+ select="substring-before(substring-after($translist, concat('- ',
+ translate(normalize-space(name),$lowercase,$uppercase), ' ')), ' -')" />
+ <dt>
+ <a href="{name}.html">
+ <xsl:if test="position() = 1">
+ <xsl:attribute name="id">
+ <xsl:value-of select="$letter" />
+ </xsl:attribute>
+ <xsl:attribute name="name">
+ <xsl:value-of select="$letter" />
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:value-of select="name" />
+ </a>
+ </dt>
+ <dd>
+ <xsl:apply-templates select="description" />
+ </dd>&lf;
+</xsl:for-each> <!-- /directives -->
+
+<!-- call next letter, if there is -->
+<xsl:if test="string-length($letters-todo) > 1">
+ <xsl:call-template name="mindex-of-letter">
+ <xsl:with-param name="letters-todo"
+ select="substring($letters-todo, 2)" />
+ <xsl:with-param name="modules" select="$modules" />
+ </xsl:call-template>
+</xsl:if>
+</xsl:template>
+<!-- /mindex-of-letter -->
- <!-- -->
- <!-- collect start letters of modules -->
- <!-- -->
- <xsl:template name="module-startletters">
- <xsl:param name="modules"/>
- <xsl:variable name="translist">
- <xsl:call-template name="module-translist">
- <xsl:with-param name="modules" select="$modules"/>
- </xsl:call-template>
- </xsl:variable>
+<!-- ==================================================================== -->
+<!-- collect start letters of modules -->
+<!-- ==================================================================== -->
+<xsl:template name="module-startletters">
+<xsl:param name="modules" />
- <xsl:call-template name="_squeeze-letters">
- <xsl:with-param name="lastletter" select="''"/>
+<xsl:variable name="translist">
+ <xsl:call-template name="module-translist">
+ <xsl:with-param name="modules" select="$modules" />
+ </xsl:call-template>
+</xsl:variable>
- <xsl:with-param name="letters">
+<xsl:call-template name="_squeeze-letters">
+ <xsl:with-param name="lastletter" select="''" />
+ <xsl:with-param name="letters">
<xsl:for-each select="$modules">
- <xsl:sort select="substring-before(substring-after($translist, concat('- ', translate(normalize-space(name),$lowercase,$uppercase), ' ')), ' -')"/>
- <xsl:value-of select="substring(substring-before(substring-after($translist, concat('- ', translate(normalize-space(name),$lowercase,$uppercase), ' ')), ' -'), 1, 1)"/>
+ <xsl:sort
+ select="substring-before(substring-after($translist, concat('- ',
+ translate(normalize-space(name), $lowercase, $uppercase), ' ')),
+ ' -')" />
+ <xsl:value-of
+ select="substring(substring-before(substring-after($translist,
+ concat('- ', translate(normalize-space(name), $lowercase,
+ $uppercase), ' ')), ' -'), 1, 1)" />
</xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
-
- </xsl:template>
- <!-- /module-startletters -->
-
-
- <!-- -->
- <!-- define module name translations for sorting -->
- <!-- -->
- <!-- it's a kind of a hack... -->
- <!-- we build a string that contains the following data: -->
- <!-- "- modulename sortname - modulename sortname - ..." -->
- <!-- (with all data in uppercase) -->
- <!-- -->
- <!-- So, the translation from modulename to sortname -->
- <!-- can be done with the expression below: -->
- <!--
+ </xsl:with-param>
+</xsl:call-template>
+</xsl:template>
+<!-- /module-startletters -->
+
+
+<!-- ==================================================================== -->
+<!-- define module name translations for sorting -->
+<!-- -->
+<!-- it's a kind of a hack... -->
+<!-- we build a string that contains the following data: -->
+<!-- "- modulename sortname - modulename sortname - ..." -->
+<!-- (with all data in uppercase) -->
+<!-- -->
+<!-- So, the translation from modulename to sortname can be done with the -->
+<!-- expression below: -->
+<!--
substring-before(
substring-after($translist,
- concat('- ',
- translate(modulename,
- $lowercase,
- $uppercase),
+ concat('- ', translate(modulename,
+ $lowercase, $uppercase),
' ')
),
' -')
- -->
- <!-- -->
- <xsl:template name="module-translist">
- <xsl:param name="modules"/>
-
- <xsl:text>-</xsl:text>
- <xsl:for-each select="$modules">
- <xsl:variable name="sname" select="translate(normalize-space(name),$lowercase,$uppercase)"/>
-
- <xsl:text> </xsl:text>
- <xsl:value-of select="$sname"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="module-translatename">
- <xsl:with-param name="name" select="$sname"/>
- </xsl:call-template>
- <xsl:text> -</xsl:text>
- </xsl:for-each>
-
- </xsl:template>
- <!-- /module-translist -->
-
- </xsl:stylesheet>
+ -->
+<!-- ==================================================================== -->
+<xsl:template name="module-translist">
+<xsl:param name="modules" />
+
+<xsl:text>-</xsl:text>
+<xsl:for-each select="$modules">
+ <xsl:variable name="sname" select="translate(normalize-space(name),
+ $lowercase, $uppercase)" />
+
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$sname" />
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="module-translatename">
+ <xsl:with-param name="name" select="$sname" />
+ </xsl:call-template>
+ <xsl:text> -</xsl:text>
+</xsl:for-each>
+</xsl:template>
+<!-- /module-translist -->
+
+</xsl:stylesheet>
-<?xml version="1.0"?>
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
<!DOCTYPE xsl:stylesheet [
- <!ENTITY nbsp SYSTEM "util/nbsp.xml">
+ <!ENTITY lf SYSTEM "util/lf.xml">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
- <!-- -->
- <!-- <quickreference> -->
- <!-- Builds the directive quickreference page -->
- <!-- -->
- <xsl:template match="quickreference">
- <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
- <xsl:call-template name="head"/>
+<!-- ==================================================================== -->
+<!-- <quickreference> -->
+<!-- Builds the directive quickreference page -->
+<!-- ==================================================================== -->
+<xsl:template match="quickreference">
+<html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
+ <xsl:call-template name="head"/>&lf;
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <body id="directive-index">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="top"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <body id="directive-index">&lf;
+ <xsl:call-template name="top"/>&lf;
<div id="preamble">
- <h1>
- <xsl:value-of select="title"/>
- </h1>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:apply-templates select="summary" />
- </div> <!-- /preamble -->
+ <h1>
+ <xsl:value-of select="title" />
+ </h1>&lf;
-<xsl:text>
-</xsl:text> <!-- insert a line break -->
+ <xsl:apply-templates select="summary" />
+ </div>&lf; <!-- /#preamble -->
<div id="directive-ref">
+ <xsl:variable name="directives"
+ select="document(modulefilelist/modulefile)
+ /modulesynopsis/directivesynopsis[not(@location)]" />
- <xsl:variable name="directives" select="document(modulefilelist/modulefile)/modulesynopsis[status!='Obsolete']/directivesynopsis[not(@location)]"/>
-
- <!-- first collect the start letters -->
- <xsl:variable name="start-letters">
- <xsl:call-template name="directive-startletters">
- <xsl:with-param name="directives" select="$directives"/>
- </xsl:call-template>
- </xsl:variable>
-
- <table id="legend">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <tr>
- <td class="letters"><span>
- <xsl:call-template name="letter-bar">
- <xsl:with-param name="letters" select="$start-letters"/>
- <xsl:with-param name="first" select="true()"/>
+ <xsl:variable name="start-letters">
+ <xsl:call-template name="directive-startletters">
+ <xsl:with-param name="directives" select="$directives" />
</xsl:call-template>
- </span></td>
-
-<xsl:text>
-</xsl:text> <!-- insert a line break -->
-
- <td>
- <xsl:apply-templates select="legend/table[position()=1]"/>
- </td>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <td>
- <xsl:apply-templates select="legend/table[position()=2]"/>
- </td>
- </tr>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </table>
-
-<xsl:text>
-</xsl:text> <!-- insert a line break -->
-
- <table class="qref">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ </xsl:variable>
+ <table id="legend">&lf;
+ <tr>
+ <td class="letters">
+ <span>
+ <xsl:call-template name="letter-bar">
+ <xsl:with-param name="letters"
+ select="$start-letters" />
+ <xsl:with-param name="first" select="true()" />
+ </xsl:call-template>
+ </span>
+ </td>&lf;
+ <td>
+ <xsl:apply-templates select="legend/table[position()=1]" />
+ </td>&lf;
+ <td>
+ <xsl:apply-templates select="legend/table[position()=2]" />
+ </td>
+ </tr>&lf;
+ </table>&lf;
+
+ <table class="qref">&lf;
<xsl:call-template name="reference-of-letter">
- <xsl:with-param name="letters-todo" select="$start-letters"/>
- <xsl:with-param name="offset" select="number(0)"/>
- <xsl:with-param name="directives" select="$directives"/>
+ <xsl:with-param name="letters-todo" select="$start-letters" />
+ <xsl:with-param name="offset" select="number(0)" />
+ <xsl:with-param name="directives" select="$directives" />
</xsl:call-template>
- </table>
-
- </div> <!-- /directive-ref -->
+ </table>
+ </div>&lf; <!-- /#directive-ref -->
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <xsl:call-template name="bottom"/>&lf;
+ </body>
+</html>
+</xsl:template>
+<!-- /quickreference -->
- <xsl:call-template name="bottom"/>
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+<!-- ==================================================================== -->
+<!-- the working horse. builds rows of all directives starting with one -->
+<!-- letter when done, it calls itself to catch the next letter -->
+<!-- ==================================================================== -->
+<xsl:template name="reference-of-letter">
+<xsl:param name="letters-todo" />
+<xsl:param name="offset" />
+<xsl:param name="directives" />
- </body>
- </html>
- </xsl:template>
+<xsl:variable name="letter" select="substring($letters-todo, 1, 1)" />
+<xsl:for-each
+ select="$directives[$letter=translate(substring(normalize-space(name), 1,1),
+ $lowercase,$uppercase)]">
+<xsl:sort select="name" />
- <!-- -->
- <!-- the working horse. builds rows of all directives -->
- <!-- starting with one letter -->
- <!-- when done, it calls itself to catch the next letter -->
- <!-- -->
- <xsl:template name="reference-of-letter">
- <xsl:param name="letters-todo"/>
- <xsl:param name="offset"/>
- <xsl:param name="directives"/>
-
- <xsl:variable name="letter" select="substring($letters-todo,1,1)"/>
-
- <xsl:for-each select="$directives[$letter=translate(substring(normalize-space(name),1,1),$lowercase,$uppercase)]">
- <xsl:sort select="name"/>
-
- <tr>
+ <tr>
<xsl:if test="position() mod 2 = $offset">
- <xsl:attribute name="class">odd</xsl:attribute>
+ <xsl:attribute name="class">odd</xsl:attribute>
</xsl:if>
<td>
- <a href="{../name}.html#{translate(name,$uppercase,$lowercase)}">
- <xsl:if test="position()=1">
- <xsl:attribute name="id"><xsl:value-of select="$letter"/></xsl:attribute>
- <xsl:attribute name="name"><xsl:value-of select="$letter"/></xsl:attribute>
- </xsl:if>
-
- <xsl:apply-templates select="syntax"/>
- </a>
+ <a href="{../name}.html#{translate(name, $uppercase, $lowercase)}">
+ <xsl:if test="position()=1">
+ <xsl:attribute name="id">
+ <xsl:value-of select="$letter" />
+ </xsl:attribute>
+ <xsl:attribute name="name">
+ <xsl:value-of select="$letter" />
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:apply-templates select="syntax" />
+ </a>
</td>
-
<td>
- <xsl:variable name="default">
- <xsl:choose>
- <xsl:when test="count(default[count(br) > 0]) > 0">
- <xsl:value-of select="default/child::node()[count(preceding-sibling::*) = 0]"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="default"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:value-of select="substring(substring-after(concat($default,' '),name),1,20)"/>
- <xsl:if test="string-length(substring-after(concat($default,' '),name)) > 20
- or count(default[count(br) > 0]) > 0">
- <xsl:text> +</xsl:text>
- </xsl:if>
+ <!-- if the default value contains (at least) one <br />, -->
+ <!-- this probably means that a short explanation follows -->
+ <!-- the actual default value. We cut off the string -->
+ <!-- after the <br /> so it will not be shown here. -->
+ <!-- (add the + character instead) -->
+ <xsl:variable name="default">
+ <xsl:choose>
+ <xsl:when test="count(default[count(br) > 0]) > 0">
+ <xsl:value-of
+ select="default/child::node()
+ [count(preceding-sibling::*) = 0]" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="default"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:value-of select="substring(substring-after(concat($default,
+ ' '), name),1,20)" />
+ <xsl:if test="string-length(substring-after(concat($default, ' '),
+ name)) > 20
+ or count(default[count(br) > 0]) > 0">
+ <xsl:text> +</xsl:text>
+ </xsl:if>
</td>
-
<td>
- <xsl:if test="contextlist/context[normalize-space(.)='server config']">s</xsl:if>
- <xsl:if test="contextlist/context[normalize-space(.)='virtual host']">v</xsl:if>
- <xsl:if test="contextlist/context[normalize-space(.)='directory']">d</xsl:if>
- <xsl:if test="contextlist/context[normalize-space(.)='.htaccess']">h</xsl:if>
+ <xsl:if test="contextlist/context
+ [normalize-space(.)='server config']">s</xsl:if>
+ <xsl:if test="contextlist/context
+ [normalize-space(.)='virtual host']">v</xsl:if>
+ <xsl:if test="contextlist/context
+ [normalize-space(.)='directory']">d</xsl:if>
+ <xsl:if test="contextlist/context
+ [normalize-space(.)='.htaccess']">h</xsl:if>
</td>
-
<td>
- <xsl:choose>
+ <xsl:choose>
<xsl:when test="../status='Base'">B</xsl:when>
<xsl:when test="../status='MPM'">M</xsl:when>
<xsl:when test="../status='Core'">C</xsl:when>
<xsl:when test="../status='Extension'">E</xsl:when>
<xsl:when test="../status='Experimental'">X</xsl:when>
- </xsl:choose>
+ </xsl:choose>
</td>
- </tr>
-
- <tr>
+ </tr>
+ <tr>
<xsl:if test="position() mod 2 = $offset">
- <xsl:attribute name="class">odd</xsl:attribute>
+ <xsl:attribute name="class">odd</xsl:attribute>
</xsl:if>
- <td colspan="4" class="descr"><xsl:choose>
- <xsl:when test="string-length(normalize-space(description)) > 0">
- <xsl:apply-templates select="description"/>
- </xsl:when>
-
- <xsl:otherwise>
- <xsl:text>-</xsl:text>
- </xsl:otherwise></xsl:choose>
+ <td colspan="4" class="descr">
+ <xsl:choose>
+ <xsl:when test="string-length(normalize-space(description)) > 0">
+ <xsl:apply-templates select="description"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>-</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
</td>
- </tr>
-
-<xsl:text>
-</xsl:text> <!-- insert a line break -->
-
- </xsl:for-each> <!-- /directives -->
-
- <!-- call next letter, if there is -->
- <xsl:if test="string-length($letters-todo) > 1">
- <xsl:call-template name="reference-of-letter">
- <xsl:with-param name="letters-todo" select="substring($letters-todo,2)"/>
- <xsl:with-param name="offset" select="(count($directives[$letter=translate(substring(normalize-space(name),1,1),$lowercase,$uppercase)]) + $offset) mod 2"/>
- <xsl:with-param name="directives" select="$directives"/>
- </xsl:call-template>
- </xsl:if>
-
- </xsl:template>
- <!-- /reference-of-letter -->
+ </tr>&lf;
+</xsl:for-each> <!-- /directives -->
+
+<!-- call next letter, if there is -->
+<xsl:if test="string-length($letters-todo) > 1">
+ <xsl:call-template name="reference-of-letter">
+ <xsl:with-param name="letters-todo"
+ select="substring($letters-todo, 2)" />
+ <xsl:with-param name="offset"
+ select="(count($directives[$letter=translate(substring(
+ normalize-space(name), 1, 1), $lowercase, $uppercase)])
+ + $offset) mod 2" />
+ <xsl:with-param name="directives" select="$directives" />
+ </xsl:call-template>
+</xsl:if>
+</xsl:template>
+<!-- /reference-of-letter -->
</xsl:stylesheet>
-<?xml version="1.0"?>
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
<!DOCTYPE xsl:stylesheet [
- <!ENTITY nbsp SYSTEM "util/nbsp.xml">
+ <!ENTITY lf SYSTEM "util/lf.xml">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
- <!-- document() works relative to the xsl (!) file -->
- <xsl:variable name="basedir" select="'../../'"/>
+<!-- If we use document() in the context of this xsl file, the contextual -->
+<!-- CWD is the xsl file containing directory. $basedir reflects the -->
+<!-- manual root for that case. -->
+<xsl:variable name="basedir" select="'../../'" />
+<!-- ==================================================================== -->
+<!-- <sitemap> -->
+<!-- Process an entire document into an HTML page -->
+<!-- ==================================================================== -->
+<xsl:template match="/sitemap">
+<html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
+ <xsl:call-template name="head" />&lf;
- <!-- -->
- <!-- <sitemap> -->
- <!-- Process an entire document into an HTML page -->
- <!-- -->
- <xsl:template match="/sitemap">
- <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
- <xsl:call-template name="head"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <body id="manual-page">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="top"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <body id="manual-page">&lf;
+ <xsl:call-template name="top" />&lf;
<div id="page-content">
- <div id="preamble">
- <h1>
- <xsl:value-of select="title"/>
- </h1>
+ <div id="preamble">
+ <h1>
+ <xsl:value-of select="title" />
+ </h1>&lf;
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:apply-templates select="summary"/>
- </div> <!-- /preamble -->
+ <xsl:apply-templates select="summary" />
+ </div>&lf; <!-- /#preamble -->
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:if test="(not($is-chm) and count(category) > 1) or seealso">
- <div id="quickview">
- <xsl:if test="not($is-chm) and count(category) > 1">
-
- <!-- category index -->
- <ul id="toc">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:for-each select="category">
- <xsl:if test="@id">
- <li>
- <img src="{$path}/images/down.gif" alt="" />
- <xsl:text> </xsl:text>
- <a href="#{@id}">
- <xsl:apply-templates select="title" mode="print"/>
- </a>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
+ <xsl:if test="(not($is-chm) and count(category) > 1) or seealso">
+ <div id="quickview">
+ <xsl:if test="not($is-chm) and count(category) > 1">
+ <ul id="toc">&lf;
+ <xsl:for-each select="category">
+ <xsl:choose>
+ <xsl:when test="@id">
+ <li>
+ <img src="{$path}/images/down.gif" alt="" />
+ <xsl:text> </xsl:text>
+ <a href="#{@id}">
+ <xsl:apply-templates
+ select="title" mode="print" />
+ </a>
+ </li>&lf;
+ </xsl:when>
+ <xsl:otherwise>
+ <li>
+ <img src="{$path}/images/down.gif" alt="" />
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates
+ select="title" mode="print" />
+ </li>&lf;
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </ul>&lf;
</xsl:if>
- <xsl:if test="not(@id)">
- <li>
- <img src="{$path}/images/down.gif" alt="" />
- <xsl:text> </xsl:text>
- <xsl:apply-templates select="title" mode="print"/>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
+ <xsl:if test="seealso">
+ <h3>
+ <xsl:value-of select="$messages/message
+ [@name='seealso']" />
+ </h3>&lf;
+
+ <ul class="seealso">&lf;
+ <xsl:for-each select="seealso">
+ <li>
+ <xsl:apply-templates />
+ </li>&lf;
+ </xsl:for-each>
+ </ul>&lf;
</xsl:if>
- </xsl:for-each>
- </ul>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:if>
-
- <xsl:if test="seealso">
- <h3>
- <xsl:value-of select="$messages/message[@name='seealso']"/>
- </h3>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ </div>&lf; <!-- /#quickview -->
+ </xsl:if> <!-- have sidebar -->
- <ul class="seealso">
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <xsl:apply-templates select="category" />
+ </div>&lf; <!-- /#page-content -->
- <xsl:for-each select="seealso">
- <li>
- <xsl:apply-templates/>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:for-each>
- </ul>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:if>
-
- </div> <!-- /quickview -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:if>
-
- <xsl:apply-templates select="category"/>
- </div> <!-- /page-content -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="bottom"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </body>
- </html>
- </xsl:template>
+ <xsl:call-template name="bottom" />&lf;
+ </body>
+</html>
+</xsl:template>
+<!-- /sitemap -->
- <!-- -->
- <!-- category/page -->
- <!-- -->
- <xsl:template match="sitemap/category/page">
- <li>
- <xsl:if test="@separate='yes'">
+<!-- ==================================================================== -->
+<!-- category/page -->
+<!-- ==================================================================== -->
+<xsl:template match="sitemap/category/page">
+<li>
+ <xsl:if test="@separate='yes'">
<xsl:attribute name="class">separate</xsl:attribute>
- </xsl:if>
+ </xsl:if>
- <xsl:if test="@href">
+ <xsl:choose>
+ <xsl:when test="@href">
<a href="{@href}">
- <xsl:call-template name="helper.uri.fix">
- <xsl:with-param name="uri" select="@href"/>
- </xsl:call-template>
- <xsl:value-of select="."/>
+ <xsl:call-template name="helper.uri.fix">
+ <xsl:with-param name="uri" select="@href" />
+ </xsl:call-template>
+ <xsl:value-of select="." />
</a>
- </xsl:if>
- <xsl:if test="not(@href)">
- <xsl:value-of select="."/>
- </xsl:if>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:template>
- <!-- /category/page -->
-
-
- <!-- -->
- <!-- Process a sitemap category -->
- <!-- -->
- <xsl:template match="sitemap/category">
-
- <xsl:call-template name="toplink"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <div class="section">
-
- <!-- Section heading -->
- <h2>
- <xsl:if test="@id">
- <a id="{@id}" name="{@id}">
- <xsl:apply-templates select="title" mode="print"/>
- </a>
- </xsl:if>
-
- <xsl:if test="not(@id)">
- <xsl:apply-templates select="title" mode="print"/>
- </xsl:if>
- </h2>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <!-- category body -->
- <ul>
- <xsl:apply-templates select="page"/>
- </ul>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="." />
+ </xsl:otherwise>
+ </xsl:choose>
+</li>&lf;
+</xsl:template>
+<!-- /category/page -->
+
+
+<!-- ==================================================================== -->
+<!-- Process a sitemap category -->
+<!-- ==================================================================== -->
+<xsl:template match="sitemap/category">
+<xsl:call-template name="toplink" />&lf;
+
+<div class="section">
+ <!-- Category title -->
+ <h2>
+ <xsl:choose>
+ <xsl:when test="@id">
+ <a id="{@id}" name="{@id}">
+ <xsl:apply-templates select="title" mode="print" />
+ </a>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="title" mode="print" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </h2>&lf;
+
+ <!-- category body -->
+ <ul>
+ <xsl:apply-templates select="page" />
+ </ul>
- <xsl:apply-templates select="modulefilelist"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </div> <!-- /.section -->
- </xsl:template>
- <!-- /category -->
-
-
- <!-- -->
- <!-- category/modulefilelist -->
- <!-- insert module list into sitemap -->
- <!-- -->
- <xsl:template match="sitemap/category/modulefilelist">
-
- <!-- create our own translation list first -->
- <xsl:variable name="translist">
- <xsl:text>-</xsl:text>
-
- <xsl:for-each select="modulefile">
- <xsl:variable name="current" select="document(concat($basedir,'mod/',.))/modulesynopsis" />
+ <!-- optional ... -->
+ <xsl:apply-templates select="modulefilelist" />&lf;
+</div> <!-- /.section -->
+</xsl:template>
+<!-- /category -->
+
+
+<!-- ==================================================================== -->
+<!-- category/modulefilelist -->
+<!-- insert module list into sitemap -->
+<!-- ==================================================================== -->
+<xsl:template match="sitemap/category/modulefilelist">
+<xsl:variable name="translist">
+ <xsl:text>-</xsl:text>
+ <xsl:for-each select="modulefile">
+ <xsl:variable name="current"
+ select="document(concat($basedir,'mod/',.))/modulesynopsis" />
<xsl:text> </xsl:text>
- <xsl:value-of select="$current/name"/>
+ <xsl:value-of select="$current/name" />
<xsl:text> </xsl:text>
<xsl:call-template name="module-translatename">
- <xsl:with-param name="name" select="$current/name"/>
+ <xsl:with-param name="name" select="$current/name" />
</xsl:call-template>
<xsl:text> -</xsl:text>
- </xsl:for-each>
- </xsl:variable>
-
- <ul>
- <!-- put core and mpm_common on top -->
- <li>
- <a href="mod/core.html">
- <xsl:value-of select="$messages/message[@name='apachecore']"/>
- </a>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <li>
- <a href="mod/mpm_common.html">
- <xsl:value-of select="$messages/message[@name='apachempmcommon']"/>
- </a>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:for-each select="modulefile">
- <xsl:sort select="substring-before(substring-after($translist, concat('- ', document(concat($basedir,'mod/',.))/modulesynopsis/name, ' ')), ' -')"/>
-
- <xsl:variable name="current" select="document(concat($basedir,'mod/',.))/modulesynopsis" />
-
- <xsl:if test="$current/status='MPM' and $current/name!='mpm_common'">
- <xsl:variable name="name" select="substring-before(substring-after($translist, concat('- ', $current/name, ' ')), ' -')"/>
-
- <li>
+ </xsl:for-each>
+</xsl:variable>
+
+<ul>
+<li>
+ <a href="mod/core.html">
+ <xsl:value-of select="$messages/message[@name='apachecore']" />
+ </a>
+</li>&lf;
+<li>
+ <a href="mod/mpm_common.html">
+ <xsl:value-of select="$messages/message[@name='apachempmcommon']" />
+ </a>
+</li>&lf;
+
+<xsl:for-each select="modulefile">
+<xsl:sort select="substring-before(substring-after($translist, concat('- ',
+ document(concat($basedir,'mod/',.))/modulesynopsis/name, ' ')), ' -')" />
+
+ <xsl:variable name="current" select="document(concat($basedir, 'mod/', .))
+ /modulesynopsis" />
+
+ <xsl:if test="$current/status='MPM' and $current/name!='mpm_common'">
+ <xsl:variable name="name" select="substring-before(substring-after(
+ $translist, concat('- ', $current/name, ' ')), ' -')" />
+
+ <li>
<a href="mod/{$current/name}.html">
- <xsl:value-of select="$messages/message[@name='apachempm']"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="$name"/>
+ <xsl:value-of select="$messages/message[@name='apachempm']" />
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$name" />
</a>
- </li>
+ </li>&lf;
+ </xsl:if>
+</xsl:for-each>
+</ul>
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+<ul>
+<xsl:for-each select="modulefile">
+<xsl:sort select="substring-before(substring-after($translist, concat('- ',
+ document(concat($basedir,'mod/',.))/modulesynopsis/name, ' ')), ' -')"/>
- </xsl:if>
- </xsl:for-each>
- </ul>
- <!-- /core, mpm -->
-
- <ul>
- <xsl:for-each select="modulefile">
- <xsl:sort select="substring-before(substring-after($translist, concat('- ', document(concat($basedir,'mod/',.))/modulesynopsis/name, ' ')), ' -')"/>
-
- <xsl:variable name="current" select="document(concat($basedir,'mod/',.))/modulesynopsis" />
+ <xsl:variable name="current" select="document(concat($basedir,'mod/',.))
+ /modulesynopsis" />
- <xsl:if test="$current/status!='MPM' and $current/status!='Core' and $current/status!='Obsolete'">
- <li>
+ <xsl:if test="$current/status!='MPM' and $current/status!='Core'">
+ <li>
<a href="mod/{$current/name}.html">
- <xsl:value-of select="$messages/message[@name='apachemodule']"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="$current/name"/>
+ <xsl:value-of select="$messages/message[@name='apachemodule']"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="$current/name"/>
</a>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:if>
- </xsl:for-each>
- </ul>
- <!-- /other modules -->
-
- </xsl:template>
- <!-- /category/modulefilelist -->
+ </li>&lf;
+ </xsl:if>
+</xsl:for-each>
+</ul>
+</xsl:template>
+<!-- /category/modulefilelist -->
</xsl:stylesheet>
-<?xml version="1.0"?>
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
<!DOCTYPE xsl:stylesheet [
- <!ENTITY nbsp SYSTEM "util/nbsp.xml">
+ <!ENTITY lf SYSTEM "util/lf.xml">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
- <!-- -->
- <!-- <modulesynopsis> -->
- <!-- Process an entire document into an HTML page -->
- <!-- -->
- <xsl:template match="modulesynopsis">
- <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
- <xsl:call-template name="head"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <body>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="top"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <div id="page-content">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <div id="preamble">
- <h1>
- <xsl:choose>
- <xsl:when test="status='Core'">
- <xsl:value-of select="$messages/message[@name='apachecore']"/>
- </xsl:when>
-
- <xsl:when test="name='mpm_common'">
- <xsl:value-of select="$messages/message[@name='apachempmcommon']"/>
- </xsl:when>
-
- <xsl:when test="status='MPM'">
- <xsl:value-of select="$messages/message[@name='apachempm']"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="module-translatename">
- <xsl:with-param name="name" select="name" />
- </xsl:call-template>
- </xsl:when>
-
- <xsl:otherwise>
- <xsl:if test="status='Obsolete'">
- <xsl:value-of select="$messages/message[@name='obsoleteapachemodule']"/>
- </xsl:if>
- <xsl:if test="status!='Obsolete'">
- <xsl:value-of select="$messages/message[@name='apachemodule']"/>
- </xsl:if>
- <xsl:text> </xsl:text>
- <xsl:value-of select="name"/>
- </xsl:otherwise>
- </xsl:choose>
- </h1>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <!-- Description and module-headers -->
- <table class="module">
- <tr>
- <th>
- <a href="module-dict.html#Description">
- <xsl:value-of select="$messages/message[@name='description']"/>
- <xsl:text>:</xsl:text>
- </a>
- </th>
- <td>
- <xsl:apply-templates select="description"/>
- </td>
- </tr>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <tr>
- <th>
- <a href="module-dict.html#Status">
- <xsl:value-of select="$messages/message[@name='status']"/>
- <xsl:text>:</xsl:text>
- </a>
- </th>
- <td>
- <xsl:value-of select="status"/>
-
- <xsl:if test="hint">
- <em>
- <xsl:text> (</xsl:text>
- <xsl:apply-templates select="hint"/>
- <xsl:text>)</xsl:text>
- </em>
- <br />
- </xsl:if>
- </td>
- </tr>
-
- <xsl:if test="identifier">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <tr>
- <th>
- <a href="module-dict.html#ModuleIdentifier">
- <xsl:value-of select="$messages/message[@name='moduleidentifier']"/>
- <xsl:text>:</xsl:text>
- </a>
- </th>
- <td>
- <xsl:value-of select="identifier"/>
- </td>
- </tr>
- </xsl:if>
-
- <xsl:if test="sourcefile">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <tr>
- <th>
- <a href="module-dict.html#SourceFile">
- <xsl:value-of select="$messages/message[@name='sourcefile']"/>
- <xsl:text>:</xsl:text>
- </a>
- </th>
- <td>
- <xsl:value-of select="sourcefile"/>
- </td>
- </tr>
- </xsl:if>
-
- <xsl:if test="compatibility">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <tr>
- <th>
- <a href="module-dict.html#Compatibility">
- <xsl:value-of select="$messages/message[@name='compatibility']"/>
- <xsl:text>:</xsl:text>
- </a>
- </th>
- <td>
- <xsl:apply-templates select="compatibility"/>
- </td>
- </tr>
- </xsl:if>
- </table>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <!-- Summary of module features/usage (1 to 3 paragraphs, optional) -->
- <xsl:if test="summary">
- <h3>
- <xsl:value-of select="$messages/message[@name='summary']"/>
- </h3>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:apply-templates select="summary"/>
- </xsl:if>
- </div> <!-- /preamble -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:if test="not($is-chm) or seealso">
- <div id="quickview">
-
- <xsl:if test="not($is-chm)">
- <!-- Index of directives, automatically generated from
- directivesynopsis/name -->
- <h3 class="directives">
- <xsl:value-of select="$messages/message[@name='directives']"/>
- </h3>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:if test="directivesynopsis">
- <ul id="toc">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:for-each select="directivesynopsis">
- <xsl:sort select="name"/>
- <xsl:variable name="lowername" select="translate(name, $uppercase, $lowercase)"/>
-
- <xsl:if test="not(@location)">
- <li>
- <img src="{$path}/images/down.gif" alt="" />
- <xsl:text> </xsl:text>
- <a href="#{$lowername}">
- <xsl:if test="@type='section'"><</xsl:if>
- <xsl:value-of select="name"/>
- <xsl:if test="@type='section'">></xsl:if>
- </a>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert linebreak -->
-
- </xsl:if>
-
- <xsl:if test="@location">
- <xsl:variable name="lowerlocation" select="translate(@location, $uppercase, $lowercase)"/>
-
- <li>
- <img src="{$path}/images/right.gif" alt="" />
- <xsl:text> </xsl:text>
- <a href="{$lowerlocation}.html#{$lowername}">
- <xsl:if test="@type='section'"><</xsl:if>
- <xsl:value-of select="name"/>
- <xsl:if test="@type='section'">></xsl:if>
- </a>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert linebreak -->
-
- </xsl:if>
- </xsl:for-each>
- </ul> <!-- /toc -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:if>
-
- <xsl:if test="not(directivesynopsis)">
- <p>
- <xsl:value-of select="$messages/message[@name='nodirectives']"/>
- </p>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:if>
-
- <xsl:if test="section">
- <h3>
- <xsl:value-of select="$messages/message[@name='topics']"/>
- </h3>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <ul id="topics">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:apply-templates select="section" mode="index"/>
- </ul>
- </xsl:if>
- </xsl:if> <!-- /!is-chm -->
-
- <xsl:if test="seealso">
- <h3>
- <xsl:value-of select="$messages/message[@name='seealso']"/>
- </h3>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <ul class="seealso">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:for-each select="seealso">
- <li>
- <xsl:apply-templates/>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </xsl:for-each>
- </ul>
- </xsl:if>
-
- </div> <!-- /quickview -->
- </xsl:if> <!-- !is-chm -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <!-- Sections of documentation about the module as a whole -->
- <xsl:apply-templates select="section"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <!-- Directive documentation -->
- <xsl:apply-templates select="directivesynopsis">
- <xsl:sort select="name"/>
- </xsl:apply-templates>
-
- </div> <!-- /page-content -->
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <xsl:call-template name="bottom"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- </body>
- </html>
- </xsl:template>
- <!-- /modulesynopsis -->
-
-
- <!-- -->
- <!-- modulesynopsis/compatibility -->
- <!-- -->
- <xsl:template match="modulesynopsis/compatibility">
- <xsl:apply-templates />
- </xsl:template>
-
-
- <!-- -->
- <!-- directivesynopsis/compatibility -->
- <!-- -->
- <xsl:template match="directivesynopsis/compatibility">
- <xsl:apply-templates />
- </xsl:template>
-
-
- <!-- -->
- <!-- Directivesynopsis -->
- <!-- -->
- <xsl:template match="directivesynopsis">
- <xsl:if test="not(@location)">
-
- <xsl:call-template name="toplink"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <div class="directive-section">
- <xsl:variable name="lowername" select="translate(name, $uppercase, $lowercase)"/>
-
- <!-- Directive heading gets both mixed case and lowercase anchors,
- and includes lt/gt only for "section" directives -->
+<!-- ==================================================================== -->
+<!-- <modulesynopsis> -->
+<!-- Process an entire document into an HTML page -->
+<!-- ==================================================================== -->
+<xsl:template match="modulesynopsis">
+<html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
+ <xsl:call-template name="head" />&lf;
+
+ <body>&lf;
+ <xsl:call-template name="top" />&lf;
+
+ <div id="page-content">&lf;
+ <div id="preamble">
+ <h1>
+ <xsl:choose>
+ <xsl:when test="status='Core'">
+ <xsl:value-of select="$messages/message
+ [@name='apachecore']" />
+ </xsl:when>
+ <xsl:when test="name='mpm_common'">
+ <xsl:value-of select="$messages/message
+ [@name='apachempmcommon']" />
+ </xsl:when>
+ <xsl:when test="status='MPM'">
+ <xsl:value-of select="$messages/message
+ [@name='apachempm']" />
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="module-translatename">
+ <xsl:with-param name="name" select="name" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$messages/message
+ [@name='apachemodule']" />
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="name" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </h1>&lf;
+
+ <!-- Description and module-headers -->
+ <table class="module">
+ <tr>
+ <th>
+ <a href="module-dict.html#Description">
+ <xsl:value-of select="$messages/message
+ [@name='description']" />
+ <xsl:text>:</xsl:text>
+ </a>
+ </th>
+ <td>
+ <xsl:apply-templates select="description" />
+ </td>
+ </tr>&lf;
+ <tr>
+ <th>
+ <a href="module-dict.html#Status">
+ <xsl:value-of select="$messages/message
+ [@name='status']" />
+ <xsl:text>:</xsl:text>
+ </a>
+ </th>
+ <td>
+ <xsl:value-of select="status" />
+ </td>
+ </tr>
+
+ <xsl:if test="identifier">&lf;
+ <tr>
+ <th>
+ <a href="module-dict.html#ModuleIdentifier">
+ <xsl:value-of select="$messages/message
+ [@name='moduleidentifier']" />
+ <xsl:text>:</xsl:text>
+ </a>
+ </th>
+ <td>
+ <xsl:value-of select="identifier" />
+ </td>
+ </tr>
+ </xsl:if>
+
+ <xsl:if test="sourcefile">&lf;
+ <tr>
+ <th>
+ <a href="module-dict.html#SourceFile">
+ <xsl:value-of select="$messages/message
+ [@name='sourcefile']" />
+ <xsl:text>:</xsl:text>
+ </a>
+ </th>
+ <td>
+ <xsl:value-of select="sourcefile" />
+ </td>
+ </tr>
+ </xsl:if>
+
+ <xsl:if test="compatibility">&lf;
+ <tr>
+ <th>
+ <a href="module-dict.html#Compatibility">
+ <xsl:value-of select="$messages/message
+ [@name='compatibility']" />
+ <xsl:text>:</xsl:text>
+ </a>
+ </th>
+ <td>
+ <xsl:apply-templates select="compatibility" />
+ </td>
+ </tr>
+ </xsl:if>
+ </table>&lf;
+
+ <!-- Summary of module features/usage (1 to 3 paragraphs, -->
+ <!-- optional) -->
+ <xsl:if test="summary">
+ <h3>
+ <xsl:value-of select="$messages/message
+ [@name='summary']" />
+ </h3>&lf;
+
+ <xsl:apply-templates select="summary" />
+ </xsl:if>
+ </div>&lf; <!-- /#preamble -->
+
+ <xsl:if test="not($is-chm) or seealso">
+ <div id="quickview">
+ <xsl:if test="not($is-chm)">
+ <h3 class="directives">
+ <xsl:value-of select="$messages/message
+ [@name='directives']" />
+ </h3>&lf;
+
+ <xsl:choose>
+ <xsl:when test="directivesynopsis">
+ <ul id="toc">&lf;
+ <xsl:for-each select="directivesynopsis">
+ <xsl:sort select="name" />
+ <xsl:variable name="lowername"
+ select="translate(name, $uppercase,
+ $lowercase)" />
+
+ <xsl:choose>
+ <xsl:when test="not(@location)">
+ <li>
+ <img src="{$path}/images/down.gif"
+ alt="" />
+ <xsl:text> </xsl:text>
+ <a href="#{$lowername}">
+ <xsl:if test="@type='section'"
+ ><</xsl:if>
+ <xsl:value-of select="name" />
+ <xsl:if test="@type='section'"
+ >></xsl:if>
+ </a>
+ </li>&lf;
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="lowerlocation"
+ select="translate(@location, $uppercase,
+ $lowercase)" />
+ <li>
+ <img src="{$path}/images/right.gif"
+ alt="" />
+ <xsl:text> </xsl:text>
+ <a href="{$lowerlocation}.html#{
+ $lowername}">
+ <xsl:if test="@type='section'"
+ ><</xsl:if>
+ <xsl:value-of select="name" />
+ <xsl:if test="@type='section'"
+ >></xsl:if>
+ </a>
+ </li>&lf;
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </ul>&lf; <!-- /toc -->
+ </xsl:when> <!-- have directives -->
+
+ <xsl:otherwise>
+ <p>
+ <xsl:value-of select="$messages/message
+ [@name='nodirectives']" />
+ </p>&lf;
+ </xsl:otherwise>
+ </xsl:choose>
+
+ <xsl:if test="section">
+ <h3>
+ <xsl:value-of select="$messages/message
+ [@name='topics']" />
+ </h3>&lf;
+
+ <ul id="topics">&lf;
+ <xsl:apply-templates
+ select="section" mode="index" />
+ </ul>
+ </xsl:if>
+ </xsl:if> <!-- /!is-chm -->
+
+ <xsl:if test="seealso">
+ <h3>
+ <xsl:value-of select="$messages/message
+ [@name='seealso']" />
+ </h3>&lf;
+
+ <ul class="seealso">&lf;
+ <xsl:for-each select="seealso">
+ <li>
+ <xsl:apply-templates />
+ </li>&lf;
+ </xsl:for-each>
+ </ul>
+ </xsl:if>
+ </div> <!-- /#quickview -->
+ </xsl:if>&lf; <!-- have sidebar -->
+
+ <!-- Sections of documentation about the module as a whole -->
+ <xsl:apply-templates select="section" />&lf;
+
+ <!-- Directive documentation -->
+ <xsl:apply-templates select="directivesynopsis">
+ <xsl:sort select="name" />
+ </xsl:apply-templates>
+ </div>&lf; <!-- /#page-content -->
+
+ <xsl:call-template name="bottom" />&lf;
+ </body>
+</html>
+</xsl:template>
+<!-- /modulesynopsis -->
+
+
+<!-- ==================================================================== -->
+<!-- Directivesynopsis -->
+<!-- ==================================================================== -->
+<xsl:template match="directivesynopsis">
+<xsl:if test="not(@location)">
+ <xsl:call-template name="toplink" />&lf;
+
+ <div class="directive-section">
+ <xsl:variable name="lowername"
+ select="translate(name, $uppercase, $lowercase)" />
+
+ <!-- Directive heading gets both mixed case and lowercase -->
+ <!-- anchors, and includes lt/gt only for "section" directives -->
<h2>
- <a id="{name}" name="{name}">
- <xsl:if test="@type='section'"><</xsl:if>
- <xsl:value-of select="name"/>
- <xsl:if test="@type='section'">></xsl:if>
- </a>
- <xsl:choose>
- <xsl:when test="$messages/message[@name='directive']/@replace-space-with">
- <xsl:value-of select="$messages/message[@name='directive']/@replace-space-with"/>
+ <a id="{name}" name="{name}">
+ <xsl:if test="@type='section'"><</xsl:if>
+ <xsl:value-of select="name" />
+ <xsl:if test="@type='section'">></xsl:if>
+ </a>
+
+ <xsl:choose>
+ <xsl:when test="$messages/message
+ [@name='directive']/@replace-space-with">
+ <xsl:value-of select="$messages/message
+ [@name='directive']/@replace-space-with"/>
</xsl:when>
<xsl:otherwise>
- <xsl:text> </xsl:text>
+ <xsl:text> </xsl:text>
</xsl:otherwise>
- </xsl:choose>
- <a id="{$lowername}" name="{$lowername}">
- <xsl:value-of select="$messages/message[@name='directive']"/>
- </a>
- </h2>
+ </xsl:choose>
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <a id="{$lowername}" name="{$lowername}">
+ <xsl:value-of select="$messages/message[@name='directive']" />
+ </a>
+ </h2>&lf;
<!-- Directive header -->
- <table class="directive">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <tr>
+ <table class="directive">&lf;
+ <tr>
<th>
- <a href="directive-dict.html#Description">
- <xsl:value-of select="$messages/message[@name='description']"/>
- <xsl:text>:</xsl:text>
- </a>
+ <a href="directive-dict.html#Description">
+ <xsl:value-of select="$messages/message
+ [@name='description']" />
+ <xsl:text>:</xsl:text>
+ </a>
</th>
<td>
- <xsl:value-of select="description"/>
+ <xsl:value-of select="description" />
</td>
- </tr>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ </tr>&lf;
- <tr>
+ <tr>
<th>
- <a href="directive-dict.html#Syntax">
- <xsl:value-of select="$messages/message[@name='syntax']"/>
- <xsl:text>:</xsl:text>
- </a>
+ <a href="directive-dict.html#Syntax">
+ <xsl:value-of select="$messages/message[@name='syntax']" />
+ <xsl:text>:</xsl:text>
+ </a>
</th>
<td>
- <code>
- <xsl:apply-templates select="syntax"/>
- </code>
+ <code>
+ <xsl:apply-templates select="syntax" />
+ </code>
</td>
- </tr>
-
- <xsl:if test="default">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ </tr>
- <tr>
+ <xsl:if test="default">&lf;
+ <tr>
<th>
- <a href="directive-dict.html#Default">
- <xsl:value-of select="$messages/message[@name='default']"/>
- <xsl:text>:</xsl:text>
- </a>
+ <a href="directive-dict.html#Default">
+ <xsl:value-of select="$messages/message[@name='default']" />
+ <xsl:text>:</xsl:text>
+ </a>
</th>
<td>
- <code>
- <xsl:apply-templates select="default"/>
- </code>
+ <code>
+ <xsl:apply-templates select="default" />
+ </code>
</td>
- </tr>
- </xsl:if>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ </tr>
+ </xsl:if>&lf;
- <tr>
+ <tr>
<th>
- <a href="directive-dict.html#Context">
- <xsl:value-of select="$messages/message[@name='context']"/>
- <xsl:text>:</xsl:text>
- </a>
+ <a href="directive-dict.html#Context">
+ <xsl:value-of select="$messages/message[@name='context']" />
+ <xsl:text>:</xsl:text>
+ </a>
</th>
<td>
- <xsl:apply-templates select="contextlist"/>
+ <xsl:apply-templates select="contextlist" />
</td>
- </tr>
-
- <xsl:if test="override">
+ </tr>
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <tr>
+ <xsl:if test="override">&lf;
+ <tr>
<th>
- <a href="directive-dict.html#Override">
- <xsl:value-of select="$messages/message[@name='override']"/>
- <xsl:text>:</xsl:text>
- </a>
+ <a href="directive-dict.html#Override">
+ <xsl:value-of select="$messages/message[@name='override']"/>
+ <xsl:text>:</xsl:text>
+ </a>
</th>
<td>
- <xsl:value-of select="override"/>
+ <xsl:value-of select="override" />
</td>
- </tr>
- </xsl:if>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ </tr>
+ </xsl:if>&lf;
- <tr>
+ <tr>
<th>
- <a href="directive-dict.html#Status">
- <xsl:value-of select="$messages/message[@name='status']"/>
- <xsl:text>:</xsl:text>
- </a>
+ <a href="directive-dict.html#Status">
+ <xsl:value-of select="$messages/message[@name='status']" />
+ <xsl:text>:</xsl:text>
+ </a>
</th>
<td>
- <xsl:value-of select="../status"/>
+ <xsl:value-of select="../status" />
</td>
- </tr>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ </tr>&lf;
- <tr>
+ <tr>
<th>
- <a href="directive-dict.html#Module">
- <xsl:value-of select="$messages/message[@name='module']"/>
- <xsl:text>:</xsl:text>
- </a>
+ <a href="directive-dict.html#Module">
+ <xsl:value-of select="$messages/message[@name='module']" />
+ <xsl:text>:</xsl:text>
+ </a>
</th>
<td>
- <xsl:if test="modulelist">
- <xsl:apply-templates select="modulelist"/>
- </xsl:if>
-
- <xsl:if test="not(modulelist)">
- <xsl:value-of select="../name"/>
- </xsl:if>
+ <xsl:choose>
+ <xsl:when test="modulelist">
+ <xsl:apply-templates select="modulelist" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="../name" />
+ </xsl:otherwise>
+ </xsl:choose>
</td>
- </tr>
+ </tr>
- <xsl:if test="compatibility">
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <tr>
+ <xsl:if test="compatibility">&lf;
+ <tr>
<th>
- <a href="directive-dict.html#Compatibility">
- <xsl:value-of select="$messages/message[@name='compatibility']"/>
- <xsl:text>:</xsl:text>
- </a>
+ <a href="directive-dict.html#Compatibility">
+ <xsl:value-of select="$messages/message
+ [@name='compatibility']" />
+ <xsl:text>:</xsl:text>
+ </a>
</th>
<td>
- <xsl:apply-templates select="compatibility"/>
+ <xsl:apply-templates select="compatibility" />
</td>
- </tr>
- </xsl:if>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
+ </tr>
+ </xsl:if>&lf;
</table>
- <xsl:apply-templates select="usage"/>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <xsl:apply-templates select="usage" />&lf;
<xsl:if test="seealso">
- <h3>
- <xsl:value-of select="$messages/message[@name='seealso']"/>
- </h3>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
- <ul>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+ <h3>
+ <xsl:value-of select="$messages/message[@name='seealso']" />
+ </h3>&lf;
+ <ul>&lf;
<xsl:for-each select="seealso">
- <li>
- <xsl:apply-templates/>
- </li>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
+ <li>
+ <xsl:apply-templates />
+ </li>&lf;
</xsl:for-each>
- </ul>
-
-<xsl:text>
-</xsl:text> <!-- insert line break -->
-
+ </ul>&lf;
</xsl:if>
+ </div>&lf; <!-- /.directive-section -->
+</xsl:if>
+</xsl:template>
+<!-- /directivesynopsis -->
+
+
+<!-- ==================================================================== -->
+<!-- <contextlist> -->
+<!-- ==================================================================== -->
+<xsl:template match="contextlist">
+<xsl:apply-templates select="context" />
+</xsl:template>
+<!-- /contextlist -->
+
+
+<!-- ==================================================================== -->
+<!-- <context> -->
+<!-- Each entry is separeted with a comma -->
+<!-- ==================================================================== -->
+<xsl:template match="context">
+<xsl:choose>
+<xsl:when test="normalize-space(.) = 'server config'">
+ <xsl:value-of select="$messages/message[@name='serverconfig']" />
+</xsl:when>
+<xsl:when test="normalize-space(.) = 'virtual host'">
+ <xsl:value-of select="$messages/message[@name='virtualhost']" />
+</xsl:when>
+<xsl:when test="normalize-space(.) = 'directory'">
+ <xsl:value-of select="$messages/message[@name='directory']" />
+</xsl:when>
+<xsl:when test="normalize-space(.) = '.htaccess'">
+ <xsl:value-of select="$messages/message[@name='htaccess']" />
+</xsl:when>
+<xsl:otherwise> <!-- error -->
+ <xsl:message terminate="yes">
+ unknown context: <xsl:value-of select="." />
+ </xsl:message>
+</xsl:otherwise>
+</xsl:choose>
+
+<xsl:if test="position() != last()">
+ <xsl:text>, </xsl:text>
+</xsl:if>
+</xsl:template>
+<!-- /context -->
+
+
+<!-- ==================================================================== -->
+<!-- <modulelist> -->
+<!-- ==================================================================== -->
+<xsl:template match="modulelist">
+<xsl:for-each select="module">
+ <xsl:call-template name="module" />
+ <xsl:if test="position() != last()">
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+</xsl:for-each>
+</xsl:template>
+<!-- /modulelist -->
- </div> <!-- /directive-section -->
-<xsl:text>
-</xsl:text> <!-- insert line break -->
+<!-- ==================================================================== -->
+<!-- modulesynopsis/compatibility -->
+<!-- ==================================================================== -->
+<xsl:template match="modulesynopsis/compatibility">
+<xsl:apply-templates />
+</xsl:template>
- </xsl:if>
- </xsl:template>
- <!-- /directivesynopsis -->
-
-
- <!-- -->
- <!-- <contextlist> -->
- <!-- Passes through content -->
- <!-- -->
- <xsl:template match="contextlist">
- <xsl:apply-templates select="context"/>
- </xsl:template>
- <!-- /contextlist -->
-
-
- <!-- -->
- <!-- <context> -->
- <!-- Each entry is separeted with a comma -->
- <!-- -->
- <xsl:template match="context">
- <xsl:choose>
- <xsl:when test="normalize-space(.) = 'server config'">
- <xsl:value-of select="$messages/message[@name='serverconfig']"/>
- </xsl:when>
- <xsl:when test="normalize-space(.) = 'virtual host'">
- <xsl:value-of select="$messages/message[@name='virtualhost']"/>
- </xsl:when>
- <xsl:when test="normalize-space(.) = 'directory'">
- <xsl:value-of select="$messages/message[@name='directory']"/>
- </xsl:when>
- <xsl:when test="normalize-space(.) = '.htaccess'">
- <xsl:value-of select="$messages/message[@name='htaccess']"/>
- </xsl:when>
-
- <xsl:otherwise> <!-- error -->
- <xsl:message terminate="yes">
- unknown context: <xsl:value-of select="." />
- </xsl:message>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="position() != last()">
- <xsl:text>, </xsl:text>
- </xsl:if>
- </xsl:template>
- <!-- /context -->
-
-
- <!-- -->
- <!-- <modulelist> -->
- <!-- Passes through content -->
- <!-- -->
- <xsl:template match="modulelist">
- <xsl:for-each select="module">
- <xsl:call-template name="module"/>
- <xsl:if test="position() != last()">
- <xsl:text>, </xsl:text>
- </xsl:if>
- </xsl:for-each>
- </xsl:template>
- <!-- /modulelist -->
+<!-- ==================================================================== -->
+<!-- directivesynopsis/compatibility -->
+<!-- ==================================================================== -->
+<xsl:template match="directivesynopsis/compatibility">
+<xsl:apply-templates />
+</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8" ?>
-<xsl:text>
</xsl:text>
\ No newline at end of file
+<xsl:text>
</xsl:text>
-<?xml version="1.0"?>
-<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
+<?xml version="1.0"?><!--
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */ -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="module-translatename">
-<xsl:param name="name"/>
+<xsl:param name="name" />
- <xsl:variable name="sname" select="translate($name,$lowercase,$uppercase)"/>
+<xsl:variable name="sname" select="translate($name, $lowercase, $uppercase)" />
- <xsl:choose>
- <xsl:when test="starts-with($sname,'MOD_') or starts-with($sname,'MPM_')">
- <xsl:value-of select="substring($name, 5)"/>
- </xsl:when>
+<xsl:choose>
+<xsl:when test="starts-with($sname, 'MOD_') or starts-with($sname, 'MPM_')">
+ <xsl:value-of select="substring($name, 5)" />
+</xsl:when>
- <xsl:when test="starts-with($sname,'MPMT_')">
- <xsl:value-of select="substring($name, 6)"/>
- </xsl:when>
+<xsl:when test="starts-with($sname, 'MPMT_')">
+ <xsl:value-of select="substring($name, 6)" />
+</xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$name"/>
- </xsl:otherwise>
- </xsl:choose>
+<xsl:otherwise>
+ <xsl:value-of select="$name" />
+</xsl:otherwise>
+</xsl:choose>
</xsl:template>
<!-- /module-translatename -->
<?xml version="1.0" encoding="utf-8"?>
-<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
+<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>