| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | <?xml version="1.0"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"                version="1.0"><!-- ********************************************************************     $Id: htmltbl.xsl 9501 2012-07-16 00:14:50Z bobstayton $     ********************************************************************     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:template match="table" mode="htmlTable">  <xsl:element name="table" namespace="">    <xsl:apply-templates select="@*" mode="htmlTableAtt"/>    <xsl:call-template name="htmlTable"/>  </xsl:element></xsl:template><xsl:template match="colgroup" mode="htmlTable">  <xsl:element name="{local-name()}" namespace="">    <xsl:apply-templates select="@*" mode="htmlTableAtt"/>    <xsl:apply-templates mode="htmlTable"/>  </xsl:element></xsl:template><xsl:template match="col" mode="htmlTable">  <xsl:element name="{local-name()}" namespace="">    <xsl:apply-templates select="@*" mode="htmlTableAtt"/>  </xsl:element></xsl:template><!-- Handled by formal.object.title template --><xsl:template match="caption" mode="htmlTable"/><xsl:template match="tbody|thead|tfoot|tr" mode="htmlTable">  <xsl:element name="{local-name(.)}">    <xsl:apply-templates select="@*" mode="htmlTableAtt"/>    <xsl:apply-templates mode="htmlTable"/>  </xsl:element></xsl:template><xsl:template match="th|td" mode="htmlTable">  <xsl:element name="{local-name(.)}">    <xsl:apply-templates select="@*" mode="htmlTableAtt"/>    <xsl:apply-templates/> <!-- *not* mode=htmlTable -->  </xsl:element></xsl:template><!-- don't copy through DocBook-specific attributes on HTML table markup --><!-- default behavior is to not copy through because there are more     DocBook attributes than HTML attributes --><xsl:template mode="htmlTableAtt" match="@*"/><!-- copy these through --><xsl:template mode="htmlTableAtt"              match="@abbr                   | @align                   | @axis                   | @bgcolor                   | @border                   | @cellpadding                   | @cellspacing                   | @char                   | @charoff                   | @class                   | @dir                   | @frame                   | @headers                   | @height                   | @lang                   | @nowrap                   | @onclick                   | @ondblclick                   | @onkeydown                   | @onkeypress                   | @onkeyup                   | @onmousedown                   | @onmousemove                   | @onmouseout                   | @onmouseover                   | @onmouseup                   | @rules                   | @style                   | @summary                   | @title                   | @valign                   | @valign                   | @width                   | @xml:lang">  <xsl:copy-of select="."/></xsl:template><xsl:template match="@span|@rowspan|@colspan" mode="htmlTableAtt">  <!-- No need to copy through the DTD's default value "1" of the attribute -->  <xsl:if test="number(.) != 1">    <xsl:attribute name="{local-name(.)}">      <xsl:value-of select="."/>    </xsl:attribute>  </xsl:if></xsl:template><!-- map floatstyle to HTML float values --><xsl:template match="@floatstyle" mode="htmlTableAtt">  <xsl:attribute name="style">    <xsl:text>float: </xsl:text>    <xsl:choose>      <xsl:when test="contains(., 'left')">left</xsl:when>      <xsl:when test="contains(., 'right')">right</xsl:when>      <xsl:when test="contains(., 'start')">        <xsl:value-of select="$direction.align.start"/>      </xsl:when>      <xsl:when test="contains(., 'end')">        <xsl:value-of select="$direction.align.end"/>      </xsl:when>      <xsl:when test="contains(., 'inside')">        <xsl:value-of select="$direction.align.start"/>      </xsl:when>      <xsl:when test="contains(., 'outside')">        <xsl:value-of select="$direction.align.end"/>      </xsl:when>      <xsl:when test="contains(., 'before')">none</xsl:when>      <xsl:when test="contains(., 'none')">none</xsl:when>    </xsl:choose>    <xsl:text>;</xsl:text>  </xsl:attribute></xsl:template></xsl:stylesheet>
 |