我正在尝试从下面的示例表中获取所有节点,直到下一个使用XSLT1.0附加样式的td(我不能在这里使用2.0)
<tbody>
<tr>
<td style="..."></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td style="..."></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
从第一个/tbody/tr开始,我使用了以下内容:
<xsl:for-each select="following::td[not(attribute::style)]">
但后来我得到了所有的td,除了附带样式的那一个。
您希望以下所有td元素的最接近的td with style与my最接近的tr with style相同:
following::td[generate-id(following::td[@style][1]) = generate-id(current()/following::td[@style][1])]
这包括current()
是具有td[@style]
的最后一行的情况,在这种情况下,两个generate id值都将是空字符串。