2013-09-30 140 views
0

我們一直在努力嘗試獲取XSLT替換函數的基本示例。XSLT正則表達式替換函數

我要離開這個文本在機智的背景下,但你可能要跳到我們使用Mirth HL7消息拉動更新

。我們不確定這是否支持XSLT版本2,但我們相信它使用SAXON - http://saxon.sourceforge.net/,據稱它支持XSLT2並因此支持替換功能。

在任何情況下,我們嘗試使用XSLTCake試圖獲得甚至演示替換工作,無濟於事。我們已經看到這或者被引用爲replacefn:replace以及使用其他庫的其他建議。

如果Mirth不支持XSLT2,我們需要XSLT1的解決方法。我們在這裏找到了一個:XSLT string replace - 但一直無法讓這個工作。

這是一個難以回答的單個問題,因爲我問很多,但這裏有...任何人都可以提供一個在XSLT中執行正則表達式替換的工作示例嗎?最好能在聯機解析器中運行以供參考。

這是sample - 這顯然應該工作。 1

更新

感謝Michael凱下面提供的代碼,以確定XSLT版本。

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

所以事實證明,我們對使用SAXON的Mirth都是錯誤的,因此支持XSLT2。我將更新我們嘗試實施版本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> 

插入到樣式表中,以便在結果文檔中輸出註釋。

一旦你知道你正在使用什麼編程語言,你可以開始考慮編寫代碼。

+0

謝謝,那就是爲什麼我們無法使其大部分工作!更新。 –

+0

不只是更新,而是接受Micheal的回答。 – Sid

+0

似乎有人已經成功地在撒克遜交換了在快樂之內的Xalan的地方,例如見http://www.mirthcorp.com/community/forums/showthread.php?t=952 –