У меня проблема с подготовкой правильного шаблона XSLT для заполнения значений в HTML.В моем случае я хочу заполнить значение столбца Test2 , если это был тип проверки для него.
Моя часть шаблона XSL:
<xsl:for-each select="CurrentFile/RejRow[Col/ValidationType='Task: Non-Numeric']">
<tr>
<td>
<span>
<xsl:value-of select="Col/ColVal"/>
</span>
</td>
</tr>
</xsl:for-each>
И XMLis:
<CurrentFile>
<RejRow>
<Col>
<ColName>Test1</ColName>
<ColVal>TestVal1</ColVal>
</Col>
<Col>
<ColName>Test2</ColName>
<ColVal>TestVal2</ColVal>
<ValidationType>Task: Non-Numeric</ValidationType>
</Col>
</RejRow>
</CurrentFile>
Обновление : мой текущий ответ не работает для ситуации, когда мне нужно проверить несколько столбцов с несколькими проверками и вывести только те, которые не прошли его,Все еще нужна помощь.
Этот подход не работает для меня:
<xsl:for-each select="RejRow[count(Col/ValidationType)!=0]">
<tr>
<xsl:for-each select="Col[ColName='Test2']">
<xsl:choose>
<xsl:when test="Col[ValidationType='Task: Non-Numeric']">
<td class="warningTd">
<span class="warningRed">
<xsl:value-of select="ColVal"/>
</span>
</td>
</xsl:when>
<xsl:when test="Col[count(ValidationType)=0]">
<td class="warningTd">
<span class="normal">
<xsl:value-of select="ColVal"/>
</span>
</td>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</tr>
</xsl:for-each>