Normally these rows are hidden, but if styles are not applied, then
they will help visually separate the default-ordered table from the
jumble of rows representing all other orderings.
</xsl:if>
<xsl:text>display: none</xsl:text>
</xsl:attribute>
- <xsl:apply-templates select='node()|@*[local-name() != "style"]' />
+ <xsl:apply-templates select='@*[local-name() != "style"]' />
+ <tr>
+ <td>
+ <xsl:for-each select='../*/xhtml:tr'>
+ <xsl:sort select='count(*)' data-type='number' order='descending' />
+ <xsl:if test='position()=1'>
+ <xsl:attribute name='colspan'>
+ <xsl:value-of select='count(*)' />
+ </xsl:attribute>
+ </xsl:if>
+ </xsl:for-each>
+ <hr/>
+ </td>
+ </tr>
+ <tr>
+ <xsl:for-each select='../xhtml:thead[1]/xhtml:tr[1]/*'>
+ <xsl:copy>
+ <xsl:value-of select='.' />
+ </xsl:copy>
+ </xsl:for-each>
+ </tr>
+ <xsl:apply-templates select='node()' />
</xsl:copy>
</xsl:template>