У меня есть этот фрагмент кода Ниже XSLT:Как правильно установить идентификаторы с помощью XSLT?
<table border="1" id ="test">
<xsl:for-each select= "TestSuite/TestCase">
<tr>
<xsl:attribute name="id">
<xsl:value-of select="count(preceding-sibling::*)"/>
</xsl:attribute>
<b><xsl:value-of select="@name"/></b>
</tr>
<xsl:for-each select="Verification|Command">
<tr>
<xsl:attribute name="id">
<xsl:value-of select="count(preceding-sibling::*)"/>
</xsl:attribute>
<xsl:choose>
<xsl:when test="contains(name() , 'Verification')">
<td>Verification <xsl:value-of select="@type"/></td>
<td><xsl:value-of select="@status"/></td>
</xsl:when>
<xsl:when test="contains(name() , 'Command')">
<td>Command <xsl:value-of select="@type"/></td>
<td><xsl:value-of select="@status"/></td>
</xsl:when>
</xsl:choose>
</tr>
</xsl:for-each>
</xsl:for-each>
</table>
Теперь я просто хотел бы дать каждой строки таблицы идентификатор, начиная с 0, 1, затем 2 и т.д. Проблема заключается в том, что каждый внутренний цикл начинается отсчет ID от 0 еще раз. Как я могу это решить? На моей странице HTML отображается только одна таблица, поэтому все tr должны быть братьями и сестрами.
Является ли использование последовательных целых чисел требованием? В противном случае вы можете просто конкатенировать идентификатор внешнего цикла с внутренним («0-0», «0-1», «0-2», «1-0», «1-1» и т. Д.), – MiMo
Да, потому что мне нужно прокручивать элементы, используя идентификатор. Поскольку я не знаю, как выглядит XML раньше, было бы неплохо, если бы они были последовательными. –