Skip to content
News and insights
BizTalk Mapper

Understanding the BizTalk Mapper: Part 2 – Functoids Overview

This whole series of posts started because I wanted to show what XSLT was emitted when using the default functoids provided by Microsoft.
Specifically, I wanted to show the XSLT emitted by the Advanced Functoids. Understanding
this XSLT can help in understanding how to use the functoids.
For some reason (as seems to happen with me) the post expanded into a whole series
on the Mapper… every time I explain one thing, I seem to want to explain all the
things that the first thing is based on… oops.

Anyway, suffice to say that the next 9 posts will cover the code emitted by all of
the default functoids provided with BizTalk 2004 / 2006 / 2006 R2.

Note:

This is the second in a series of 13 posts about the BizTalk Mapper.
The other posts in this series are (links will become active as the posts become active):
Understanding
the BizTalk Mapper: Part 1 – Introduction

Understanding the BizTalk Mapper: Part 2 – Functoids Overview

Understanding
the BizTalk Mapper: Part 3 – String Functoids

Understanding
the BizTalk Mapper: Part 4 – Mathematical Functoids

Understanding
the BizTalk Mapper: Part 5 – Logical Functoids

Understanding
the BizTalk Mapper: Part 6 – Date/Time Functoids

Understanding
the BizTalk Mapper: Part 7 – Conversion Functoids

Understanding
the BizTalk Mapper: Part 8 – Scientific Functoids

Understanding
the BizTalk Mapper: Part 9 – Cumulative Functoids

Understanding
the BizTalk Mapper: Part 10 – Database Functoids

Understanding
the BizTalk Mapper: Part 11 – Advanced Functoids

Understanding
the BizTalk Mapper: Part 12 – Performance and Maintainability

Understanding
the BizTalk Mapper: Part 13 – Is the Mapper the best choice for Transformation in
BizTalk?

Download the complete series as a single Microsoft
Word document (1.2MB)
or Adobe
PDF document (620kb)
.

One thing to realise is that the majority of the default functoids emit inline C#
code – which is odd as quite a lot of the functionality can be performed using pure
XSLT.

So for each functoid I’ve shown:

  1. Whether XSLT or C# is emitted
  2. Whether an XSLT equivalent exists
  3. The XSLT or C# emitted by the functoid
  4. Where C# is emitted, the equivalent XSLT to achieve the same functionality (in both
    XSLT v1.0 and v2.0)

For the Advanced Functoids knowing what the functoids emit can be useful in understanding
how to use them.

For the other functoids, knowing the equivalent XSLT to use is useful if you want
a map which performs better as (generally speaking) using native XSLT will be faster
than the equivalent C# for simple operations.

Some useful references when reading these sections are:
XSLT 1.0 Function
reference

XSLT 2.0
Function reference

XSLT/XPath
Operators

Share this article:

Back To Top