0

我们一直在努力尝试让 XSLT 替换功能的基本示例正常工作。

我将保留此文本以保留上下文,但您可能想跳到更新

我们正在使用Mirth来获取 HL7 消息。我们不确定这是否支持 XSLT 版本 2,但我们相信它使用 SAXON - http://saxon.sourceforge.net/,据称它确实支持 XSLT2 并因此支持替换功能。

无论如何,我们尝试使用XSLTCake来尝试让演示替代品工作,但无济于事。我们已经看到这被引用为replace或者fn:replace以及使用其他库的其他一些建议。

如果Mirth不支持 XSLT2 ,我们将需要 XSLT1 的解决方法。我们在这里找到了一个: XSLT string replace - 但也无法让它工作。

正如我经常问的那样,这很难解决一个问题,但是这里有……谁能提供一个在 XSLT 中执行正则表达式替换的工作示例?最好是在在线解析器中运行以供参考。

这是一个示例-显然应该可以。1

更新

感谢 Michael Kay 提供以下代码以确定 XSLT 版本。

<!--Transformed using 1.0 provided by Apache Software Foundation (Xalan XSLTC)-->

所以事实证明我们对 Mirth 使用 SAXON 并因此支持 XSLT2 都是错误的。我将更新我们实施版本 1 解决方法的尝试。

4

1 回答 1

3

首先找出您正在使用的 XSLT 处理器。这很简单:插入这个

<xsl:comment>Transformed using <xsl:value-of select="system-property('xsl:version')"/> provided by <xsl:value-of select="system-property('xsl:vendor')"/></xsl:comment>

到您的样式表中以在结果文档中输出注释。

一旦你知道你正在使用什么编程语言,你就可以开始考虑编写代码了。

于 2013-09-30T16:26:38.503 回答