1

我们有一个非常复杂的 BizTalk 界面,它使用 HL7 加速器。

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

编排使用脚本形式根据接收到的事务类型和其他一些标准动态调用映射。

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

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

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

我刚刚在 PID 映射中发现了一个错误,不得不在一个映射中修复 XSLT,然后将其复制到其他 20 个映射。这非常耗时,完全违背了DRY 原则

BizTalk 中有没有跨多个地图共享 XSLT 的方法?我想指定一次并多次调用它。

4

2 回答 2

0

您是否尝试过构建一个包含此共享 XSLT 的库?使用脚本类型为外部程序集的脚本函数调用它,然后您可以在许多地图之间共享该程序集,而无需在所有这些地方重写它。

于 2011-12-08T15:17:05.057 回答
0

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

于 2011-12-08T15:14:02.807 回答