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+)>
font-size: 1.1em;
}
+h4 {
+ font-size: 1em;
+}
+
div.example h3,
div.note h3,
div.warning h3 {
font-weight: bold;
}
+q, em, var {
+ font-style: italic;
+}
+
/* fixup IE & Opera
* otherwise they forget to inherit
* the computed font-size value
text-decoration: none;
}
-/* h3 */
+/* h3, h4 */
/* ====================== */
h3 {
background-color: inherit;
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;
}
/* 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;
font-weight: bold;
}
+tr.header, tr.header th {
+ border-top: 1px solid #000;
+ border-bottom: 1px solid #000;
+}
+
/* bordered table cells */
/* ====================== */
font-weight: bold;
}
+q, em, var {
+ font-style: italic;
+}
+
/* fixup IE & Opera
* otherwise they forget to inherit
* the computed font-size value
/* 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,
/* 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,
/* 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,
text-decoration: none;
}
-/* h3 */
+/* h3, h4 */
/* ====================== */
h3 {
background-color: inherit;
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;
}
/* 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;
background-color: #f2f2f2;
}
+tr.header, tr.header th {
+ background-color: #e2e2e2;
+ border-top: 1px solid #aaa;
+ border-bottom: 1px solid #aaa;
+}
+
/* bordered table cells */
/* ====================== */
<!-- /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) > 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>