如何使用 xslt 在 foreach 循环上应用 if-else
How to apply if-else on foreach loop using xslt
我必须根据 if else 条件使用 xslt filter/assign 数据从负载到 xml 标签。
我必须在“RIMSTS”标签上应用 if-else,我使用下面的代码 apply.But 它不是 working.It在 validation.Can 期间抛出一些无效的 xslt 有人帮助我使用正确的语法或正确的方法在 for-each 中应用 if-else。
<xsl:for-each select="message/lines">
<LINE_SEG>
<xsl:if test="not(normalize-space(costAmount)) = ''">
<CSTMS_CST>
<xsl:value-of select="normalize-space(costAmount)"/>
</CSTMS_CST>
</xsl:if>
<PO_CHANNEL></PO_CHANNEL>
<xsl:choose>
<xsl:when test="linestatusCd = 100">
<RIMSTS>OPEN</RIMSTS>
</xsl:when>
<xsl:when test="linestatusCd= 200 or 300">
<RIMSTS>CLOSED</RIMSTS>
</xsl:when>
</LINE_SEG>
</xsl:for-each>
linestatusCd= 200 or 300
看错了,你的意思可能是
linestatusCd = 200 or linestatusCd = 300
您还没有关闭 <choose>
元素。
<xsl:for-each select="message/lines">
<LINE_SEG>
<xsl:if test="not(normalize-space(costAmount)) = ''">
<CSTMS_CST>
<xsl:value-of select="normalize-space(costAmount)"/>
</CSTMS_CST>
</xsl:if>
<PO_CHANNEL></PO_CHANNEL>
<xsl:choose>
<xsl:when test="linestatusCd = 100">
<RIMSTS>OPEN</RIMSTS>
</xsl:when>
<xsl:when test="linestatusCd = 200 or linestatusCd = 300">
<RIMSTS>CLOSED</RIMSTS>
</xsl:when>
</xsl:choose>
</LINE_SEG>
</xsl:for-each>
我必须根据 if else 条件使用 xslt filter/assign 数据从负载到 xml 标签。
我必须在“RIMSTS”标签上应用 if-else,我使用下面的代码 apply.But 它不是 working.It在 validation.Can 期间抛出一些无效的 xslt 有人帮助我使用正确的语法或正确的方法在 for-each 中应用 if-else。
<xsl:for-each select="message/lines">
<LINE_SEG>
<xsl:if test="not(normalize-space(costAmount)) = ''">
<CSTMS_CST>
<xsl:value-of select="normalize-space(costAmount)"/>
</CSTMS_CST>
</xsl:if>
<PO_CHANNEL></PO_CHANNEL>
<xsl:choose>
<xsl:when test="linestatusCd = 100">
<RIMSTS>OPEN</RIMSTS>
</xsl:when>
<xsl:when test="linestatusCd= 200 or 300">
<RIMSTS>CLOSED</RIMSTS>
</xsl:when>
</LINE_SEG>
</xsl:for-each>
linestatusCd= 200 or 300
看错了,你的意思可能是
linestatusCd = 200 or linestatusCd = 300
您还没有关闭 <choose>
元素。
<xsl:for-each select="message/lines">
<LINE_SEG>
<xsl:if test="not(normalize-space(costAmount)) = ''">
<CSTMS_CST>
<xsl:value-of select="normalize-space(costAmount)"/>
</CSTMS_CST>
</xsl:if>
<PO_CHANNEL></PO_CHANNEL>
<xsl:choose>
<xsl:when test="linestatusCd = 100">
<RIMSTS>OPEN</RIMSTS>
</xsl:when>
<xsl:when test="linestatusCd = 200 or linestatusCd = 300">
<RIMSTS>CLOSED</RIMSTS>
</xsl:when>
</xsl:choose>
</LINE_SEG>
</xsl:for-each>