BizTalk中的映射重叠-如何停止重复工作?

BizTalk中的映射重叠-如何停止重复工作?,biztalk,hl7,biztalk-2009,Biztalk,Hl7,Biztalk 2009,我们有一个非常复杂的BizTalk接口,它使用HL7加速器 我们使用一个规范模式,它可以包含来自主要患者管理系统的几种类型的事务之一,然后将这些事务映射到目标应用程序的HL7消息中 编排使用脚本形状根据收到的事务类型和其他一些条件动态调用映射 大约有20种不同的地图可以调用,其中许多地图共享公共HL7段。例如,它们中的大多数将患者识别数据映射到HL7 PID段 PID映射是通过使用内联XSLT的单个脚本functoid完成的。当我问为什么这样做时,给出的答案是: “因为PID段位于多个映射中,如

我们有一个非常复杂的BizTalk接口,它使用HL7加速器

我们使用一个规范模式,它可以包含来自主要患者管理系统的几种类型的事务之一,然后将这些事务映射到目标应用程序的HL7消息中

编排使用脚本形状根据收到的事务类型和其他一些条件动态调用映射

大约有20种不同的地图可以调用,其中许多地图共享公共HL7段。例如,它们中的大多数将患者识别数据映射到HL7 PID段

PID映射是通过使用内联XSLT的单个脚本functoid完成的。当我问为什么这样做时,给出的答案是:

“因为PID段位于多个映射中,如果需要更新 映射我们可以简单地将XSLT复制并粘贴到其他映射,而不必处理许多单独的functoid。”

我刚刚在PID映射中发现了一个bug,必须在一个映射中修复XSLT,然后将其复制到20个其他映射。这非常耗时,完全违反了法律


BizTalk中是否有跨多个映射共享XSLT的方法?我想指定一次并多次调用它。

如果在每个映射中都相同,请在您的业务流程中的动态映射之后调用单个映射,或者直接从业务流程中调用xslt。

您是否尝试过使用此共享xslt构建库?使用脚本functoid和脚本类型的外部程序集调用它,然后您可以在多个映射之间共享该程序集,而无需在所有这些位置重写它。

您是否尝试过使用
xsl:import
?不,我实际上没有,但不敢相信我没有想到这一点。我以后再试试。感谢您的评论。@Dimitre-不幸的是,BizTalk映射中不允许这样做-。