У меня есть следующий XML:
<Order>
<jobDetails>
<Question>
<QuestionNumber>1</QuestionNumber>
<QuestionResponse>
<Response>Value</Response>
</QuestionResponse>
</Question>
<Question>
<QuestionNumber>2</QuestionNumber>
<QuestionResponse>
<Response>AnotherValue</Response>
</QuestionResponse>
</Question>
</jobDetails>
</Order>
Я использую XSLT 1.0, чтобы получить значение ответа, если номер вопроса равен 2: мне нужно дополнительно запросить его и вывести другое значение в зависимости от него.
Я пробовал это:
<xsl:template match="Order">
<xsl:for-each select="jobDetails/Question">
<xsl:variable name="theSet" select="QuestionNumber[string(.)='2']" />
<xsl:if test="$theSet">
<xsl:when test="QuestionResponse/Response = 'Value'"><Response>SomeValue</Response></xsl:when>
<xsl:when test="QuestionResponse/Response = 'AnotherValue'"><Response>SomeOtherValue</Response></xsl:when>
</xsl:if>
</xsl:for-each>
</xsl:template>
... но XSLT не проверяет.
Спасибо заранее за любую помощь.