Я довольно новичок в xslt, поэтому мне может быть что-то не так просто, но я не могу найти его. Я пытаюсь построить предложение when с несколькими условиями. Херес, что у меня есть.Запись предложения xsl when с несколькими условиями
<xsl:when test="(string-length(current()/SSN/text())) = 9 AND not(string(number(current()/SSN/text())) = 'NaN')">
<IdCodeQualifier>
<xsl:value-of select="'34'" />
</IdCodeQualifier>
<SSN>
<xsl:value-of select="current()/SSN/text()" />
</SSN>
</xsl:when>
Это приводит к:
XSLT-компиляции ошибка в (97,16). Подробнее см. InnerException. 'boolean ((string-length (current()/SSN/text())) = 9 AND not (string (number (current()/SSN/text())) =' NaN '))' является недопустимым XPath выражение. 'boolean ((string-length (current()/SSN/text())) = 9 AND not (string (number (current()/SSN/text())) =' NaN '))' имеет недопустимый токен ,
Однако это работает нормально.
<xsl:when test="string-length(current()/SSN/text()) = 9">
<xsl:if test="string(number(current()/SSN/text())) != 'NaN'">
<IdCodeQualifier>
<xsl:value-of select="'34'" />
</IdCodeQualifier>
<SSN>
<xsl:value-of select="current()/SSN/text()" />
</SSN>
</xsl:if>
</xsl:when>
Так что же мне не хватает?
Я знал, что это должно быть что-то простое. Благодарю. –
@GamaMartinez, Добро пожаловать. –