]> granicus.if.org Git - apache/commitdiff
the html files used for chm compiling differ in detail from our normal
authorAndré Malo <nd@apache.org>
Thu, 17 Apr 2003 16:34:23 +0000 (16:34 +0000)
committerAndré Malo <nd@apache.org>
Thu, 17 Apr 2003 16:34:23 +0000 (16:34 +0000)
manual pages. The target format is reflected by the $is-chm variable
which is used to <if> in and out the interesting parts.

Further add some more utility snippets.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99409 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/style/xsl/common.xsl
docs/manual/style/xsl/faq.xsl
docs/manual/style/xsl/indexpage.xsl
docs/manual/style/xsl/manualpage.xsl
docs/manual/style/xsl/moduleindex.xsl
docs/manual/style/xsl/sitemap.xsl
docs/manual/style/xsl/synopsis.xsl
docs/manual/style/xsl/util/lf.xml [new file with mode: 0644]
docs/manual/style/xsl/util/modtrans.xsl [new file with mode: 0644]
docs/manual/style/xsl/util/tab.xml [new file with mode: 0644]

index 2b2528fb96b393a0c98c1b5b3e6b79122159f052..1b4b777240abf38ab2a39a14625950d3a3ab3af6 100644 (file)
@@ -36,6 +36,8 @@
   <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:otherwise>1</xsl:otherwise></xsl:choose>
   </xsl:variable>
 
+  <xsl:variable name="index-file">
+    <xsl:if test="$is-chm">index.html</xsl:if>
+  </xsl:variable>
+  <xsl:variable name="ext-target">
+    <xsl:if test="$is-chm">1</xsl:if>
+  </xsl:variable>
+
+  <xsl:template name="helper.uri.fix">
+  <xsl:param name="uri"/>
+    <xsl:choose>
+      <!-- lame is_absolute_uri test -->
+      <xsl:when test="    contains($uri, ':')
+                      and string-length(substring-before($uri, ':')) &lt; 7">
+        <xsl:if test="$ext-target = '1'">
+          <xsl:attribute name="target">_blank</xsl:attribute>
+        </xsl:if>
+      </xsl:when>
+
+      <xsl:otherwise>
+        <xsl:variable name="fragment">
+          <xsl:if test="contains($uri, '#')"><xsl:value-of select="concat('#', substring-after($uri, '#'))"/></xsl:if>
+        </xsl:variable>
+        <xsl:variable name="absuri">
+          <xsl:if test="contains($uri, '#')"><xsl:value-of select="concat('#', substring-before($uri, '#'))"/></xsl:if>
+          <xsl:if test="not(contains($uri, '#'))"><xsl:value-of select="$uri"/></xsl:if>
+        </xsl:variable>
+        
+        <xsl:if test="substring($absuri, string-length($uri), 1) = '/'">
+          <xsl:attribute name="href">
+            <xsl:value-of select="concat($absuri, $index-file, $fragment)"/>
+          </xsl:attribute>
+        </xsl:if>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+
   <!--                                                            -->
   <!--    Utility templates for constructing pages                -->
   <!--                                                            -->
   <!--                                                            -->
   <xsl:template name="head">
     <head>
+      <xsl:if 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
 <xsl:text>
 </xsl:text> <!-- insert line break -->
 
-      <link title="Main stylesheet"  type="text/css" media="all" rel="stylesheet"
-             href="{$path}/style/css/manual.css" />
+      <xsl:if 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)">
+        <link title="Main stylesheet"  type="text/css" media="all"
+                rel="stylesheet"
+               href="{$path}/style/css/manual.css" />
 
 <xsl:text>
 </xsl:text> <!-- insert line break -->
 
-      <link title="No Sidebar - Default font size" type="text/css" media="all"
-             rel="alternate stylesheet"
-             href="{$path}/style/css/manual-loose-100pc.css"/>
+        <link title="No Sidebar - Default font size" type="text/css" media="all"
+               rel="alternate stylesheet"
+               href="{$path}/style/css/manual-loose-100pc.css"/>
+      </xsl:if> <!-- /!is-chm -->
 
 <xsl:text>
 </xsl:text> <!-- insert line break -->
              rel="stylesheet"
              href="{$path}/style/css/manual-print.css"/>
 
+      <xsl:if test="not($is-chm)">
 <xsl:text>
 </xsl:text> <!-- insert line break -->
 
