Update: I’ve just realised the links in this article were wrong when I published it, so have updated them. I’ve decided to update my 2008 article on Understanding the BizTalk Mapper for BizTalk 2013R2. You can download the article here (in .docx and .pdf formats): Understanding the BizTalk Mapper...
Aggregating messages is a fairly common task in BizTalk. By “aggregating” I mean taking two separate messages with repeating elements and combining them into a new message which contains the elements of both messages – the same as doing a Union in SQL. However, what if you want to...
In this post: Methods in the helper class Notes on implementation Installation Instructions Problems with the Script Functoid Examples of Usage Download the code Testing the sample map I’m not sure if this is actually of any use to anyone but if you do want to use Microsoft’s Extended...
It’s not that well documented, but Microsoft have a bunch of extra functions you can use from XPath expressions within XSLT. You can find the documentation on them here. What isn’t made apparent is that none of them work with XslTransform: a subset of them will work with XslCompiledTransform,...
If you prefer to do your reading offline, then you can download the entire series of 13 posts as a single 68-page Microsoft Word document, or Adobe PDF document. Get them here: Understanding the BizTalk Mapper.doc (1.2MB) Understanding the BizTalk Mapper.pdf (640kB) Please let me know what you think!
In this section: Transformation Choices BizTalk Mapper Custom XSLT with the BizTalk Mapper External Transform Engine Transformation in code Which one should you use? Transformation Choices When performing transformations in BizTalk, you have four choices (that I can think of): Using the BizTalk Mapper Using a custom XSLT file...
In this section:Performance Summary of Tests Testing performance in isolation (non-BizTalk) Performance Test Results Measuring Memory Usage in BizTalk BizTalk Memory Test Results Byte Arrays Analysing the performance results Maintainability External XSLT Serializable Classes Why is it so difficult to edit code in the Script functoid? Documentation Any large...
Interestingly, all of the advanced functoids emit XSLT. No C# in sight at all. The reason for this is that the functoids in this category all perform operations best suited to trees of data i.e. XML. The only way to do this in C# would be to load the...
This category contains both Database and Cross Referencing Functoids – but they all connect to a database to retrieve/update data. Unlike all other default functoids, these functoids all call classes/methods in external assemblies – no inline C# is emitted at all. Because of this, this is the only category...
Of the functoids in this category, only Cumulative Sum has a counterpart in XSLT v1.0 – all the others can be performed in XSLT v2.0, but not XSLT v1.0. For each functoid I’ve shown: Whether XSLT or C# is emitted Whether an XSLT equivalent exists The XSLT or C#...