home *** CD-ROM | disk | FTP | other *** search
/ PC World 2003 November / PCWorld_2003-11_cd.bin / Komunik / apache / apache_2.0.47-win32-x86-no_ssl.msi / Data.Cab / F251393_faq.xsl < prev    next >
Extensible Markup Language  |  2003-05-29  |  10KB  |  235 lines

  1. <?xml version="1.0"?><!--
  2. /* ====================================================================
  3.  * The Apache Software License, Version 1.1
  4.  *
  5.  * Copyright (c) 2002-2003 The Apache Software Foundation.  All rights
  6.  * reserved.
  7.  *
  8.  * Redistribution and use in source and binary forms, with or without
  9.  * modification, are permitted provided that the following conditions
  10.  * are met:
  11.  *
  12.  * 1. Redistributions of source code must retain the above copyright
  13.  *    notice, this list of conditions and the following disclaimer.
  14.  *
  15.  * 2. Redistributions in binary form must reproduce the above copyright
  16.  *    notice, this list of conditions and the following disclaimer in
  17.  *    the documentation and/or other materials provided with the
  18.  *    distribution.
  19.  *
  20.  * 3. The end-user documentation included with the redistribution,
  21.  *    if any, must include the following acknowledgment:
  22.  *       "This product includes software developed by the
  23.  *        Apache Software Foundation (http://www.apache.org/)."
  24.  *    Alternately, this acknowledgment may appear in the software itself,
  25.  *    if and wherever such third-party acknowledgments normally appear.
  26.  *
  27.  * 4. The names "Apache" and "Apache Software Foundation" must
  28.  *    not be used to endorse or promote products derived from this
  29.  *    software without prior written permission. For written
  30.  *    permission, please contact apache@apache.org.
  31.  *
  32.  * 5. Products derived from this software may not be called "Apache",
  33.  *    nor may "Apache" appear in their name, without prior written
  34.  *    permission of the Apache Software Foundation.
  35.  *
  36.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  37.  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  38.  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  39.  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  40.  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  41.  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  42.  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  43.  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  44.  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  45.  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  46.  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  47.  * SUCH DAMAGE.
  48.  * ====================================================================
  49.  *
  50.  * This software consists of voluntary contributions made by many
  51.  * individuals on behalf of the Apache Software Foundation.  For more
  52.  * information on the Apache Software Foundation, please see
  53.  * <http://www.apache.org/>.
  54.  */ -->
  55. <!DOCTYPE xsl:stylesheet [
  56.     <!ENTITY lf SYSTEM "util/lf.xml">
  57. ]>
  58. <xsl:stylesheet version="1.0"
  59.               xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  60.                   xmlns="http://www.w3.org/1999/xhtml">
  61.  
  62. <!-- ==================================================================== -->
  63. <!-- <faq>                                                                -->
  64. <!-- Process an entire document into an HTML page                         -->
  65. <!-- ==================================================================== -->
  66. <xsl:template match="faq">
  67. <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
  68.     <xsl:call-template name="head"/>&lf;
  69.  
  70.     <body id="manual-page">
  71.         <!-- unsqueeze if there's no sidebar -->
  72.         <xsl:if test="   not(count(section) > 1
  73.                       or (/faq/@all-in-one = 'yes')
  74.                       or seealso)">
  75.             <xsl:attribute name="class">no-sidebar</xsl:attribute>
  76.         </xsl:if>
  77.  
  78.         <xsl:call-template name="top" />          
  79.  
  80.         <div id="page-content">
  81.             <div id="preamble">        
  82.                 <h1>
  83.                     <xsl:value-of select="title" />
  84.                 </h1>&lf;
  85.  
  86.                 <xsl:call-template name="langavail" />&lf;
  87.  
  88.                 <xsl:apply-templates select="summary"/>
  89.             </div>&lf; <!-- /#preamble -->
  90.  
  91.             <xsl:if
  92.                 test="(    not($is-chm)
  93.                        and (count(section) > 1 or (/faq/@all-in-one = 'yes')))
  94.                       or seealso">
  95.                 <div id="quickview">
  96.                     <xsl:if test="not($is-chm)">
  97.                         <xsl:if test="count(section) > 1">
  98.                             <ul id="toc">
  99.                                 <xsl:apply-templates
  100.                                     select="section" mode="index" />
  101.                             </ul>
  102.                         </xsl:if>
  103.  
  104.                         <xsl:if test="/faq/@all-in-one = 'yes'">
  105.                             <ul id="toc">
  106.                             <li>
  107.                                 <img src="{$path}/images/down.gif" alt="" />
  108.                                 <xsl:text> </xsl:text>
  109.                                 <a href="#topics">
  110.                                     <xsl:value-of select="$messages/message
  111.                                                           [@name='topics']" />
  112.                                 </a>
  113.                             </li>&lf;
  114.  
  115.                             <xsl:apply-templates
  116.                                 select="categories/categoryfile" mode="toc" />
  117.                             </ul>
  118.                         </xsl:if>
  119.                     </xsl:if> <!-- !$is-chm -->
  120.  
  121.                     <xsl:if test="seealso">
  122.                         <h3>
  123.                             <xsl:value-of
  124.                                 select="$messages/message[@name='seealso']" />
  125.                         </h3>
  126.  
  127.                         <ul class="seealso">
  128.                         <xsl:for-each select="seealso">
  129.                             <li>
  130.                                 <xsl:apply-templates />
  131.                             </li>
  132.                         </xsl:for-each>
  133.                         </ul>
  134.                     </xsl:if>
  135.                 </div>&lf; <!-- /#quickview -->
  136.             </xsl:if> <!-- /have sidebar -->
  137.  
  138.             <!-- either one ... -->
  139.             <xsl:apply-templates select="section" />
  140.             <!-- ... or the other is allowed -->
  141.             <xsl:apply-templates select="categories" />
  142.         </div>&lf; <!-- /#page-content -->
  143.  
  144.         <xsl:call-template name="bottom" />&lf;
  145.     </body>
  146. </html>
  147. </xsl:template>
  148. <!-- /faq -->
  149.  
  150. <!-- ==================================================================== -->
  151. <!-- <categories> (see categories.xml)                                    -->
  152. <!-- ==================================================================== -->
  153. <xsl:template match="categories">
  154. <xsl:call-template name="toplink" />&lf;
  155.  
  156. <div class="section">&lf;
  157.  
  158.     <!-- Section heading -->
  159.     <h2>
  160.         <a name="topics" id="topics">
  161.             <xsl:value-of select="$messages/message[@name='topics']" />
  162.         </a>
  163.     </h2>&lf;
  164.  
  165.     <dl>
  166.         <xsl:apply-templates select="categoryfile" mode="index"/>
  167.     </dl>
  168. </div> <!-- /.section -->
  169.  
  170. <xsl:if test="/faq/@all-in-one = 'yes'">
  171.     <xsl:apply-templates select="categoryfile" mode="suckin" />
  172. </xsl:if>
  173. </xsl:template>
  174. <!-- /categories -->
  175.  
  176. <!-- ==================================================================== -->
  177. <!-- <categoryfile> mode="index"                                          -->
  178. <!-- just write the short description with a link to the resource         -->
  179. <!-- ==================================================================== -->
  180. <xsl:template match="categories/categoryfile" mode="index">
  181. <xsl:variable name="current" select="document(.)/faq" />
  182.  
  183. <dt>
  184.     <a>
  185.         <xsl:attribute name="href">
  186.             <xsl:choose>
  187.             <xsl:when test="/faq/@all-in-one = 'yes'">
  188.                 <xsl:value-of select="concat('#', $current/section/@id)" />
  189.             </xsl:when>
  190.             <xsl:otherwise>
  191.                 <xsl:value-of select="concat(document($current/@metafile)
  192.                                              /metafile/basename, '.html')" />
  193.             </xsl:otherwise>
  194.             </xsl:choose>
  195.         </xsl:attribute>
  196.  
  197.         <xsl:value-of select="$current/section/title" />
  198.     </a>
  199. </dt>
  200. <dd>
  201.     <xsl:apply-templates select="$current/description" />
  202. </dd>&lf;
  203. </xsl:template>
  204. <!-- /categoryfile, "index" -->
  205.  
  206.  
  207. <!-- ==================================================================== -->
  208. <!-- <categoryfile> mode="toc"                                            -->
  209. <!-- create sidebar links                                                 -->
  210. <!-- ==================================================================== -->
  211. <xsl:template match="categories/categoryfile" mode="toc">
  212. <xsl:variable name="current" select="document(.)/faq" />
  213.  
  214. <li>
  215.     <img src="{$path}/images/down.gif" alt="" />
  216.     <xsl:text> </xsl:text>
  217.     <a href="#{$current/section/@id}">
  218.         <xsl:value-of select="$current/section/title" />
  219.     </a>
  220. </li>&lf;
  221. </xsl:template>
  222. <!-- /categoryfile, "toc" -->
  223.  
  224.  
  225. <!-- ==================================================================== -->
  226. <!-- <categoryfile> mode="suckin"                                         -->
  227. <!-- load whole file contents (for all-in-one page)                       -->
  228. <!-- ==================================================================== -->
  229. <xsl:template match="categories/categoryfile" mode="suckin">
  230. <xsl:apply-templates select="document(.)/faq/section" />
  231. </xsl:template>
  232. <!-- /categoryfile, "suckin" -->
  233.  
  234. </xsl:stylesheet>
  235.