-      <link rel="shortcut icon" href="{$path}/images/favicon.ico" />
+        <link rel="shortcut icon" href="{$path}/images/favicon.ico" />
+      </xsl:if>
+
     </head>
   </xsl:template>
   <!-- /head -->
 
-
   <!--                                                            -->
   <!-- page top                                                   -->
   <!--                                                            -->
 </xsl:text> <!-- insert line break -->
 
     <div class="up">
-      <a href="./">
+      <a href="./{$index-file}">
         <xsl:if test="parentdocument">
           <xsl:attribute name="href"><xsl:value-of select="parentdocument/@href"/></xsl:attribute>
+          <xsl:call-template name="helper.uri.fix">
+            <xsl:with-param name="uri" select="parentdocument/@href"/>
+          </xsl:call-template>
         </xsl:if>
         <img src="{$path}/images/left.gif" alt="&lt;-" title="&lt;-" />
       </a>
 </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}/">
+        <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="./">
+        <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>
       <p class="apache">
         <xsl:value-of select="$messages/message[@name='maintainedby']"/>
         <xsl:text> </xsl:text>
-        <a href="http://httpd.apache.org/docs-project/"
-          >Apache HTTP Server Documentation Project</a>
+        <a href="http://httpd.apache.org/docs-project/">
+          <xsl:if test="$ext-target = '1'"><xsl:attribute name="target">_blank</xsl:attribute></xsl:if>
+          <xsl:text>Apache HTTP Server Documentation Project</xsl:text>
+        </a>
       </p>
 
 <xsl:text>
   <!--                                                            -->
   <xsl:template name="super-menu">
     <p class="menu">
-      <a href="{$path}/mod/">
+      <a href="{$path}/mod/{$index-file}">
         <xsl:value-of select="$messages/message[@name='modules']"/>
       </a>
       <xsl:text> | </xsl:text>
         <xsl:value-of select="$messages/message[@name='directives']"/>
       </a>
       <xsl:text> | </xsl:text>
-      <a href="{$path}/faq/">
+      <a href="{$path}/faq/{$index-file}">
         <xsl:value-of select="$messages/message[@name='faq']"/>
       </a>
       <xsl:text> | </xsl:text>
            </xsl:variable>
 
            <!-- apply bare text only, if it's not only \s or empty -->
-           <xsl:if test="normalize-space($content) != ''">
+           <xsl:if test="not(normalize-space($content) = '')">
              <p><code>
                <xsl:copy-of select="$content"/>
              </code></p>
   <!-- /default -->
 
 
+  <!--                                                    -->
+  <!-- <a>                                                -->
+  <!-- Passes through content                             -->
+  <!--                                                    -->
+  <xsl:template match="a">
+    <xsl:if test="not(@href)">
+      <xsl:copy>
+        <xsl:apply-templates select="@*|*|text()"/>
+      </xsl:copy>
+    </xsl:if>
+    
+    <xsl:if test="@href">
+      <a href="@href">
+        <xsl:apply-templates select="@*"/>
+        <xsl:call-template name="helper.uri.fix">
+          <xsl:with-param name="uri" select="@href"/>
+        </xsl:call-template>
+
+        <xsl:apply-templates select="*|text()"/>
+      </a>
+    </xsl:if>
+  </xsl:template> 
+  <!-- /a -->
+
+
   <!--                                                    -->
   <!-- toplink                                            -->
   <!--                                                    -->
 
     <xsl:variable name="current" select="substring($letters,1,1)"/>
 
-    <xsl:if test="$lastletter != $current">
+    <xsl:if test="not($lastletter = $current)">
       <xsl:value-of select="$current"/>
     </xsl:if>
 
     </xsl:if>
   </xsl:template>
 
-
-  <xsl:template name="module-translatename">
-  <xsl:param name="name"/>
-
-    <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: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:template>
-  <!-- /module-translatename -->
-
 </xsl:stylesheet>
index ebcc68ab3038ab64bf0adcc805a9c2a03249f7f5..7c5ff12af177eae7f6c0413b1254c4a38a5edee0 100644 (file)
@@ -37,8 +37,9 @@
 <xsl:text>
 </xsl:text> <!-- insert line break -->
 
-          <xsl:if test="count(section) > 1 or (/faq/@all-in-one = 'yes') or seealso">
+          <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"/>
@@ -48,6 +49,8 @@
               <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>
