Попробуйте добавить [1]
к тесту <xsl:when>
следующим образом:
<xsl:choose>
<xsl:when test="./Property[@Name ='RecoveryModel'][1]='Full'">
<td align="left" bgcolor="#ff00ff">
<xsl:value-of select="./Property[@Name ='RecoveryModel']"/>
</td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="./Property[@Name ='RecoveryModel']"/></td>
</xsl:otherwise>
</xsl:choose>
В противном случае селектор ./Property[@Name ='RecoveryModel']
вернет (по существу) список совпадающих элементов (возможно, только один в вашем случае. Вам нужно [1]
, чтобы выбрать первый соответствующий элемент Property
.
Кроме того, я предполагаю, что ваш исходный элемент выглядит примерно так:
<node>
<Property Name="RecoveryModel">Full</Property>
<node>