XSLTを使用してWordファイルをXMLに変換しています。テーブルの rowspan 属性を取得する方法。
これを実現するための XSLT コードです。
<xsl:template match="w:tc">
<xsl:choose>
<xsl:when test="w:tcPr/w:vMerge[@w:val='restart'] or w:tcPr[not(w:vMerge)]">
<td>
<xsl:if test="w:tcPr/w:gridSpan">
<xsl:attribute name="colspan" select="w:tcPr/w:gridSpan/@w:val"/>
</xsl:if>
<xsl:if test="w:tcPr/w:vMerge[@w:val='restart']">
<xsl:value-of select="count(parent::w:tr/following-sibling::w:tr[w:tc/w:tcPr/w:vMerge[not(@w:val)]])"/>
</xsl:if>
<xsl:apply-templates/>
</td>
</xsl:when>
</xsl:choose>
</xsl:template>
ただし、このコードはすべての行をカウントしています。カウントを次の @w:val='restart' に制限する必要があります。これは XSLT で可能ですか?