httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From n.@apache.org
Subject cvs commit: httpd-2.0/docs/manual/style/xsl/util lf.xml modtrans.xsl nbsp.xml
Date Sun, 20 Apr 2003 03:08:33 GMT
nd          2003/04/19 20:08:33

  Modified:    docs/manual/style/xsl Tag: APACHE_2_0_BRANCH common.xsl
                        directiveindex.xsl faq.xsl indexpage.xsl
                        manualpage.xsl moduleindex.xsl quickreference.xsl
                        sitemap.xsl synopsis.xsl
               docs/manual/style/xsl/util Tag: APACHE_2_0_BRANCH lf.xml
                        modtrans.xsl nbsp.xml
  Log:
  cleanup backport.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.20.2.10 +817 -811  httpd-2.0/docs/manual/style/xsl/common.xsl
  
  Index: common.xsl
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/common.xsl,v
  retrieving revision 1.20.2.9
  retrieving revision 1.20.2.10
  diff -u -r1.20.2.9 -r1.20.2.10
  --- common.xsl	18 Apr 2003 02:02:51 -0000	1.20.2.9
  +++ common.xsl	20 Apr 2003 03:08:31 -0000	1.20.2.10
  @@ -1,950 +1,956 @@
  -<?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"...                     -->
  -  <!--                                                          -->
  -
  -  <!-- Constants used for case translation -->
  -  <xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
  -  <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
  -
  -  <!--
  -    space separated list of blockelements defined in common.dtd
  -    used for inline content catching in <example>s
  -  -->
  -  <xsl:variable name="blockelements">
  +<!--                                                                      -->
  +<!-- Please, don't hard-code output strings! Use the language             -->
  +<!-- files and the translation "stuff"...                                 -->
  +<!--                                                                      -->
  +
  +<!-- 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                                        -->
  +
  +<!-- Constants used for case translation -->
  +<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
  +<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
  +
  +<!-- 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>
  +</xsl:variable>
   
  -  <!-- relative path to /manual/ -->
  -  <xsl:variable name="path" select="document(/*/@metafile)/metafile/relpath" />
  +<!-- 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"/>
  -
  -  <!-- 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">
  +<!-- 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: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, ':')) &lt; 7">
  -        <xsl:if test="$ext-target = '1'">
  -          <xsl:attribute name="target">_blank</xsl:attribute>
  -        </xsl:if>
  -      </xsl:when>
  +<!-- it may be desired to open external targets in a new window -->
  +<xsl:variable name="ext-target" select="boolean($is-chm)" />
   
  -      <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>
  -
  -
  -  <!--                                                            -->
  -  <!--    Utility templates for constructing pages                -->
  -  <!--                                                            -->
  -
  -
  -  <!--                                                            -->
  -  <!-- HTML head                                                  -->
  -  <!--                                                            -->
  -  <xsl:template name="head">
  -    <head>
  -      <xsl:if test="$is-chm">
  +<!-- #################################################################### -->
  +<!-- Utility templates for constructing pages                             -->
  +<!-- #################################################################### -->
  +
  +<!-- ==================================================================== -->
  +<!-- 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: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;
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  -
  -      <title>
  +    <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:otherwise>
  +    </xsl:choose>&lf;
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  -
  -      <link type="text/css" media="print"
  -             rel="stylesheet"
  -             href="{$path}/style/css/manual-print.css"/>
  -
  -      <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>
  +    </xsl:if>
  +</head>
  +</xsl:template>
  +<!-- /head -->
   
  -    </head>
  -  </xsl:template>
  -  <!-- /head -->
   
  -  <!--                                                            -->
  -  <!-- page top                                                   -->
  -  <!--                                                            -->
  -  <xsl:template name="top">
  -    <div id="page-header">
  +<!-- ==================================================================== -->
  +<!-- page top                                                             -->
  +<!-- ==================================================================== -->
  +<xsl:template name="top">
  +<div id="page-header">&lf;
  +    <xsl:call-template name="super-menu" />&lf;
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +    <p class="apache">
  +        <xsl:value-of select="$messages/message[@name='apachehttpserver']"/>
  +    </p>&lf;
   
  -      <xsl:call-template name="super-menu" />
  +    <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}">
  +        <xsl:if test="parentdocument">
  +            <xsl:attribute name="href">
  +                <xsl:value-of select="parentdocument/@href"/>
  +            </xsl:attribute>
   
  -      <p class="apache">
  -        <xsl:value-of select="$messages/message[@name='apachehttpserver']"/>
  -      </p>
  +            <xsl:call-template name="helper.uri.fix">
  +                <xsl:with-param name="uri" select="parentdocument/@href" />
  +            </xsl:call-template>
  +      </xsl:if>
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +      <img src="{$path}/images/left.gif" alt="&lt;-" title="&lt;-" />
  +    </a>
  +</div>&lf;
   
  -      <img src="{$path}/images/feather.gif" alt="" />
  -    </div> <!-- /page-header -->
  +<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> &gt; </xsl:text>
   
  -    <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>
  +    <a href="http://httpd.apache.org/">
  +        <xsl:if test="$ext-target">
  +            <xsl:attribute name="target">_blank</xsl:attribute>
           </xsl:if>
  -        <img src="{$path}/images/left.gif" alt="&lt;-" title="&lt;-" />
  -      </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> &gt; </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> &gt; </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> &gt; </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> &gt; </xsl:text>
  -        <a href="./{$index-file}">
  -          <xsl:value-of select="$messages/message[@name='modules']"/>
  -        </a>
  -      </xsl:if>
  -      <xsl:if test="parentdocument/text()">
  -        <xsl:text> &gt; </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:if>
  -    </div> <!-- /path -->
  -  </xsl:template>
  -  <!-- /top -->
  +        <xsl:value-of select="$messages/message[@name='http-server']" />
  +    </a>
   
  +    <xsl:text> &gt; </xsl:text>
   
  -  <!--                                                            -->
  -  <!-- page bottom                                                -->
  -  <!--                                                            -->
  -  <xsl:template name="bottom">
  -    <div id="footer">
  +    <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:text>
  -</xsl:text> <!-- insert line break -->
  +    <xsl:if test="not(../indexpage)">
  +    <xsl:text> &gt; </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>
  +    <a href="{$path}/{$index-file}">
  +        <xsl:value-of select="$messages/message[@name='version']"/>
  +    </a>
  +    </xsl:if>
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +    <xsl:if test="../modulesynopsis or ../directiveindex or ../quickreference">
  +    <xsl:text> &gt; </xsl:text>
   
  -      <xsl:call-template name="super-menu"/>
  +    <a href="./{$index-file}">
  +        <xsl:value-of select="$messages/message[@name='modules']"/>
  +    </a>
  +    </xsl:if>
  +
  +    <xsl:if test="parentdocument/text()">
  +    <xsl:text> &gt; </xsl:text>
   
  -    </div> <!-- /footer -->
  -  </xsl:template>
  -  <!-- /bottom -->
  +    <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 -->
   
   
  -  <!--                                                            -->
  -  <!-- Process a documentation section                            -->
  -  <!--                                                            -->
  -  <xsl:template match="section">
  +<!-- ==================================================================== -->
  +<!-- 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;
   
  -    <xsl:call-template name="toplink"/>
  +    <xsl:call-template name="super-menu"/>
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +</div> <!-- /footer -->
  +</xsl:template>
  +<!-- /bottom -->
   
  -    <div class="section">
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +<!-- ==================================================================== -->
  +<!-- Process a documentation section                                      -->
  +<!-- ==================================================================== -->
  +<xsl:template match="section">
  +<xsl:call-template name="toplink" />&lf;
  +<div class="section">&lf;
   
  -      <!-- Section heading -->
  -      <h2>
  -        <xsl:if test="@id">
  +    <!-- Section heading -->
  +    <h2>
  +        <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>
  -      </h2>
  +        <xsl:otherwise>
  +            <xsl:apply-templates select="title" mode="print" />
  +        </xsl:otherwise>
  +        </xsl:choose>
  +    </h2>
   
  -      <!-- Section body -->
  -      <xsl:apply-templates/>
  +    <!-- Section body -->
  +    <xsl:apply-templates />
  +</div> <!-- /.section -->
  +</xsl:template>
  +<!-- /section -->
   
  -    </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" />
  +        </a>
  +    </xsl:when>
   
  -  <!--                                                            -->
  -  <!-- handle subsections (lower level headings)                  -->
  -  <!--                                                            -->
  -  <xsl:template match="section/section">
  +    <xsl:otherwise>
  +        <xsl:apply-templates select="title" mode="print" />
  +    </xsl:otherwise>
  +    </xsl:choose>
  +</h3>
   
  -    <!-- Section heading -->
  -    <h3>
  -      <xsl:if test="@id">
  +<!-- Section body -->
  +<xsl:apply-templates />
  +</xsl:template>
  +<!-- /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"/>
  +            <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>
  -    </h3>
  -
  -    <!-- Section body -->
  -    <xsl:apply-templates/>
  +    <xsl:otherwise>
  +        <xsl:apply-templates select="title" mode="print" />
  +    </xsl:otherwise>
  +    </xsl:choose>
  +</h4>
   
  -  </xsl:template>
  -  <!-- /section/section -->
  +<!-- Section body -->
  +<xsl:apply-templates/>
   
  +</xsl:template>
  +<!-- /section/section/section -->
   
  -  <!--                                                            -->
  -  <!-- handle subsubsections (h4)                                 -->
  -  <!--                                                            -->
  -  <xsl:template match="section/section/section">
   
  -    <!-- Section heading -->
  -    <h4>
  -      <xsl:if test="@id">
  -        <a id="{@id}" name="{@id}">
  -          <xsl:apply-templates select="title" mode="print"/>
  +<!-- ==================================================================== -->
  +<!-- 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:if>
  +    </xsl:when>
  +    <xsl:otherwise>
  +        <xsl:apply-templates select="title" mode="print" />
  +    </xsl:otherwise>
  +    </xsl:choose>
  +</li>&lf;
  +</xsl:template>
  +<!-- /section index -->
   
  -      <xsl:if test="not(@id)">
  -        <xsl:apply-templates select="title" mode="print"/>
  -      </xsl:if>
  -    </h4>
   
  -    <!-- Section body -->
  -    <xsl:apply-templates/>
  +<!-- ==================================================================== -->
  +<!-- 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:template>
  -  <!-- /section/section/section -->
  +    <xsl:text> | </xsl:text>
   
  +    <a href="{$path}/mod/directives.html">
  +        <xsl:value-of select="$messages/message[@name='directives']" />
  +    </a>
   
  -  <!--                                                            -->
  -  <!-- 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.
  -
  -      Perhaps you should consider to split your document into
  -      several ones...
  -      </xsl:text>
  -    </xsl:message>
  -  </xsl:template>
  -  <!-- /section/section/section/section -->
  -
  -
  -  <!--                                                            -->
  -  <!-- (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 -->
  -
  -
  -  <!--                                                            -->
  -  <!-- generate section index                                     -->
  -  <!--                                                            -->
  -  <xsl:template match="section" mode="index">
  -
  -    <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>
  +    <a href="{$path}/faq/{$index-file}">
  +        <xsl:value-of select="$messages/message[@name='faq']" />
  +    </a>
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +    <xsl:text> | </xsl:text>
   
  -    </xsl:if>
  +    <a href="{$path}/glossary.html">
  +        <xsl:value-of select="$messages/message[@name='glossary']" />
  +    </a>
   
  -    <xsl:if test="not(@id)">
  -      <li>
  -        <img src="{$path}/images/down.gif" alt="" />
  -        <xsl:text> </xsl:text>
  -        <xsl:apply-templates select="title" mode="print"/>
  +    <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(), ' ')))"/>
  +        <!-- 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(), ' '))])
  +                                &gt;= $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>
   
  -        <!-- 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:for-each>
  +    <!-- /node() -->
  +</div> <!-- /.example -->
  +</xsl:template>
  +<!-- /example -->
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
   
  -    </xsl:if>
  +<!-- ==================================================================== -->
  +<!-- example/title                                                        -->
  +<!-- ==================================================================== -->
  +<xsl:template match="example/title" mode="print">
  +<h3>
  +    <xsl:apply-templates/>
  +</h3>
  +</xsl:template>
  +<xsl:template match="example/title" />
  +<!-- /example/title -->
   
  -  </xsl:template>
  -  <!-- /section index -->
   
  +<!-- ==================================================================== -->
  +<!-- indentations                                                         -->
  +<!-- ==================================================================== -->
  +<xsl:template match="indent">
  +<span class="indent">
  +    <xsl:apply-templates/>
  +</span>
  +</xsl:template>
  +<!-- /indent -->
   
  -  <!--                                                            -->
  -  <!-- 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(),' '))]) &gt;= $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'">
  +
  +<!-- ==================================================================== -->
  +<!-- <note>                                                               -->
  +<!-- ==================================================================== -->
  +<xsl:template match="note">
  +<div class="note">
  +    <xsl:if test="@type='warning'">
           <xsl:attribute name="class">warning</xsl:attribute>
  -      </xsl:if>
  +    </xsl:if>
  +
  +    <xsl:apply-templates/>
  +</div>
  +</xsl:template>
  +<!-- /note -->
   
  -      <xsl:apply-templates/>
  -    </div>
  -  </xsl:template>
  -  <!-- /note -->
  -
  -
  -  <!--                                                    -->
  -  <!-- <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: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'">&lt;</xsl:if>
  -              <xsl:value-of select="."/>
  -              <xsl:if test="@type='section'">&gt;</xsl:if>
  +                <xsl:if test="@type='section'">&lt;</xsl:if>
  +                <xsl:value-of select="."/>
  +                <xsl:if test="@type='section'">&gt;</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'">&lt;</xsl:if>
  -              <xsl:value-of select="."/>
  -              <xsl:if test="@type='section'">&gt;</xsl:if>
  +        </xsl:when>
  +        <xsl:otherwise>
  +            <a href="{$path}/mod/{@module}.html#{$lowerdirective}">
  +                <xsl:if test="@type='section'">&lt;</xsl:if>
  +                <xsl:value-of select="."/>
  +                <xsl:if test="@type='section'">&gt;</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'">&lt;</xsl:if>
           <xsl:value-of select="."/>
           <xsl:if test="@type='section'">&gt;</xsl:if>
  -      </xsl:if>
  -
  -    </code>
  -  </xsl:template>
  -  <!-- /directive -->
  -
  +    </xsl:otherwise>
  +    </xsl:choose>
  +</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">
  +<!-- ==================================================================== -->
  +<!-- <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/*) &gt; 0">
  -	    <ul>
  -	      <xsl:apply-templates select="modulelist"/>
  -	    </ul>
  -	  </xsl:if>
  -        </td>
  -
  -        <td>
  -          <xsl:if test="count(directivelist/*) &gt; 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/*) &gt; 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/*) &gt; 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>
  -
  +    </li>
  +</xsl:for-each>
  +</xsl:template>
  +<!-- /related/modulelist -->
   
   
  -  <xsl:template match="related/directivelist">
  -    <xsl:for-each select="directive">
  -      <li>
  +<!-- ==================================================================== -->
  +<!-- 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:if>
   
  -        <xsl:otherwise>
  -          <xsl:apply-templates />
  -        </xsl:otherwise>
  -      </xsl:choose>
  -    </table>
  +    <!-- 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:template>
  -  <!-- /table -->
  +                <xsl:apply-templates />
  +            </tr>&lf;
  +        </xsl:for-each>
  +    </xsl:when>
  +    <xsl:otherwise>
  +        <xsl:apply-templates />
  +    </xsl:otherwise>
  +    </xsl:choose>
  +</table>
  +</xsl:template>
  +<!-- /table -->
   
   
  -  <!--                                                    -->
  -  <!-- <ol type                                           -->
  -  <!--                                                    -->
  -  <xsl:template match="ol">
  -    <ol>
  -      <xsl:if test="@type = 'A'">
  +<!-- ==================================================================== -->
  +<!-- <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 -->
  -
  -
  -  <!--                                                    -->
  -  <!-- <syntax>                                           -->
  -  <!-- Passes through content                             -->
  -  <!--                                                    -->
  -  <xsl:template match="syntax">
  -    <xsl:apply-templates/>
  -  </xsl:template>
  -  <!-- /syntax -->
  +    </xsl:if>
   
  -  <!--                                                    -->
  -  <!-- <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 &#160; in text() nodes.                     -->
  -  <!-- In some environments this character won't be       -->
  -  <!-- transformed correctly, so we just write it         -->
  -  <!-- explicitely as "&nbsp;"                            -->
  -  <!--                                                    -->
  -  <xsl:template match="text()" name="filter.nbsp">
  -  <xsl:param name="text"><xsl:value-of select="."/></xsl:param>
  -    <xsl:choose>
  -        <xsl:when test="contains($text, '&#160;')">
  -            <xsl:value-of select="substring-before($text, '&#160;')"/>
  -            &nbsp;
  -            <xsl:call-template name="filter.nbsp">
  -                <xsl:with-param name="text"
  -                              select="substring-after($text, '&#160;')"/>
  -            </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)}">
  -      &nbsp;
  -      <xsl:value-of select="substring($letters,1,1)"/>
  -      &nbsp;
       </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 &#160; in text() nodes.                                       -->
  +<!-- In some environments this character won't be transformed correctly,  -->
  +<!-- so we just write it explicitely as "&nbsp;" into the output.         -->
  +<!-- ==================================================================== -->
  +<xsl:template match="text()" name="filter.nbsp">
  +<xsl:param name="text" select="." />
  +
  +<xsl:choose>
  +<xsl:when test="contains($text, '&#160;')">
  +    <xsl:value-of select="substring-before($text, '&#160;')" />
  +    &nbsp;
  +    <xsl:call-template name="filter.nbsp">
  +        <xsl:with-param name="text" select="substring-after($text, '&#160;')" />
  +    </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)}">
  +    &nbsp;
  +    <xsl:value-of select="substring($letters, 1, 1)" />
  +    &nbsp;
  +</a>
  +
  +<xsl:if test="string-length($letters) &gt; 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) &gt; 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="''"/>
   
  -      <xsl:with-param name="letters">
  +<!-- ==================================================================== -->
  +<!-- template(s) for collecting all start letters of directives           -->
  +<!-- ==================================================================== -->
  +<xsl:template name="directive-startletters">
  +<xsl:param name="directives" />
  +
  +<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:template>
  +    </xsl:with-param>
  +</xsl:call-template>
  +</xsl:template>
  +<!-- /directive-startletters -->
  +
  +
  +<!-- ==================================================================== -->
  +<!-- 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:if test="not($lastletter = $current)">
  +    <xsl:value-of select="$current" />
  +</xsl:if>
   
  -  <xsl:template name="_squeeze-letters">
  -  <xsl:param name="letters"/>
  -  <xsl:param name="lastletter"/>
  -
  -    <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="string-length($letters) &gt; 1">
  -      <xsl:call-template name="_squeeze-letters">
  -        <xsl:with-param name="letters" select="substring($letters,2)"/>
  +<xsl:if test="string-length($letters) &gt; 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, ':')) &lt; 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>
  
  
  
  1.6.2.4   +141 -109  httpd-2.0/docs/manual/style/xsl/directiveindex.xsl
  
  Index: directiveindex.xsl
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/directiveindex.xsl,v
  retrieving revision 1.6.2.3
  retrieving revision 1.6.2.4
  diff -u -r1.6.2.3 -r1.6.2.4
  --- directiveindex.xsl	14 Apr 2003 18:40:01 -0000	1.6.2.3
  +++ directiveindex.xsl	20 Apr 2003 03:08:31 -0000	1.6.2.4
  @@ -1,131 +1,163 @@
  -<?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 -->
  -
  -<xsl:text>
  -</xsl:text> <!-- insert a line break -->
  -
  -        </div> <!-- /preamble -->
  -
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +            <h1>
  +                <xsl:value-of select="title" />
  +            </h1>&lf;
  +
  +            <xsl:apply-templates select="summary" />&lf;
  +
  +            <!-- 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'">&lt;</xsl:if>
  -          <xsl:value-of select="name"/>
  -          <xsl:if test="@type = 'section'">&gt;</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'">&lt;</xsl:if>
  +            <xsl:value-of select="name" />
  +            <xsl:if test="@type = 'section'">&gt;</xsl:if>
           </a>
  -      </li>
  -
  -<xsl:text>
  -</xsl:text> <!-- insert a line break -->
  -
  -    </xsl:for-each> <!-- /directives -->
  +    </li>&lf;
  +</xsl:for-each>
   
  -    <!-- call next letter, if there is -->
  -    <xsl:if test="string-length($letters-todo) &gt; 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>
  +<!-- call next letter, if there is -->
  +<xsl:if test="string-length($letters-todo) &gt; 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:template>
  +<!-- /dindex-of-letter -->
   
   </xsl:stylesheet>
  
  
  
  1.1.2.3   +205 -158  httpd-2.0/docs/manual/style/xsl/faq.xsl
  
  Index: faq.xsl
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/faq.xsl,v
  retrieving revision 1.1.2.2
  retrieving revision 1.1.2.3
  diff -u -r1.1.2.2 -r1.1.2.3
  --- faq.xsl	18 Apr 2003 02:02:51 -0000	1.1.2.2
  +++ faq.xsl	20 Apr 2003 03:08:31 -0000	1.1.2.3
  @@ -1,185 +1,232 @@
  -<?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">
  +            <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;
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +<div class="section">&lf;
   
  -      <!-- Section heading -->
  -      <h2>
  +    <!-- 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>
  +    </h2>&lf;
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  -
  -      <dl>
  +    <dl>
           <xsl:apply-templates select="categoryfile" mode="index"/>
  -      </dl>
  -    </div> <!-- /.section -->
  +    </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>
  +<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>
  +    </a>
  +</li>&lf;
  +</xsl:template>
  +<!-- /categoryfile, "toc" -->
   
  -  </xsl:template>
   
  -  <xsl:template match="categories/categoryfile" mode="suckin">
  -    <xsl:apply-templates select="document(.)/faq/section" />
  -  </xsl:template>
  +<!-- ==================================================================== -->
  +<!-- <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>
  
  
  
  1.1.2.5   +208 -175  httpd-2.0/docs/manual/style/xsl/indexpage.xsl
  
  Index: indexpage.xsl
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/indexpage.xsl,v
  retrieving revision 1.1.2.4
  retrieving revision 1.1.2.5
  diff -u -r1.1.2.4 -r1.1.2.5
  --- indexpage.xsl	18 Apr 2003 02:02:51 -0000	1.1.2.4
  +++ indexpage.xsl	20 Apr 2003 03:08:31 -0000	1.1.2.5
  @@ -1,210 +1,243 @@
  -<?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 -->
  +<!-- ==================================================================== -->
  +<!-- <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:call-template name="top"/>          
  -
  -<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}" />
  -
  -          <!-- the current document encoding for input (?) -->
  -          <input type="hidden" name="ie" value="{$output-encoding}" />
  -
  -          <!-- (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="&quot;List-Post&quot;" 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="" />
  +            <h1>
  +                <xsl:value-of select="title"/>
  +            </h1>&lf;
  +
  +            <form>
  +                <xsl:call-template name="search.spec" />
  +            </form>&lf;
   
  -          <!-- 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" />
  -
  -          <!-- turn off "safe" mode -->
  -          <input type="hidden" name="safe" value="off" />
  -          </p></form>
  -
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  -
  -          <table id="indextable">
  +            <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>
  +                <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:text>
  -</xsl:text> <!-- insert line break -->
  +            </table>
  +        </div>&lf; <!-- /#page-content -->
   
  -        <xsl:call-template name="bottom"/>
  -
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  -
  -      </body>
  -    </html>
  -  </xsl:template>
  -  
  -
  -  <!--                                                    -->
  -  <!-- category/page                                      -->
  -  <!--                                                    -->
  -  <xsl:template match="indexpage/category/page">
  -    <li>
  -      <xsl:if test="@separate='yes'">
  +        <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>
  +    </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:call-template name="helper.uri.fix">
  +                <xsl:with-param name="uri" select="@href"/>
  +            </xsl:call-template>
   
  -          <xsl:value-of select="."/>
  +            <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="indexpage/category">
  -
  -    <div class="category">
  -
  -      <!-- Section heading -->
  -      <h2>
  +    </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>
  +            <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:apply-templates select="title" mode="print" />
           </xsl:if>
  -      </h2>
  -
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +    </h2>&lf;
   
  -      <!-- category body -->
  -      <ul>
  -        <xsl:apply-templates select="page"/>
  -      </ul>
  -      
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  -
  -    </div> <!-- /.section -->
  -  </xsl:template>
  -  <!-- /category -->
  +    <!-- category body -->
  +    <ul>
  +        <xsl:apply-templates select="page" />
  +    </ul>&lf;
  +</div> <!-- /.section -->
  +</xsl:template>
  +<!-- /category -->
  +
  +
  +<!-- ==================================================================== -->
  +<!-- 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>
  +
  +<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}" />
  +
  +    <!-- the current document encoding for input (?) -->
  +    <input type="hidden" name="ie" value="{$output-encoding}" />
  +
  +    <!-- (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="&quot;List-Post&quot;" 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" />
  +
  +    <!-- turn off "safe" mode -->
  +    <input type="hidden" name="safe" value="off" />
  +</p>
  +</xsl:template>
  +<!-- /search.spec -->
   
   </xsl:stylesheet>
  -
  
  
  
  1.1.2.5   +101 -64   httpd-2.0/docs/manual/style/xsl/manualpage.xsl
  
  Index: manualpage.xsl
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/manualpage.xsl,v
  retrieving revision 1.1.2.4
  retrieving revision 1.1.2.5
  diff -u -r1.1.2.4 -r1.1.2.5
  --- manualpage.xsl	18 Apr 2003 02:02:51 -0000	1.1.2.4
  +++ manualpage.xsl	20 Apr 2003 03:08:31 -0000	1.1.2.5
  @@ -1,23 +1,73 @@
  -<?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>
  @@ -26,58 +76,45 @@
           <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>
  
  
  
  1.3.2.9   +338 -325  httpd-2.0/docs/manual/style/xsl/moduleindex.xsl
  
  Index: moduleindex.xsl
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/moduleindex.xsl,v
  retrieving revision 1.3.2.8
  retrieving revision 1.3.2.9
  diff -u -r1.3.2.8 -r1.3.2.9
  --- moduleindex.xsl	18 Apr 2003 02:02:51 -0000	1.3.2.8
  +++ moduleindex.xsl	20 Apr 2003 03:08:31 -0000	1.3.2.9
  @@ -1,353 +1,366 @@
  -<?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:apply-templates select="summary" />
  +            </div>&lf; <!-- /#preamble -->
   
  -              <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: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: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: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), ' ')), ' -')"/>
  +<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>
  +    <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: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"/>
  +            <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) &gt; 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>
  -
  -    <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:for-each>
  -      </xsl:with-param>
  +    </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) &gt; 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 -->
   
  -  </xsl:template>
  -  <!-- /module-startletters -->
   
  +<!-- ==================================================================== -->
  +<!-- 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>
   
  -  <!--                                                     -->
  -  <!-- 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: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: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:                                                    -->
  +<!--
          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: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:stylesheet>
  
  
  
  1.7.2.5   +200 -176  httpd-2.0/docs/manual/style/xsl/quickreference.xsl
  
  Index: quickreference.xsl
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/quickreference.xsl,v
  retrieving revision 1.7.2.4
  retrieving revision 1.7.2.5
  diff -u -r1.7.2.4 -r1.7.2.5
  --- quickreference.xsl	14 Apr 2003 18:40:03 -0000	1.7.2.4
  +++ quickreference.xsl	20 Apr 2003 03:08:31 -0000	1.7.2.5
  @@ -1,219 +1,243 @@
  -<?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"/>
  -
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  -
  -      <body id="directive-index">
  +<!-- ==================================================================== -->
  +<!-- <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 -->
  -
  -        <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 -->
  +            <h1>
  +                <xsl:value-of select="title" />
  +            </h1>&lf;
   
  -          <xsl:apply-templates select="summary" />
  -        </div> <!-- /preamble -->
  -
  -<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[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="directives"
  +                select="document(modulefilelist/modulefile)
  +                        /modulesynopsis/directivesynopsis[not(@location)]" />
  +
  +            <xsl:variable name="start-letters">
  +                <xsl:call-template name="directive-startletters">
  +                    <xsl:with-param name="directives" select="$directives" />
                   </xsl:call-template>
  -              </span></td>
  +            </xsl:variable>
   
  -<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 -->
  +            <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 -->
  -
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +            </table>
  +        </div>&lf; <!-- /#directive-ref -->
   
  -        <xsl:call-template name="bottom"/>
  +        <xsl:call-template name="bottom"/>&lf;
  +    </body>
  +</html>
  +</xsl:template>
  +<!-- /quickreference -->
  +
  +
  +<!-- ==================================================================== -->
  +<!-- 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" />
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  -
  -      </body>
  -    </html>
  -  </xsl:template>
  -
  -
  -  <!--                                                     -->
  -  <!-- 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>
  +            <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>
  +                <xsl:apply-templates select="syntax" />
  +            </a>
           </td>
  -
           <td>
  -          <xsl:variable name="default">
  -            <xsl:choose>
  -              <xsl:when test="count(default[count(br) &gt; 0]) &gt; 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)) &gt; 20
  -                     or count(default[count(br) &gt; 0]) &gt; 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) &gt; 0]) &gt; 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)) &gt; 20
  +                          or count(default[count(br) &gt; 0]) &gt; 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)) &gt; 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)) &gt; 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) &gt; 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>
  +    </tr>&lf;
  +</xsl:for-each> <!-- /directives -->
   
  -  </xsl:template>
  -  <!-- /reference-of-letter -->
  +<!-- call next letter, if there is -->
  +<xsl:if test="string-length($letters-todo) &gt; 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>
  
  
  
  1.4.2.7   +241 -270  httpd-2.0/docs/manual/style/xsl/sitemap.xsl
  
  Index: sitemap.xsl
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/sitemap.xsl,v
  retrieving revision 1.4.2.6
  retrieving revision 1.4.2.7
  diff -u -r1.4.2.6 -r1.4.2.7
  --- sitemap.xsl	18 Apr 2003 02:02:51 -0000	1.4.2.6
  +++ sitemap.xsl	20 Apr 2003 03:08:31 -0000	1.4.2.7
  @@ -1,309 +1,280 @@
  -<?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>
  -
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +            <div id="preamble">        
  +                <h1>
  +                    <xsl:value-of select="title" />
  +                </h1>&lf;
   
  -            <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) &gt; 1) or seealso">
  +                <div id="quickview">
  +                    <xsl:if test="not($is-chm) and count(category) &gt; 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 -->
  -
  -                <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: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"/>
  +	            </div>&lf; <!-- /#quickview -->
  +            </xsl:if> <!-- have sidebar -->
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +            <xsl:apply-templates select="category" />
  +        </div>&lf; <!-- /#page-content -->
   
  -      </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: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: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;
   
  -      <xsl:for-each select="modulefile">
  -        <xsl:variable name="current" select="document(concat($basedir,'mod/',.))/modulesynopsis" />
  +    <!-- category body -->
  +    <ul>
  +        <xsl:apply-templates select="page" />
  +    </ul>
  +      
  +    <!-- 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 -->
  +    </xsl:for-each>
  +</xsl:variable>
   
  -      <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" />
  +<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, ' ')), ' -')" />
   
  -        <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>
  +        <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>
  -
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  -
  -        </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, ' ')), ' -')"/>
  +        </li>&lf;
  +    </xsl:if>
  +</xsl:for-each>
  +</ul>
  +
  +<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>
  
  
  
  1.5.2.9   +476 -569  httpd-2.0/docs/manual/style/xsl/synopsis.xsl
  
  Index: synopsis.xsl
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/synopsis.xsl,v
  retrieving revision 1.5.2.8
  retrieving revision 1.5.2.9
  diff -u -r1.5.2.8 -r1.5.2.9
  --- synopsis.xsl	18 Apr 2003 02:02:51 -0000	1.5.2.8
  +++ synopsis.xsl	20 Apr 2003 03:08:31 -0000	1.5.2.9
  @@ -1,634 +1,541 @@
  -<?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"/>
  +<!-- ==================================================================== -->
  +<!-- <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'"
  +                                                >&lt;</xsl:if>
  +                                            <xsl:value-of select="name" />
  +                                            <xsl:if test="@type='section'"
  +                                                >&gt;</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'"
  +                                                >&lt;</xsl:if>
  +                                            <xsl:value-of select="name" />
  +                                            <xsl:if test="@type='section'"
  +                                                >&gt;</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)" />
   
  -<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'">&lt;</xsl:if>
  -                        <xsl:value-of select="name"/>
  -                        <xsl:if test="@type='section'">&gt;</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'">&lt;</xsl:if>
  -                        <xsl:value-of select="name"/>
  -                        <xsl:if test="@type='section'">&gt;</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 -->
  +        <!-- 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'">&lt;</xsl:if>
  -            <xsl:value-of select="name"/>
  -            <xsl:if test="@type='section'">&gt;</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'">&lt;</xsl:if>
  +                <xsl:value-of select="name" />
  +                <xsl:if test="@type='section'">&gt;</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>
  +        </tr>&lf;
   
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  -
  -          <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>
  -
  -          <xsl:if test="compatibility">
  -
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  +        </tr>
   
  -          <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> <!-- /directive-section -->
  -
  -<xsl:text>
  -</xsl:text> <!-- insert line break -->
  -
  -    </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>
  -
  +    </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: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 -->
  +    </xsl:if>
  +</xsl:for-each>
  +</xsl:template>
  +<!-- /modulelist -->
  +
  +
  +<!-- ==================================================================== -->
  +<!-- modulesynopsis/compatibility                                         -->
  +<!-- ==================================================================== -->
  +<xsl:template match="modulesynopsis/compatibility">
  +<xsl:apply-templates />
  +</xsl:template>
  +
  +
  +<!-- ==================================================================== -->
  +<!-- directivesynopsis/compatibility                                      -->
  +<!-- ==================================================================== -->
  +<xsl:template match="directivesynopsis/compatibility">
  +<xsl:apply-templates />
  +</xsl:template>
   
   </xsl:stylesheet>
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.2   +1 -1      httpd-2.0/docs/manual/style/xsl/util/lf.xml
  
  Index: lf.xml
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/util/lf.xml,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- lf.xml	18 Apr 2003 02:02:51 -0000	1.1.2.1
  +++ lf.xml	20 Apr 2003 03:08:32 -0000	1.1.2.2
  @@ -1,3 +1,3 @@
   <?xml version="1.0" encoding="UTF-8" ?>
   
  -<xsl:text>&#xA;</xsl:text>
  \ No newline at end of file
  +<xsl:text>&#xA;</xsl:text>
  
  
  
  1.1.2.2   +67 -15    httpd-2.0/docs/manual/style/xsl/util/modtrans.xsl
  
  Index: modtrans.xsl
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/util/modtrans.xsl,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- modtrans.xsl	18 Apr 2003 02:02:51 -0000	1.1.2.1
  +++ modtrans.xsl	20 Apr 2003 03:08:32 -0000	1.1.2.2
  @@ -1,26 +1,78 @@
  -<?xml version="1.0"?>
  -<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#160;"> ]>
  +<?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 -->
   
  
  
  
  1.1.2.2   +1 -1      httpd-2.0/docs/manual/style/xsl/util/nbsp.xml
  
  Index: nbsp.xml
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/style/xsl/util/nbsp.xml,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- nbsp.xml	14 Apr 2003 18:40:11 -0000	1.1.2.1
  +++ nbsp.xml	20 Apr 2003 03:08:32 -0000	1.1.2.2
  @@ -1,3 +1,3 @@
   <?xml version="1.0" encoding="utf-8"?>
   
  -<xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text> 
  +<xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>
  
  
  

Mime
View raw message