XSLT正则表达式替换功能

时间:2013-09-30 15:19:23

标签: regex xslt hl7 mirth

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

我将此文本留给上下文,但您可能希望跳到更新

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

在任何情况下,我们都尝试使用XSLTCake来尝试甚至让演示替换工作,但无济于事。我们已经看到这个引用为replacefn:replace以及其他一些使用其他库的建议。

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

这很难解决一个问题,因为我要求很多,但是这里有...可以有人提供在XSLT中执行正则表达式替换的工作示例吗?最好是一个将在在线解析器中运行以供参考。

这是一个sample - 显然应该有效。1

更新

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

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

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

1 个答案:

答案 0 :(得分: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>

进入样式表以在结果文档中输出注释。

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