需要从子节点找到父节点位置

时间:2011-02-01 12:23:03

标签: xslt

<w:tbl>
  <w:tr> </w:tr>
  <w:tr> </w:tr>
  <w:tr>
     <w:tc>
        <p>i am here</p>
     <w:tc>
  </w:tr>
</w:tbl>

我正在使用xslt 1.0。

这是table(w:tbl-->table,w:tr-->row,w:tc-->td)的xml示例代码。现在我在w:tc模板匹配。我想知道父节点的位置即。 w:tr(即3)。我如何从tc模板本身获取它?

注意我已将<xsl:apply-templates>放入w:tc模板匹配。

3 个答案:

答案 0 :(得分:6)

<xsl:value-of select="count(../preceding-sibling::*)+1"/>

如果您想仅考虑相对于像这样的元素的父位置:

<xsl:value-of select="count(../preceding-sibling::w:tr)+1"/>

答案 1 :(得分:1)

我需要从模板中获取单元格位置编号。以下行可能对某人有所帮助 计数(祖先::瓦特:TC / ::瓦特同胞前述:TC)

答案 2 :(得分:0)

怎么样:

<xsl:value-of select="count(parent::*/preceding-sibling::w:tr)"/>

它根据w:tr元素计算父节点的前一个兄弟节点,它应该与该表中的父节点位置相同。