]> granicus.if.org Git - apache/commitdiff
- add the general ability to create zebra tables
authorAndre Malo <nd@apache.org>
Sat, 28 Sep 2002 23:49:14 +0000 (23:49 +0000)
committerAndre Malo <nd@apache.org>
Sat, 28 Sep 2002 23:49:14 +0000 (23:49 +0000)
  automagically (<table style="zebra">)
- allow some attributes in th (e.g. colspan)
- add ability for <h4> sections
- refuse to transform deeper nesting than h4

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

docs/manual/style/common.dtd
docs/manual/style/css/manual-loose-100pc.css
docs/manual/style/css/manual-print.css
docs/manual/style/css/manual.css
docs/manual/style/xsl/common.xsl

index 31bf21af6cc50e6fe5b6ab18df0e69d2eb271ea8..9a2d4002eac08ec3da95ff93875576d32d97e68b 100644 (file)
                 bgcolor     CDATA  #IMPLIED
                 cellspacing CDATA  #IMPLIED
                 cellpadding CDATA  #IMPLIED
-                border      CDATA  #IMPLIED >
+                border      CDATA  #IMPLIED
+                style       CDATA  #IMPLIED>
 
 <!ELEMENT tr (th | td)+>
 <!ATTLIST tr valign CDATA #IMPLIED >
 
 <!ELEMENT th %BlockOrInline;>
+<!ATTLIST th  colspan  CDATA  #IMPLIED
+              rowspan  CDATA  #IMPLIED
+              class    CDATA  #IMPLIED >
 
 <!ELEMENT td %BlockOrInline;>
 <!ATTLIST td  colspan  CDATA  #IMPLIED
               rowspan  CDATA  #IMPLIED
-              bgcolor  CDATA  #IMPLIED
               class    CDATA  #IMPLIED >
 
 <!ELEMENT ul (li+)>
index c84430753f317d3cededf5301f83faf586592065..3c402075d320a515d9f974660c13b6bd65f878bf 100644 (file)
@@ -42,6 +42,10 @@ h3 {
     font-size: 1.1em;
 }
 
