August 27, 2007

Logical existence, IsNil, Empty String comparison

In a BizTalk Map, a logical functoid evaluating whether the field value = "" (empty string) always evaluates to true for empty nodes, even if that field doesn't exist in the source schema.

<xsi:nil="true"></>
-isNil = TRUE, Logical Existence = TRUE, Logical = [Empty String] = TRUE

<></>
-isNil = FALSE, Logical Existence = TRUE, Logical = [Empty String] = TRUE

NO ELEMENT
-isNil = FALSE, Logical Existence = FALSE, Logical = [EmptyString] = TRUE

Share |

4 comments:

  1. When a source element doesn't exist, neither the IsNil nor Logical Existence retrieve False. They just don't retrieve anything..

    ReplyDelete
  2. Great story you got here. It would be great to read something more about this theme. Thanx for posting this information.
    Sexy Lady
    Asian Escorts London

    ReplyDelete
  3. When you say: Logical = [EmptyString] = TRUE

    do you mean comparing the node against an empty constant in a equal comparer?

    ReplyDelete
  4. By 'Logical' I'm referring to evaluating the value of the logical functoid... so in C# terms I'm showing that (LogicalFunctoidValue=="") evaluates to true.

    ReplyDelete