Я предполагаю, что у вас есть несколько myNode
элементов в вашем XML под одним и тем же родителем.Например,
<nodes>
<myNode>none</myNode>
<myNode>site-deploy</myNode>
</nodes>
Теперь, когда вы делаете тест формы myNode = 'site-deploy'
, на самом деле проверяется, существует ли какой-либо узел с именем myNode
, имеющий текст «site-deploy».Другими словами, он проверяет все myNode
элементов, а не только первый.
Способ решения зависит от того, чего вы пытаетесь достичь.Например, может быть что-то вроде этого
<xsl:for-each select="myNode">
<myNode>
<xsl:choose>
<xsl:when test=". = 'site-deploy'"><xsl:text>29</xsl:text></xsl:when>
<xsl:when test=". = 'none'"><xsl:text>99</xsl:text></xsl:when>
<xsl:otherwise><xsl:text>100</xsl:text></xsl:otherwise>
</xsl:choose>
</myNode>
</xsl:for-each>
Обратите внимание, если вы просто хотите проверить первый myNode
, вы бы сделали myNode[1] = 'site-deploy'