使用XSLT 1.0 <table> </table>计算xhtml中的元素

时间:2012-08-13 14:12:44

标签: xml xslt xhtml adobe-indesign

我有一个XSLT 2.0,它将xhtml表转换为InDesign XML表。此XSLT计算下面模板(<td>)中每行<tr>第7行中max(for $td in //tr return count($td/td))元素的最大数量

<xsl:template match="table">
    <xsl:element name="id_table">
        <xsl:attribute name="aid:trows">
            <xsl:value-of select="count(child::*/tr)"/>
        </xsl:attribute>
        <xsl:attribute name="aid:tcols">
            <xsl:value-of select="max(for $td in //tr return count($td/td))"/>
        </xsl:attribute>
        <xsl:apply-templates/>
    </xsl:element>
</xsl:template>

我不知道如何用XSLT 1.0实现这一点 - 任何想法都会非常感激!遗憾的是,工作流管道中只有一个1.0处理器。

1 个答案:

答案 0 :(得分:2)

<xsl:attribute name="aid:tcols">
  <xsl:for-each select="//tr">
    <xsl:sort select="count(td)" order="descending"/>
    <xsl:if test="position() = 1">
      <xsl:value-of select="count(td)"/>
    </xsl:if>
  </xsl:for-each>
</xsl:attribute>

应该这样做。