@@ -59,6 +62,7 @@
                   <xsl:apply-templates select="categories/categoryfile" mode="toc"/>
                 </ul>
               </xsl:if>
+              </xsl:if> <!-- chm -->
 
               <xsl:if test="seealso">
                 <h3>
     <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>
index 2c3b9c7ead86f77e5e728d83ad05e0de35c3d8a2..2c26a7ff5d2010f26a1f4c45c45d4fe482a2b237 100644 (file)
 <xsl:text>
 </xsl:text> <!-- insert line break -->
 
-          <form action="http://www.google.com/search" method="get"><p>
+          <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:if 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="."/>
         </a>
       </xsl:if>
index 3ebdef57ae601c12b244d761534fd96dd45c25a7..e756f3aded6a901f630efb1081bc69f956169f4a 100644 (file)
@@ -37,9 +37,9 @@
 <xsl:text>
 </xsl:text> <!-- insert line break -->
 
-          <xsl:if test="count(section) > 1 or seealso">
+          <xsl:if test="(not($is-chm) and count(section) > 1) or seealso">
             <div id="quickview">
-              <xsl:if test="count(section) > 1">
+              <xsl:if test="not($is-chm) and count(section) > 1">
                 <ul id="toc">
                   <xsl:apply-templates select="section" mode="index"/>
                 </ul>
index c83005894b3d7762772e1239a3f95dd7dc629c1e..91ea2c643d41ccfc8d196751175d423914d13aa3 100644 (file)
@@ -35,7 +35,9 @@
 <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>
@@ -57,6 +59,7 @@
               </a>
             </li>
           </ul>
+          </xsl:if> <!-- chm -->
 
           <xsl:if test="seealso">
             <h3>
@@ -83,6 +86,7 @@
             </ul>
           </xsl:if>
         </div> <!-- /quickview -->
+        </xsl:if> <!-- chm foo -->
 
 <xsl:text>
 </xsl:text> <!-- insert line break -->
index a2a842f681a6afd14c6a688b7fb40a0a508cb918..ac8f680dbcebd16869a9babd073a8405a504c04c 100644 (file)
@@ -46,9 +46,9 @@
 <xsl:text>
 </xsl:text> <!-- insert line break -->
 
-          <xsl:if test="count(category) > 1 or seealso">
+          <xsl:if test="(not($is-chm) and count(category) > 1) or seealso">
             <div id="quickview">
-              <xsl:if test="count(category) > 1">
+              <xsl:if test="not($is-chm) and count(category) > 1">
 
                 <!-- category index -->
                 <ul id="toc">
 
       <xsl:if 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="."/>
         </a>
       </xsl:if>
index a7ce17347a7a81404243481bbff98a92b97cbe95..a760c1ed9cba2caead15c7ef657b0b6cbba1474a 100644 (file)
 <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:apply-templates select="section" mode="index"/>
               </ul>
             </xsl:if>
+            </xsl:if> <!-- /!is-chm -->
 
             <xsl:if test="seealso">
-             <h3>
+                 <h3>
                   <xsl:value-of select="$messages/message[@name='seealso']"/>
               </h3>
 
             </xsl:if>
 
           </div> <!-- /quickview -->
+          </xsl:if> <!-- !is-chm -->
 
 <xsl:text>
 </xsl:text> <!-- insert line break -->
diff --git a/docs/manual/style/xsl/util/lf.xml b/docs/manual/style/xsl/util/lf.xml
new file mode 100644 (file)
index 0000000..0e056aa
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<xsl:text>&#xA;</xsl:text>
\ No newline at end of file
diff --git a/docs/manual/style/xsl/util/modtrans.xsl b/docs/manual/style/xsl/util/modtrans.xsl
new file mode 100644 (file)
index 0000000..944993c
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#160;"> ]>
+<xsl:stylesheet version="1.0"
+              xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:template name="module-translatename">
+<xsl:param name="name"/>
+
+  <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: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:template>
+<!-- /module-translatename -->
+
+</xsl:stylesheet>
diff --git a/docs/manual/style/xsl/util/tab.xml b/docs/manual/style/xsl/util/tab.xml
new file mode 100644 (file)
index 0000000..8b08ac2
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<xsl:text>&#x9;</xsl:text>