+h4 {
+    font-size: 1em;
+}
+
 div.example h3,
 div.note h3,
 div.warning h3 {
index ac337aedcf606164eda47bd13f0e1757520e2a86..bc6728b56c7ac1ebf5510f6c50856ddd489206fb 100644 (file)
@@ -26,6 +26,10 @@ strong {
     font-weight: bold;
 }
 
+q, em, var {
+    font-style: italic;
+}
+
 /* fixup IE & Opera
  * otherwise they forget to inherit
  * the computed font-size value
@@ -134,7 +138,7 @@ h2 a:active {
     text-decoration: none;
 }
 
-/* h3                     */
+/* h3, h4                 */
 /* ====================== */
 h3 {
     background-color: inherit;
@@ -146,8 +150,18 @@ h3 {
     padding: 0 0 0 0.2em;
 }
 
+h4 {
+    background-color: inherit;
+    color: #000;
+    text-decoration: none;
+    font-weight: bold;
+    font-size: 11pt;
+    margin: 1.3em 0 0.2em 0;
+    padding: 0 0 0 0.2em;
+}
+
 /* margin adjustment */
-h3 + * {
+h3 + *, h4 + * {
     margin-top: 0;
 }
 
@@ -182,7 +196,10 @@ div#quickview h3.directives {
 /* take care of <a name>s inside */
 h3 a,
 h3 a:hover,
-h3 a:active {
+h3 a:active,
+h4 a,
+h4 a:hover,
+h4 a:active {
     color: inherit;
     background-color: inherit;
     text-decoration: none;
@@ -224,6 +241,11 @@ th {
     font-weight: bold;
 }
 
+tr.header, tr.header th {
+    border-top: 1px solid #000;
+    border-bottom: 1px solid #000;
+}
+
 /* bordered table cells   */
 /* ====================== */
 
index 64b46b45ab445439be9c5493666f8c2209de6cbf..4ff6f781d327ee4ae12edfc657a74d955de8e291 100644 (file)
@@ -26,6 +26,10 @@ strong {
     font-weight: bold;
 }
 
+q, em, var {
+    font-style: italic;
+}
+
 /* fixup IE & Opera
  * otherwise they forget to inherit
  * the computed font-size value
@@ -59,6 +63,8 @@ a:active {
 /* hover on non-white backgrounds */
 tr.odd a:hover,
 tr.odd a:active,
+tr.header a:hover,
+tr.header a:active,
 div.note a:hover,
 div.note a:active,
 div.example a:hover,
@@ -93,6 +99,8 @@ code.module a:active {
 /* hover on non-white backgrounds */
 tr.odd code.module a:hover,
 tr.odd code.module a:active,
+tr.header code.module a:hover,
+tr.header code.module a:active,
 div.note code.module a:hover,
 div.note code.module a:active,
 div.example code.module a:hover,
@@ -127,6 +135,8 @@ code.directive a:active {
 /* hover on non-white backgrounds */
 tr.odd code.directive a:hover,
 tr.odd code.directive a:active,
+tr.header code.directive a:hover,
+tr.header code.directive a:active,
 div.note code.directive a:hover,
 div.note code.directive a:active,
 div.example code.directive a:hover,
@@ -185,7 +195,7 @@ h2 a:active {
     text-decoration: none;
 }
 
-/* h3                     */
+/* h3, h4                 */
 /* ====================== */
 h3 {
     background-color: inherit;
@@ -197,8 +207,18 @@ h3 {
     padding: 0;
 }
 
+h4 {
+    background-color: inherit;
+    color: #036;
+    text-decoration: none;
+    font-weight: bold;
+    font-size: 14px;
+    margin: 1.3em 0 0.2em 0;
+    padding: 0;
+}
+
 /* margin adjustment */
-h3 + * {
+h3 + *, h4 + * {
     margin-top: 0;
 }
 
@@ -233,7 +253,10 @@ div#quickview h3.directives {
 /* take care of <a name>s inside */
 h3 a,
 h3 a:hover,
-h3 a:active {
+h3 a:active,
+h4 a,
+h4 a:hover,
+h4 a:active {
     color: inherit;
     background-color: inherit;
     text-decoration: none;
@@ -307,6 +330,12 @@ tr.odd { /* for large tables alternating colors */
     background-color: #f2f2f2;
 }
 
+tr.header, tr.header th {
+    background-color: #e2e2e2;
+    border-top: 1px solid #aaa;
+    border-bottom: 1px solid #aaa;
+}
+
 /* bordered table cells   */
 /* ====================== */
 
index 01df2333fcc5ff0ca9912cd21817816de9e49668..26cf1aa11cdc58546b257b9daebc68a043b56ead 100644 (file)
   <!-- /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"/>
+        </a>
+      </xsl:if>
+
+      <xsl:if test="not(@id)">
+        <xsl:apply-templates select="title" mode="print"/>
+      </xsl:if>
+    </h4>
+    
+    <!-- Section body -->
+    <xsl:apply-templates/>
+
+  </xsl:template>
+  <!-- /section/section/section -->
+
+
+  <!--                                                            -->
+  <!-- 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                                        -->
   <!--                                                            -->
 
 
   <!--                                                    -->
-  <!-- <table border>                                     -->
+  <!-- <table>                                            -->
   <!--                                                    -->
   <xsl:template match="table">
+    <xsl:variable name="content"><xsl:choose>
+      <xsl:when test="@style = 'zebra'">
+        <xsl:for-each select="tr">
+
+          <!-- catch content -->
+          <xsl:variable name="current">
+            <xsl:apply-templates />
+          </xsl:variable>
+          
+          <!-- header line -->
+          <xsl:if test="count(td) = 0">
+            <tr class="header"><xsl:copy-of select="$current" /></tr>
+          </xsl:if>
+          
+          <!-- data line -->
+          <xsl:if test="count(td) &gt; 0">
+            <xsl:variable name="offset" select="count(preceding-sibling::*[count(td) = 0]) mod 2" />
+
+            <xsl:if test="position() mod 2 = $offset">
+              <tr class="odd"><xsl:copy-of select="$current" /></tr>
+            </xsl:if>
+
+            <xsl:if test="position() mod 2 != $offset">
+              <tr><xsl:copy-of select="$current" /></tr>
+            </xsl:if>
+          </xsl:if>
+
+<xsl:text>
+</xsl:text> <!-- insert line break -->
+
+        </xsl:for-each>
+      </xsl:when>
+
+      <xsl:otherwise>
+        <xsl:apply-templates />
+      </xsl:otherwise></xsl:choose>
+    </xsl:variable>
+    
     <xsl:if test="@border">
       <table class="bordered">
-        <xsl:apply-templates/>
+        <xsl:copy-of select="$content" />
       </table>
     </xsl:if>
 
     <xsl:if test="not(@border)">
       <table>
-        <xsl:apply-templates/>
+        <xsl:copy-of select="$content" />
       </table>
     </xsl:if>
   </xsl:template>