<!-- ==================================================================== -->
-<xsl:template match="tgroup">
+<xsl:template match="tgroup" name="tgroup">
<xsl:variable name="explicit.table.width">
<xsl:call-template name="dbfo-attribute">
<xsl:with-param name="pis"
<fo:table-row>
<xsl:call-template name="anchor"/>
- <xsl:apply-templates select="entry[1]">
+ <xsl:apply-templates select="(entry|entrytbl)[1]">
<xsl:with-param name="spans" select="$spans"/>
</xsl:apply-templates>
</fo:table-row>
<xsl:if test="following-sibling::row">
<xsl:variable name="nextspans">
- <xsl:apply-templates select="entry[1]" mode="span">
+ <xsl:apply-templates select="(entry|entrytbl)[1]" mode="span">
<xsl:with-param name="spans" select="$spans"/>
</xsl:apply-templates>
</xsl:variable>
</xsl:if>
</xsl:template>
-<xsl:template match="entry" name="entry">
+<xsl:template match="entry|entrytbl" name="entry">
<xsl:param name="col" select="1"/>
<xsl:param name="spans"/>
<xsl:when test="$empty.cell">
<xsl:text> </xsl:text>
</xsl:when>
+ <xsl:when test="self::entrytbl">
+ <xsl:variable name="prop-columns"
+ select=".//colspec[contains(@colwidth, '*')]"/>
+ <fo:table border-collapse="collapse">
+ <xsl:if test="count($prop-columns) != 0">
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
+ </xsl:if>
+ <xsl:call-template name="tgroup"/>
+ </fo:table>
+ </xsl:when>
<xsl:otherwise>
<xsl:apply-templates/>
</xsl:otherwise>
</fo:table-cell>
<xsl:choose>
- <xsl:when test="following-sibling::entry">
- <xsl:apply-templates select="following-sibling::entry[1]">
+ <xsl:when test="following-sibling::entry|following-sibling::entrytbl">
+ <xsl:apply-templates select="(following-sibling::entry
+ |following-sibling::entrytbl)[1]">
<xsl:with-param name="col" select="$col+$entry.colspan"/>
<xsl:with-param name="spans" select="$following.spans"/>
</xsl:apply-templates>
</xsl:choose>
</xsl:template>
-<xsl:template match="entry" name="sentry" mode="span">
+<xsl:template match="entry|entrytbl" name="sentry" mode="span">
<xsl:param name="col" select="1"/>
<xsl:param name="spans"/>
</xsl:call-template>
<xsl:choose>
- <xsl:when test="following-sibling::entry">
- <xsl:apply-templates select="following-sibling::entry[1]"
+ <xsl:when test="following-sibling::entry|following-sibling::entrytbl">
+ <xsl:apply-templates select="(following-sibling::entry
+ |following-sibling::entrytbl)[1]"
mode="span">
<xsl:with-param name="col" select="$col+$entry.colspan"/>
<xsl:with-param name="spans" select="$following.spans"/>
<!-- ==================================================================== -->
-<xsl:template match="tgroup">
+<xsl:template match="tgroup" name="tgroup">
<xsl:variable name="summary">
<xsl:call-template name="dbhtml-attribute">
<xsl:with-param name="pis"
</xsl:attribute>
</xsl:if>
- <xsl:apply-templates select="entry[1]">
+ <xsl:apply-templates select="(entry|entrytbl)[1]">
<xsl:with-param name="spans" select="$spans"/>
</xsl:apply-templates>
</tr>
<xsl:if test="following-sibling::row">
<xsl:variable name="nextspans">
- <xsl:apply-templates select="entry[1]" mode="span">
+ <xsl:apply-templates select="(entry|entrytbl)[1]" mode="span">
<xsl:with-param name="spans" select="$spans"/>
</xsl:apply-templates>
</xsl:variable>
</xsl:if>
</xsl:template>
-<xsl:template match="entry" name="entry">
+<xsl:template match="entry|entrytbl" name="entry">
<xsl:param name="col" select="1"/>
<xsl:param name="spans"/>
<xsl:when test="$empty.cell">
<xsl:text> </xsl:text>
</xsl:when>
+ <xsl:when test="self::entrytbl">
+ <xsl:call-template name="tgroup"/>
+ </xsl:when>
<xsl:otherwise>
<xsl:apply-templates/>
</xsl:otherwise>
</xsl:element>
<xsl:choose>
- <xsl:when test="following-sibling::entry">
- <xsl:apply-templates select="following-sibling::entry[1]">
+ <xsl:when test="following-sibling::entry|following-sibling::entrytbl">
+ <xsl:apply-templates select="(following-sibling::entry
+ |following-sibling::entrytbl)[1]">
<xsl:with-param name="col" select="$col+$entry.colspan"/>
<xsl:with-param name="spans" select="$following.spans"/>
</xsl:apply-templates>
</xsl:choose>
</xsl:template>
-<xsl:template match="entry" name="sentry" mode="span">
+<xsl:template match="entry|entrytbl" name="sentry" mode="span">
<xsl:param name="col" select="1"/>
<xsl:param name="spans"/>
</xsl:call-template>
<xsl:choose>
- <xsl:when test="following-sibling::entry">
- <xsl:apply-templates select="following-sibling::entry[1]"
+ <xsl:when test="following-sibling::entry|following-sibling::entrytbl">
+ <xsl:apply-templates select="(following-sibling::entry
+ |following-sibling::entrytbl)[1]"
mode="span">
<xsl:with-param name="col" select="$col+$entry.colspan"/>
<xsl:with-param name="spans" select="$following.spans"/>