У меня есть атрибут с именем ID, который увеличивается на 1 каждый раз, когда ему присваивается значение. У меня есть ситуация, когда значение будет увеличиваться при каждом входе в цикл. Внешний цикл имеет 2 записи, а внутренний цикл - 3 записи.
Внешний цикл 1 - Внутренний цикл 1, 2 и 3, атрибут ID увеличивается на 1, 2 и 3, но
Внешний цикл 2 - Внутренний цикл .... снова атрибут ID начинается с 1. Мне нужно, чтобы это было 4, 5 и т. Д.
Этот идентификатор приращения не имеет данных, относящихся к входному XML-файлу. Вся обработка должна быть выполнена в XSLT.
XSLT-файл:
<xsl:variable name="localISYMPid" select="0"/>
<xsl:element name="Test1">
<xsl:for-each select="Solutions/Solution">
<xsl:if test="Observations/Observation!= '' ">
<xsl:for-each select="Observations/Observation">
<xsl:element name="Roles">
<!-- Generating the ID value -->
<xsl:variable name="ids" select="generate-id(.)"/>
<!-- ***************************-->
<xsl:attribute name="CK"><xsl:value-of select="substring-after($ids,'Solution')"/></xsl:attribute>
<xsl:attribute name="ID"><xsl:value-of select="position() + $localISYMPid "/></xsl:attribute>
</xsl:element>
</xsl:for-each>
</xsl:if>
</xsl:for-each>
</xsl:element>
Пожалуйста, помогите мне распечатать значение идентификатора 4, например, когда внутренний цикл зациклен 3 раза для внешнего цикла 1 и для внешнего цикла 2, а когда внутренний цикл равен 1, значение идентификатора должно быть 4. Как сейчас, его печать 1 снова ..
ID 1
ID 2
ID 3
----------
ID 1(it should print 4)
Я использую XSLT 1.0
Спасибо,
Ramm