diff options
| author | William Harrington <kb0iic@berzerkula.org> | 2014-11-27 16:29:31 -0600 | 
|---|---|---|
| committer | William Harrington <kb0iic@berzerkula.org> | 2014-11-27 16:29:31 -0600 | 
| commit | 7df987a652b93d55dd8eca363706d3bacc469b55 (patch) | |
| tree | 17f84ce0fee76a3a0476b714eae09486ab2470e6 /stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/.svn/text-base/htmltbl.xsl.svn-base | |
Diffstat (limited to 'stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/.svn/text-base/htmltbl.xsl.svn-base')
| -rw-r--r-- | stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/.svn/text-base/htmltbl.xsl.svn-base | 217 | 
1 files changed, 217 insertions, 0 deletions
diff --git a/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/.svn/text-base/htmltbl.xsl.svn-base b/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/.svn/text-base/htmltbl.xsl.svn-base new file mode 100644 index 0000000..1954d95 --- /dev/null +++ b/stylesheets/lfs-xsl/docbook-xsl-snapshot/fo/.svn/text-base/htmltbl.xsl.svn-base @@ -0,0 +1,217 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +                xmlns:fo="http://www.w3.org/1999/XSL/Format" +                version="1.0"> + +<!-- ******************************************************************** +     $Id$ +     ******************************************************************** + +     This file is part of the XSL DocBook Stylesheet distribution. +     See ../README or http://docbook.sf.net/release/xsl/current/ for +     copyright and other information. + +     ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:attribute-set name="th.style"> +  <xsl:attribute name="font-weight">bold</xsl:attribute> +</xsl:attribute-set> + +<!-- Outputs an fo:table only, not the caption --> +<xsl:template match="table|informaltable" mode="htmlTable"> + +  <xsl:variable name="numcols"> +    <xsl:call-template name="widest-html-row"> +      <xsl:with-param name="rows" select=".//tr"/> +    </xsl:call-template> +  </xsl:variable> + +  <xsl:variable name="prop-columns" +                select=".//col[contains(@width, '%')] | +                        .//colgroup[contains(@width, '%')]"/> + +  <xsl:variable name="table.width"> +    <xsl:call-template name="table.width"/> +  </xsl:variable> + +  <fo:table xsl:use-attribute-sets="table.table.properties"> +    <xsl:choose> +      <xsl:when test="$fop.extensions != 0 or +                      $passivetex.extensions != 0"> +        <xsl:attribute name="table-layout">fixed</xsl:attribute> +      </xsl:when> +    </xsl:choose> +    <xsl:attribute name="width"> +      <xsl:choose> +        <xsl:when test="@width"> +          <xsl:value-of select="@width"/> +        </xsl:when> +        <xsl:when test="$table.width"> +          <xsl:value-of select="$table.width"/> +        </xsl:when> +        <xsl:otherwise>100%</xsl:otherwise> +      </xsl:choose> +    </xsl:attribute> +    <xsl:call-template name="make-html-table-columns"> +      <xsl:with-param name="count" select="$numcols"/> +    </xsl:call-template> +    <xsl:apply-templates select="thead" mode="htmlTable"/> +    <xsl:apply-templates select="tfoot" mode="htmlTable"/> +    <xsl:choose> +      <xsl:when test="tbody"> +        <xsl:apply-templates select="tbody" mode="htmlTable"/> +      </xsl:when> +      <xsl:otherwise> +        <fo:table-body start-indent="0pt" end-indent="0pt"> +          <xsl:apply-templates select="tr" mode="htmlTable"/> +        </fo:table-body> +      </xsl:otherwise> +    </xsl:choose> +  </fo:table> + +</xsl:template> + +<xsl:template match="caption" mode="htmlTable"> +  <!-- Handled by formal.object.heading --> +</xsl:template> + +<xsl:template name="widest-html-row"> +  <xsl:param name="rows" select="''"/> +  <xsl:param name="count" select="0"/> +  <xsl:choose> +    <xsl:when test="count($rows) = 0"> +      <xsl:value-of select="$count"/> +    </xsl:when> +    <xsl:otherwise> +      <xsl:choose> +        <xsl:when test="$count > count($rows[1]/*)"> +          <xsl:call-template name="widest-html-row"> +            <xsl:with-param name="rows" select="$rows[position() > 1]"/> +            <xsl:with-param name="count" select="$count"/> +          </xsl:call-template> +        </xsl:when> +        <xsl:otherwise> +          <xsl:call-template name="widest-html-row"> +            <xsl:with-param name="rows" select="$rows[position() > 1]"/> +            <xsl:with-param name="count" select="count($rows[1]/*)"/> +          </xsl:call-template> +        </xsl:otherwise> +      </xsl:choose> +    </xsl:otherwise> +  </xsl:choose> +</xsl:template> + +<xsl:template name="make-html-table-columns"> +  <xsl:param name="count" select="0"/> +  <xsl:param name="number" select="1"/> + +  <xsl:choose> +    <xsl:when test="col|colgroup/col"> +      <xsl:for-each select="col|colgroup/col"> +        <fo:table-column> +          <xsl:attribute name="column-number"> +            <xsl:number from="table|informaltable" level="any" format="1"/> +          </xsl:attribute> +          <xsl:if test="@width"> +            <xsl:attribute name="column-width"> +              <xsl:choose> +                <xsl:when test="$fop.extensions != 0 and  +                                contains(@width, '%')"> +                  <xsl:value-of select="concat('proportional-column-width(', +                                               substring-before(@width, '%'), +                                               ')')"/> +                </xsl:when> +                <xsl:otherwise> +                  <xsl:value-of select="@width"/> +                </xsl:otherwise> +              </xsl:choose> +            </xsl:attribute> +          </xsl:if> +        </fo:table-column> +      </xsl:for-each> +    </xsl:when> +    <xsl:when test="$fop.extensions != 0"> +      <xsl:if test="$number <= $count"> +        <fo:table-column column-number="{$number}" +                         column-width="{6.5 div $count}in"/> +        <xsl:call-template name="make-html-table-columns"> +          <xsl:with-param name="count" select="$count"/> +          <xsl:with-param name="number" select="$number + 1"/> +        </xsl:call-template> +      </xsl:if> +    </xsl:when> +  </xsl:choose> +</xsl:template> + +<xsl:template match="tbody" mode="htmlTable"> +  <fo:table-body border-bottom-width="0.25pt" +                 border-bottom-style="solid" +                 border-bottom-color="black" +                 start-indent="0pt" +                 end-indent="0pt"> +    <xsl:apply-templates mode="htmlTable"/> +  </fo:table-body> +</xsl:template> + +<xsl:template match="td" mode="htmlTable"> +  <xsl:variable name="bgcolor"> +    <xsl:call-template name="pi.dbfo_bgcolor"/> +  </xsl:variable> +  <fo:table-cell xsl:use-attribute-sets="table.cell.padding"> +    <xsl:call-template name="table.cell.properties"> +      <xsl:with-param name="bgcolor.pi" select="$bgcolor"/> +      <xsl:with-param name="rowsep.inherit" select="0"/> +      <xsl:with-param name="colsep.inherit" select="0"/> +    </xsl:call-template> +    <fo:block> +      <xsl:call-template name="table.cell.block.properties"/> +      <xsl:apply-templates/> +    </fo:block> +  </fo:table-cell> +</xsl:template> + +<xsl:template match="tfoot" mode="htmlTable"> +  <fo:table-footer start-indent="0pt" +                   end-indent="0pt"> +    <xsl:apply-templates mode="htmlTable"/> +  </fo:table-footer> +</xsl:template> + +<xsl:template match="th" mode="htmlTable"> +  <xsl:variable name="bgcolor"> +    <xsl:call-template name="pi.dbfo_bgcolor"/> +  </xsl:variable> +  <fo:table-cell xsl:use-attribute-sets="th.style table.cell.padding"> +    <xsl:call-template name="table.cell.properties"> +      <xsl:with-param name="bgcolor.pi" select="$bgcolor"/> +      <xsl:with-param name="rowsep.inherit" select="0"/> +      <xsl:with-param name="colsep.inherit" select="0"/> +    </xsl:call-template> +    <fo:block> +      <xsl:call-template name="table.cell.block.properties"/> +      <xsl:apply-templates/> +    </fo:block> +  </fo:table-cell> +</xsl:template> + +<xsl:template match="thead" mode="htmlTable"> +  <fo:table-header border-bottom-width="0.25pt" +                   border-bottom-style="solid" +                   border-bottom-color="black" +                   start-indent="0pt" +                   end-indent="0pt" +                   font-weight="bold"> +    <xsl:apply-templates mode="htmlTable"/> +  </fo:table-header> +</xsl:template> + +<xsl:template match="tr" mode="htmlTable"> +  <fo:table-row> +    <xsl:call-template name="table.row.properties"/> +    <xsl:apply-templates mode="htmlTable"/> +  </fo:table-row> +</xsl:template> + +</xsl:stylesheet>  | 
