agx
Программер :-)
Почему срабатывают одновременно несколько условий??
Есть просто преобразование, где в цикле обходятся ancestor-ы.
Мне нужно выводить атрибут узла, если он является последним в множестве.
Вроде бы, все просто, но этот код:
Выводит мне текст для ВСЕХ ТРЕХ условий!! Как могут выполнится одновремено три уловия?? Тем более, что два из них абсолютно взаимоисключающи!
-~{}~ 08.07.06 15:07:
Забыл написать, все это выполняется внутри <xsl:for-each select="ancestor:B">.
Более того, я выводил для каждого узла его position() и last() - значения для разных узлов разные, как и ожидалось, но срабатывают все равно ВСЕ уловия!!
-~{}~ 08.07.06 15:12:
БЛИН!!! Все понял, очень извиняюсь - закрывайте тему. У меня видать сегодня глаза не на том месте!! Вместо <xsl:choose> пишу <xsl-choose>! Хоть бы парсер ругался, что-ли...
-~{}~ 08.07.06 15:15:
На всякий случай, чтобы тема не совсем уж бесполезной была, нужно писать примерно так:
Есть просто преобразование, где в цикле обходятся ancestor-ы.
Мне нужно выводить атрибут узла, если он является последним в множестве.
Вроде бы, все просто, но этот код:
Код:
<xsl-choose>
<xsl-when test="position()=last()">
<xsl:value-of select="@prop_name"/>
</xsl-when>
<xsl-when test="not (position()=last())">
<xsl-text>(yes)</xsl-text>
</xsl-when>
<xsl-otherwise>
<xsl-text>(no)</xsl-text>
</xsl-otherwise>
</xsl-choose>
-~{}~ 08.07.06 15:07:
Забыл написать, все это выполняется внутри <xsl:for-each select="ancestor:B">.
Более того, я выводил для каждого узла его position() и last() - значения для разных узлов разные, как и ожидалось, но срабатывают все равно ВСЕ уловия!!
-~{}~ 08.07.06 15:12:
БЛИН!!! Все понял, очень извиняюсь - закрывайте тему. У меня видать сегодня глаза не на том месте!! Вместо <xsl:choose> пишу <xsl-choose>! Хоть бы парсер ругался, что-ли...
-~{}~ 08.07.06 15:15:
На всякий случай, чтобы тема не совсем уж бесполезной была, нужно писать примерно так:
Код:
<xsl:for-each select="ancestor::DB">
<xsl:if test="position()=last()">
<xsl:value-of select="@prop_name"/>
</xsl:if>
</xsl:for-each>