Не совсем ответ, больше обмена опытом;
В моей команде у нас было обсуждение этого вопроса. Аргументом для карт было то, что его понимают большинство коллег (как это касается каждого базового тренинга по BizTalk), а XSLT нет.
Я лично работал с XSLT в течение долгого времени, прежде чем начал работать с BizTalk, и нашел инструмент картографирования очень ... неинтуитивным. Каждое соединение, которое я устанавливаю, вызывает больше вопросов, чем дает мне утешение, зная, каков результат. Что происходит, когда исходный узел имеет значение ноль, отсутствует или повторяется? Что происходит, когда целевой узел определяется как minOccurs = 2? Что именно делает функтоид табличного отображения? Что делает Functoid для извлечения табличных значений, когда значение не найдено? Как создать узел с последовательностью автонумерации и как связать другие созданные узлы, которые могут относиться к этим узлам, используя сгенерированный номер?
Работа с XSLT возвращает мне контроль, я точно знаю, что происходит.
XSLT-карты имеют дополнительную ценность, заключающуюся в том, что они основаны на тексте, что хорошо работает с разветвлением и меррингом в управлении исходным кодом, и позволяет нам добавлять комментарии в исходные тексты. Вы когда-нибудь пытались объединить изменения из карты из двух разных ветвей?
Конечным результатом является то, что теперь мы предпочитаем XSLT для отображения, но не каждый разработчик свободно владеет XSLT. Это требует некоторой подготовки.
Последний совет: инвестируйте средства в инструменты модульного тестирования для ваших карт. Найдите набор инструментов с открытым исходным кодом или напишите несколько строк, чтобы самостоятельно проверить свои карты. Большинство артефактов BizTalk отлично тестируются, даже если это не так, с возможным исключением для оркестровок (которые в любом случае следует использовать в качестве крайней меры).