One of the frustrations with BizTalk 2004 maps is the obscurity of functoids when viewing maps in Visual Studio. Depending on the volume of functoids in a map and/or depending on the degree of functoid chaining, easily understanding functoid usage can be impossible without diving into the functoid properties. So, I’ve written a stylesheet that transforms a BizTalk 2004 map into an HTML view containing the following information:
- The node links between source and destination schemas.
- All functoids used in the map are displayed with their parameters.
- Chained functoids are displayed as nested “function” calls.
- For HL7 schemas where source and desitnation are the same message type, links between different nodes are highlighted. The way I do this is not reliable as it depends on detecting a pattern in the root node name; looks for node names ending in ‘GLO_DEF’. Is there a more reliable way?
The other advantage to having HTML views of your maps is that HTML is a much more friendly format to share with non-developers who need to understand the transformations (e.g. testers) and who may not have access to Visual Studio.
You can download the stylesheet here. Consider it a beta version as it has not yet been fully tested (e.g. haven’t tested against all functoids, haven’t verified that all links and functoids are being reported correctly, haven’t tested against a wide variety of maps, etc).
At the moment I’m running the stylesheet using the Microsoft command line transformation utility (msxsl). Other more seamless approaches would be:
- A right-click explorer context menu for “.btm” files that would present a menu item to transform the map into an HTML view.
- Integration into Visual Studio so that you can choose to open a map as an HTML view (can’t remember how best to do this but I’m sure it can be done).
I’m sure there are a number of improvement/enhancements that can be made (e.g. including the functoid/link label attributes in the output). So please feel free to provide any feedback/ideas you have.
Following is a sample screen shot of an HTML view of a BizTalk HL7 map (click on the image to see the actual HTML):

UPDATE
I’ve moved the BizTalk Map Documenter to CodePlex (http://biztalkmapdoc.codeplex.com/) where the community can opt to maintain and enhance it going forward. It will no longer be maintained on my site.

Great work Steve!
This should make documentation a somewhat less onerous task!
Generated BizTalk Map Documentation……
…
[...] Finally someone has tackled the nasty problem of documenting the maps produced in BizTalk. Steve Hart has published the HTML Generator Stylesheet for BizTalk 2004 Maps, a handy tool to have when attempting to recall exactly what the relationship between this node and those nodes was when you delivered your BizTalk solution 6 months ago. The output is delivered in the form of slick HTML pages that can be added to your project documentation easily enough. [...]
I Appreciate Steve for the effort to make the documentation easier
[...] HTML Generator Stylesheet for BizTalk 2004 Maps Almost every BizTalk artifact is beautifully documentable, especially using the BizTalk Documenter. One thing that’s always hard to document are the maps. Finally someone came up with a solution and that someone is Steve Hart. The HTML Generator Stylesheet for BizTalk 2004 Maps is an XSLT which transforms the data of a map into viewable HTML. Although the approach is a good one, I’m not really sure about the added value. I don’t think the rendered HTML pages are very readable as there’s a lot of textual information on them. I think it’ll always be difficult to document a map, but maybe if it is presemted in a more graphical and readable way it’s more useful. I’ll just wait for the next version. Published vrijdag 3 maart 2006 13:49 by sanders [...]
We were just discussing this, then found your great stylesheet. Thanks Steve.
[...] The HTML Generator Stylesheet for BizTalk 2004 Maps is an XSLT which transforms the data of a map into viewable HTML. Although the approach is a good one, I’m not really sure about the added value. I don’t think the rendered HTML pages are very readable as there’s a lot of textual information on them. I think it’ll always be difficult to document a map, but maybe if it is presented in a more graphical and readable way it’s more useful. I’ll just wait for the next version. [...]
[...] Map documenter tool … Richard, Maybe this can help you: http://www.hartsteve.com/?p=23 Dick Dijkstra Richard Hallgren schreef: > Hi, > > We have loads of complex maps in my [...]
[...] HTML Generator Stylesheet for BizTalk 2004 Maps is an XSLT which transforms the data of a map into viewable HTML. Although the approach is a good [...]