【发布时间】:2011-12-08 11:17:17
【问题描述】:
我们有一个非常复杂的 BizTalk 界面,它使用 HL7 加速器。
我们使用规范模式,它可以包含来自我们的主要患者管理系统的几种类型的事务之一,然后我们将其映射到目标应用程序的 HL7 消息中。
编排使用脚本形式根据收到的交易类型和其他一些标准动态调用映射。
大约有 20 种不同的地图可以被调用,其中许多地图共享共同的 HL7 段。例如,它们中的大多数将患者识别数据映射到 HL7 PID 段。
PID 映射是通过使用内联 XSLT 的单个脚本 functoid 完成的。当我问为什么要这样做时,给出的答案是:
"因为PID段在多个map中,如果我们需要更新 映射我们可以简单地将 XSLT 复制并粘贴到其他映射,而不是摆弄许多单独的 functoid。”
我刚刚在 PID 映射中发现了一个错误,不得不在一个映射中修复 XSLT,然后将其复制到其他 20 个映射。这非常耗时,完全违背了DRY principle。
在 BizTalk 中是否有跨多个地图共享 XSLT 的方法?我想指定一次,多次调用。
【问题讨论】:
-
你试过
xsl:import吗? -
不,我实际上没有,但不敢相信我没有想到这一点。我稍后会尝试。感谢您的评论。
-
@Dimitre - 不幸的是,BizTalk 地图中不允许这样做 - sandroaspbiztalkblog.wordpress.com/2010/04/26/…。
标签: biztalk hl7 biztalk-2009