+++ /dev/null
-<?xml version="1.0"?>
-
-<!--
- Copyright 2003-2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<!--
- * This software is based on initial work of Joe Orton <jorton redhat.com>
- * (contributed to the ASF) which is based on the db2man stylesheets developed
- * by Martijn van Beers. db2man is now part of docbook-xsl, which is
- * licensed under the following terms:
- *
- * Copyright
- * =========
- *
- * Copyright (C) 1999, 2000, 2001, 2002 Norman Walsh
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the ``Software''), to deal in the Software without
- * restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following
- * conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * Except as contained in this notice, the names of individuals
- * credited with contribution to this software shall not be used in
- * advertising or otherwise to promote the sale, use or other
- * dealings in this Software without prior written authorization
- * from the individuals in question.
- *
- * Any stylesheet derived from this Software that is publically
- * distributed will be identified with a different name and the
- * version strings in any derived Software will be changed so that
- * no possibility of confusion between the derived package and this
- * Software will exist.
- *
- * Warranty
- * ========
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER
- * CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */ -->
-
-<!DOCTYPE xsl:stylesheet [
- <!ENTITY lf SYSTEM "../xsl/util/lf.xml">
-]>
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!-- -->
-<!-- params injected from elsewhere -->
-<!-- -->
-<xsl:param name="section" select="'1'" />
-<xsl:param name="date" />
-
-<!-- Constants used for case translation -->
-<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
-<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
-
-<!-- ==================================================================== -->
-<!-- <manualpage> -->
-<!-- Process an entire document into an nroff formatted man page -->
-<!-- ==================================================================== -->
-<xsl:template match="manualpage">
-<!-- start at the beginning ;-) -->
-<xsl:text>.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</xsl:text>&lf;
-<xsl:text>.\" DO NOT EDIT! Generated from XML source.</xsl:text>&lf;
-<xsl:text>.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</xsl:text>&lf;
-<xsl:text>.de Sh \" Subsection</xsl:text>&lf;
-<xsl:text>.br</xsl:text>&lf;
-<xsl:text>.if t .Sp</xsl:text>&lf;
-<xsl:text>.ne 5</xsl:text>&lf;
-<xsl:text>.PP</xsl:text>&lf;
-<xsl:text>\fB\\$1\fR</xsl:text>&lf;
-<xsl:text>.PP</xsl:text>&lf;
-<xsl:text>..</xsl:text>&lf;
-<xsl:text>.de Sp \" Vertical space (when we can't use .PP)</xsl:text>&lf;
-<xsl:text>.if t .sp .5v</xsl:text>&lf;
-<xsl:text>.if n .sp</xsl:text>&lf;
-<xsl:text>..</xsl:text>&lf;
-<xsl:text>.de Ip \" List item</xsl:text>&lf;
-<xsl:text>.br</xsl:text>&lf;
-<xsl:text>.ie \\n(.$>=3 .ne \\$3</xsl:text>&lf;
-<xsl:text>.el .ne 3</xsl:text>&lf;
-<xsl:text>.IP "\\$1" \\$2</xsl:text>&lf;
-<xsl:text>..</xsl:text>&lf;
-
-<!-- reftitle -->
-<xsl:text>.TH "</xsl:text>
-<!-- standard man page width is 64 chars; 6 chars needed for the two
- (x) volume numbers, and 2 spaces, leaves 56 -->
-<xsl:value-of select="substring(translate(substring-before(
- normalize-space(title), ' - '), $lowercase, $uppercase), 1, (56 -
- string-length(substring-before(normalize-space(title), ' - '))) div 2)" />
-<xsl:text>" </xsl:text>
-
-<!-- section -->
-<xsl:value-of select="$section" />
-<xsl:text> "</xsl:text>
-
-<!-- date; perhaps injected via ant later. -->
-<xsl:value-of select="$date" />
-<xsl:text>" "</xsl:text>
-
-<!-- productname -->
-<xsl:value-of select="'Apache HTTP Server'" />
-<xsl:text>" "</xsl:text>
-
-<!-- title -->
-<xsl:value-of select="substring-before(normalize-space(title), ' - ')" />
-<xsl:text>"</xsl:text>&lf;
-
-<!-- reorder the paragraphs a bit -->
-<xsl:apply-templates select="title" />&lf;
-<xsl:apply-templates select="section[@id='synopsis']" />&lf;
-<xsl:apply-templates select="summary" />&lf;
-<xsl:apply-templates select="section[@id!='synopsis']" />&lf;
-</xsl:template>
-<!-- /manualpage -->
-
-
-<!-- ==================================================================== -->
-<!-- <manualpage><title> -->
-<!-- Process heading -->
-<!-- ==================================================================== -->
-<xsl:template match="manualpage/title">
-&lf;
-<xsl:text>.SH NAME</xsl:text>&lf;
-<xsl:variable name="text">
- <xsl:call-template name="filter.escape">
- <xsl:with-param name="text" select="normalize-space(.)" />
- </xsl:call-template>
-</xsl:variable>
-<xsl:value-of select="substring-before($text, ' - ')" />
-<xsl:text> \- </xsl:text>
-<xsl:value-of select="substring-after($text, ' - ')" />
-</xsl:template>
-<!-- /manualpage/title -->
-
-
-<!-- ==================================================================== -->
-<!-- <p> -->
-<!-- Process paragraph -->
-<!-- ==================================================================== -->
-<xsl:template match="p">
-&lf;
-<xsl:text>.PP</xsl:text>&lf;
-
-<xsl:for-each select="node()">
- <xsl:choose>
- <xsl:when test="self::text()">
- <xsl:if test="starts-with(translate(., ' ', ' '), ' ') and
- preceding-sibling::node()[name(.) != '']">
- <xsl:text> </xsl:text>
- </xsl:if>
- <xsl:variable name="content">
- <xsl:apply-templates select="." />
- </xsl:variable>
- <xsl:value-of select="normalize-space($content)"/>
- <xsl:if test="translate(substring(., string-length(.), 1), ' ',
- ' ') = ' ' and following-sibling::node()[name(.) != '']">
- <xsl:text> </xsl:text>
- </xsl:if>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="content">
- <xsl:apply-templates select="." />
- </xsl:variable>
- <xsl:value-of select="normalize-space($content)"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:for-each>&lf;
-</xsl:template>
-<!-- /p -->
-
-
-<!-- ==================================================================== -->
-<!-- <section> -->
-<!-- process main section -->
-<!-- ==================================================================== -->
-<xsl:template match="section">
-&lf;
-<xsl:text>.SH "</xsl:text>
- <xsl:call-template name="filter.escape">
- <xsl:with-param name="text"
- select="normalize-space(translate(title, $lowercase, $uppercase))"/>
- </xsl:call-template>
-<xsl:text>"</xsl:text>&lf;
-<xsl:apply-templates />
-</xsl:template>
-<xsl:template match="section/title" />
-<!-- /section -->
-
-
-<!-- ==================================================================== -->
-<!-- <section><section> -->
-<!-- process subsection -->
-<!-- ==================================================================== -->
-<xsl:template match="section/section">
-&lf;
-<xsl:text>.SS "</xsl:text>
- <xsl:call-template name="filter.escape">
- <xsl:with-param name="text" select="normalize-space(title)"/>
- </xsl:call-template>
-<xsl:text>"</xsl:text>&lf;
-<xsl:apply-templates />
-</xsl:template>
-<!-- /section/section -->
-
-
-<!-- ==================================================================== -->
-<!-- <summary> -->
-<!-- process summary section -->
-<!-- ==================================================================== -->
-<xsl:template match="summary">
-&lf;
-<xsl:text>.SH "</xsl:text>
- <xsl:call-template name="filter.escape">
- <xsl:with-param name="text" select="normalize-space(translate($message
- [@id='summary'], $lowercase, $uppercase))"/>
- </xsl:call-template>
-<xsl:text>"</xsl:text>&lf;
-<xsl:apply-templates />
-</xsl:template>
-<!-- /summary -->
-
-
-<!-- ==================================================================== -->
-<!-- <var>, <em> -->
-<!-- show it somewhat special (italic) -->
-<!-- ==================================================================== -->
-<xsl:template match="var|em">
-<xsl:text>\fI</xsl:text>
- <xsl:apply-templates />
-<xsl:text>\fR</xsl:text>
-</xsl:template>
-
-
-<!-- ==================================================================== -->
-<!-- <strong> -->
-<!-- show it somewhat special (bold) -->
-<!-- ==================================================================== -->
-<xsl:template match="strong">
-<xsl:text>\fB</xsl:text>
- <xsl:apply-templates />
-<xsl:text>\fR</xsl:text>
-</xsl:template>
-
-
-<!-- ==================================================================== -->
-<!-- <directive> -->
-<!-- ==================================================================== -->
-<xsl:template match="directive">
-<xsl:if test="@type = 'section'"><</xsl:if>
-<xsl:apply-templates />
-<xsl:if test="@type = 'section'">></xsl:if>
-</xsl:template>
-
-
-<!-- ==================================================================== -->
-<!-- <dl> -->
-<!-- ==================================================================== -->
-<xsl:template match="dl">
-&lf;
-<xsl:apply-templates />&lf;
-</xsl:template>
-
-
-<!-- ==================================================================== -->
-<!-- <dt> -->
-<!-- ==================================================================== -->
-<xsl:template match="dt">
-&lf;
-<xsl:text>.TP</xsl:text>&lf;
-
-<xsl:variable name="dt-content">
- <xsl:apply-templates />
-</xsl:variable>
-<xsl:value-of select="normalize-space($dt-content)" />&lf;
-
-<xsl:variable name="dd-content">
- <xsl:apply-templates
- select="following-sibling::dd[position() = 1]/node()" />
-</xsl:variable>
-<xsl:value-of select="normalize-space($dd-content)" />
-</xsl:template>
-<!-- /dt -->
-
-
-<!-- ==================================================================== -->
-<!-- <example> -->
-<!-- ==================================================================== -->
-<xsl:template match="example">
-&lf;
-<xsl:text>.nf</xsl:text>&lf;
-<xsl:apply-templates />&lf;
-<xsl:text>.fi</xsl:text>&lf;
-</xsl:template>
-<!-- /example -->
-
-
-<!-- ==================================================================== -->
-<!-- simple table support ... (exactly 2 columns) -->
-<!-- ==================================================================== -->
-<xsl:template match="table/tr">
-<xsl:if test="count(./*) > 2">
- <xsl:message terminate="yes">
-FATAL: only tables with two (2) columns are supported.
- </xsl:message>
-</xsl:if>
-
-&lf;
-<xsl:text>.Ip "\(bu \s-1</xsl:text>
-<xsl:variable name="first-content">
- <xsl:apply-templates select="./*[1]/node()" />
-</xsl:variable>
-<xsl:value-of select="normalize-space($first-content)" />
-
-<xsl:text>\s0 \- </xsl:text>
-<xsl:variable name="second-content">
- <xsl:apply-templates select="./*[2]/node()" />
-</xsl:variable>
-<xsl:value-of select="normalize-space($second-content)" />&lf;
-</xsl:template>
-<!-- /table/tr -->
-
-
-<!-- ==================================================================== -->
-<!-- text filter -->
-<!-- ==================================================================== -->
-<xsl:template match="text()">
-<xsl:choose>
-<xsl:when test="normalize-space(.) != ''">
-<xsl:call-template name="filter.escape">
- <xsl:with-param name="text" select="." />
-</xsl:call-template>
-</xsl:when>
-<xsl:otherwise>
- <xsl:text> </xsl:text>
-</xsl:otherwise>
-</xsl:choose>
-</xsl:template>
-
-
-<!-- ==================================================================== -->
-<!-- pass through content -->
-<!-- ==================================================================== -->
-<xsl:template match="a|code|module|table">
-<xsl:apply-templates />
-</xsl:template>
-
-
-<!-- ==================================================================== -->
-<!-- remove some stuff from the output -->
-<!-- ==================================================================== -->
-<xsl:template match="parentdocument|seealso|dd|td|example/br" />
-
-
-<!-- ==================================================================== -->
-<!-- the rest will be rejected -->
-<!-- ==================================================================== -->
-<xsl:template match="*">
-<xsl:message terminate="yes">
-FATAL: the behaviour of the <<xsl:value-of select="local-name()" />>
-element was not tested. You need to modify
-the XSLT stylesheet in order to get it work.
-</xsl:message>
-</xsl:template>
-
-
-<!-- ==================================================================== -->
-<!-- filter.escape -->
-<!-- escape special characters -->
-<!-- ==================================================================== -->
-<xsl:template name="filter.escape">
-<xsl:param name="text" />
-
-<xsl:choose>
-<xsl:when test="contains($text, '\')">
- <xsl:call-template name="filter.escape.period">
- <xsl:with-param name="text" select="substring-before($text, '\')" />
- </xsl:call-template>
- <xsl:text>\\</xsl:text>
- <xsl:call-template name="filter.escape">
- <xsl:with-param name="text" select="substring-after($text, '\\')" />
- </xsl:call-template>
-</xsl:when>
-<xsl:otherwise>
- <xsl:call-template name="filter.escape.period">
- <xsl:with-param name="text" select="$text" />
- </xsl:call-template>
-</xsl:otherwise>
-</xsl:choose>
-</xsl:template>
-<!-- /filter.escape -->
-
-
-<!-- ==================================================================== -->
-<!-- filter.period -->
-<!-- accompanying template to filter.escape -->
-<!-- ==================================================================== -->
-<xsl:template name="filter.escape.period">
-<xsl:param name="text" />
-
-<xsl:choose>
-<xsl:when test="contains($text, '.')"><!-- period replaced by \&. -->
- <xsl:value-of select="substring-before($text, '.')" />
- <xsl:text>\&.</xsl:text>
- <xsl:call-template name="filter.escape.period">
- <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.escape.period -->
-
-</xsl:stylesheet>