Я пытаюсь создать цикл, который увеличивает переменную, а затем использовать эту переменную внутри некоторого кода xsl. Вот код, я использую, чтобы увеличить счетчик:Как использовать переменную xdoxslt внутри xsl-кода в BI Publisher?
<?xdoxslt:set_variable($_XDOCTX, ‘counter’, 0)?>
<?for-each-group:$g2;./STATUS?>
<?sort:current-group()/STATUS;'ascending';data-type='text'?>
<?xdoxslt:set_variable($_XDOCTX, ‘counter’, xdoxslt:get_variable($_XDOCTX, ‘counter’)
+ count(xdoxslt:distinct_values(current-group()/ACTION)))?>
<?end for-each-group?>
Следующий код выведет номер, который мне нужно:
<xsl:value-of select="xdoxslt:get_variable($_XDOCTX, ‘counter’)"/>
Так что я знаю, что цикл работает и переменная имеет правильный номер. Тем не менее, мне нужно использовать переменную в следующем коде:
<xsl:attribute name="number-rows-spanned" xdofo:ctx="block">
<xsl:value-of select="xdoxslt:get_variable($_XDOCTX, ‘counter’)"/>
</xsl:attribute>
Когда я использую его этот код я получаю следующее сообщение об ошибке:
java.lang.NumberFormatException: For input string: ""
Я также попытался:
<xsl:variable name="rowcount" select="xdoxslt:get_variable($_XDOCTX, ‘counter’)"/>
<xsl:attribute name="number-rows-spanned" xdofo:ctx="block">
<xsl:value-of select="$rowcount"/>
</xsl:attribute>
Это приводит к той же ошибке. Есть ли какое-либо обходное решение, которое позволит мне использовать переменную таким образом или мне нужно найти альтернативное решение?
Это отчет я пытаюсь создать:
Group by Column1
Group by Column2
Column3 | Column4 | column5 | Column6
Group Left | Group Left | Group Left | Number
End Group by Column2
Totals
Column3 | Column4 | column5 | Column6
Group Left | Group Left | Group Left | sum()
End Group by column1
Проблема заключается в том, что в таблице «Totals», значение Column6, разбивается, когда есть больше чем 1 Столбец2 в группировке.