The String Functoids are probably the most frequently used in maps (in my experience), mainly because they’re the most familiar to a procedural programmer (i.e. a C# or VB programmer). However because they all emit inline C#, they perform the slowest so if you want your maps to run faster you’re better off using the corresponding XSLT, or implementing the functionality you require in a separate assembly.
So for each functoid I’ve shown:
- Whether XSLT or C# is emitted
- Whether an XSLT equivalent exists
- The XSLT or C# emitted by the functoid
- Where C# is emitted, the equivalent XSLT to achieve the same functionality (in both
XSLT v1.0 and v2.0)
Functoids covered in this category:
| Lowercase | String Left Trim |
| Size | String Right |
| String Concatenate | String Right Trim |
| String Extract | Uppercase |
| String Find | Common Code |
| String Left |
Note:
This is the third 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
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.
