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 / F251394_indexpage.xsl < prev    next >
Extensible Markup Language  |  2003-05-29  |  9KB  |  246 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. <!-- three columns, select were the particular categories shall be        -->
  64. <!-- placed in. (order is irrelevant, they're placed in document order)   -->
  65. <!--                                                                      -->
  66. <xsl:variable name="indexpage-column1" select="'
  67.     release
  68.     manual
  69. '"/>
  70.  
  71. <xsl:variable name="indexpage-column2" select="'
  72.     usersguide
  73. '"/>
  74.  
  75. <xsl:variable name="indexpage-column3" select="'
  76.     howto
  77.     platform
  78.     other
  79. '"/>
  80.  
  81. <!-- ==================================================================== -->
  82. <!-- <indexpage>                                                          -->
  83. <!-- Process an entire document into an HTML page                         -->
  84. <!-- ==================================================================== -->
  85. <xsl:template match="/indexpage">
  86. <html xml:lang="{$messages/@lang}" lang="{$messages/@lang}">
  87.     <xsl:call-template name="head"/>&lf;
  88.  
  89.     <body id="index-page">&lf;
  90.         <xsl:call-template name="top"/>&lf;
  91.  
  92.         <div id="page-content">
  93.             <h1>
  94.                 <xsl:value-of select="title"/>
  95.             </h1>&lf;
  96.  
  97.             <xsl:call-template name="langavail" />&lf;
  98.  
  99.             <form>
  100.                 <xsl:call-template name="search.spec" />
  101.             </form>&lf;
  102.  
  103.             <table id="indextable">
  104.             <tr>
  105.                 <td class="col1">
  106.                     <xsl:apply-templates
  107.                         select="category[contains($indexpage-column1, @id)]" />
  108.                 </td>
  109.                 <td>
  110.                     <xsl:apply-templates
  111.                         select="category[contains($indexpage-column2, @id)]" />
  112.                 </td>
  113.                 <td class="col3">
  114.                     <xsl:apply-templates
  115.                         select="category[contains($indexpage-column3, @id)]" />
  116.                 </td>
  117.             </tr>
  118.             </table>
  119.         </div>&lf; <!-- /#page-content -->
  120.  
  121.         <xsl:call-template name="bottom" />&lf;
  122.     </body>
  123. </html>
  124. </xsl:template>
  125. <!-- /indexpage -->
  126.  
  127.  
  128. <!-- ==================================================================== -->
  129. <!-- category/page                                                        -->
  130. <!-- ==================================================================== -->
  131. <xsl:template match="indexpage/category/page">
  132. <li>
  133.     <xsl:if test="@separate='yes'">
  134.         <xsl:attribute name="class">separate</xsl:attribute>
  135.     </xsl:if>
  136.  
  137.     <xsl:choose>
  138.     <xsl:when test="@href">
  139.         <a href="{@href}">
  140.             <xsl:call-template name="helper.uri.fix">
  141.                 <xsl:with-param name="uri" select="@href"/>
  142.             </xsl:call-template>
  143.  
  144.             <xsl:value-of select="." />
  145.         </a>
  146.     </xsl:when>
  147.     <xsl:otherwise>
  148.         <xsl:value-of select="." />
  149.     </xsl:otherwise>
  150.     </xsl:choose>
  151. </li>&lf;
  152. </xsl:template>
  153. <!-- /category/page -->
  154.  
  155.  
  156. <!-- ==================================================================== -->
  157. <!-- Process a indexpage category                                         -->
  158. <!-- ==================================================================== -->
  159. <xsl:template match="indexpage/category">
  160. <div class="category">
  161.     <!-- Section heading -->
  162.     <h2>
  163.         <xsl:if test="@id">
  164.             <a id="{@id}" name="{@id}">
  165.                 <xsl:apply-templates select="title" mode="print" />
  166.             </a>
  167.         </xsl:if>
  168.  
  169.         <xsl:if test="not(@id)">
  170.             <xsl:apply-templates select="title" mode="print" />
  171.         </xsl:if>
  172.     </h2>&lf;
  173.  
  174.     <!-- category body -->
  175.     <ul>
  176.         <xsl:apply-templates select="page" />
  177.     </ul>&lf;
  178. </div> <!-- /.section -->
  179. </xsl:template>
  180. <!-- /category -->
  181.  
  182.  
  183. <!-- ==================================================================== -->
  184. <!-- search specification                                                 -->
  185. <!-- hidden fields are taken from the advanced search page                -->
  186. <!-- ==================================================================== -->
  187. <xsl:template name="search.spec">
  188. <xsl:attribute name="method">get</xsl:attribute>
  189. <xsl:attribute name="action">http://www.google.com/search</xsl:attribute>
  190. <xsl:if test="$ext-target">
  191.     <xsl:attribute name="target">_blank</xsl:attribute>
  192. </xsl:if>
  193.  
  194. <p>
  195.     <!-- search google: -->
  196.     <!-- with all of the words -->
  197.     <input type="text" value="" name="as_q" />
  198.     <xsl:text> </xsl:text>
  199.     <input type="submit" value="{$messages/message[@name='search']}" />
  200.  
  201.     <!-- the specified number of results -->
  202.     <input type="hidden" name="num" value="10" />
  203.  
  204.     <!-- the current displayed language -->
  205.     <input type="hidden" name="hl" value="{$messages/@lang}" />
  206.  
  207.     <!-- the current document encoding for input (?) -->
  208.     <input type="hidden" name="ie" value="{$output-encoding}" />
  209.  
  210.     <!-- (submit the original button and name) -->
  211.     <input type="hidden" name="btnG" value="Google Search" />
  212.  
  213.     <!-- including the exact phrase "Apache 2.0" -->
  214.     <input type="hidden" value="Apache 2.0" name="as_epq" />
  215.  
  216.     <!-- with at least one of the words (none) -->
  217.     <input type="hidden" value="" name="as_oq" />
  218.  
  219.     <!-- without the phrase "List-Post" (to exclude the mail archives) -->
  220.     <input type="hidden" value=""List-Post"" name="as_eq" />
  221.  
  222.     <!-- return results written in (any) language -->
  223.     <input type="hidden" name="lr" value="" />
  224.  
  225.     <!-- and any format -->
  226.     <input type="hidden" name="as_ft" value="i" />
  227.     <input type="hidden" name="as_filetype" value="" />
  228.  
  229.     <!-- updated anytime -->
  230.     <input type="hidden" name="as_qdr" value="all" />
  231.  
  232.     <!-- where the result appears anywhere in the document -->
  233.     <input type="hidden" name="as_occt" value="any" />
  234.  
  235.     <!-- only from httpd.apache.org -->
  236.     <input type="hidden" name="as_dt" value="i" />
  237.     <input type="hidden" name="as_sitesearch" value="httpd.apache.org" />
  238.  
  239.     <!-- turn off "safe" mode -->
  240.     <input type="hidden" name="safe" value="off" />
  241. </p>
  242. </xsl:template>
  243. <!-- /search.spec -->
  244.  
  245. </xsl:stylesheet>
  246.