Hi Mikael,
I also wanted to explain about the behavior you mentioned at the beginning of the thread. In BizTalk Mapper, as you might already know, if you connect the output of a Logical functoid to a record in the target schema, our compiler interprets it as an attempt
to conditionally control whether that node will be output or not. So it will generate XSLT of the following form:
<xsl:if select="$conditionVariableName">
<Record>
<!-- Code that needs to be generated to populate 'Record', if any -->
</Record>
</xsl:if>
We don't have this behavior currently in the Integration Services Mapper. When you use a Logical Expression operation in the Integration Services Mapper, the operation will produce a boolean value as an output (just as the BizTalk functoids would), but the
connection from the Logical Expression operation to the target schema is not interpreted specially - it's interpreted just like any other link to the target schema - as an indication that a value must be populated in the target document. That's the reason
why you end up getting 'true' in your output document.
HTH,
Kranthi.