如果值丢失或者是空字符串,我不希望在输出文档中写出element属性。 怎么做? 这是一个biztalk映射。
答案 0 :(得分:8)
要抑制目标中的元素,请使用值functoid。
LOGICAL EXISTENCE
functoid。 LOGICAL EXISTENCE
functoid连接到LOGICAL AND
functoid。 NOT EQUALS
functoid。 NOT EQUALS
functoid中,将Condition2设置为BLANK。 NOT EQUALS
functoid连接到LOGICAL AND
functoid。 LOGICAL AND
functoid连接到VALUE MAP
functoid。 VALUE MAP
functoid。 VALUE MAP
functoid连接到目标元素。按顺序执行这些步骤。下面的屏幕截图应该有所帮助:
HTH
答案 1 :(得分:1)
如果您更喜欢自己做XSLT:
(我正在检查缺少的元素,空值和xsi:nil
- 如果不适用则相应删除)
<xsl:choose>
<xsl:when test="not(s0:inElement)
or s0:inElement[normalize-space(.) = '']
or string(s0:inElement/@xsi:nil) = 'true'">
... Default here, e.g. leave this blank,
... or if you want nil then <ns1:outElement xsi:nil="true"/>
</xsl:when>
<xsl:otherwise>
<ns1:outElement>
<xsl:value-of select="s0:inElement/text()" />
</ns1:outElement>
</xsl:otherwise>
</xsl:choose>