2013-09-23 24 views
1

我處於一個奇怪的位置。由於這裏列出的事件過於荒謬,我正在使用一個使用未知XSL引擎的系統。我相當確定它是MSXML。問題是我不完全確定哪個版本(這很重要)。原始的開發者不可用,並且我對後端的訪問非常有限。我有有能力做的是作者內容(通過XSLT工作表獲得)和編輯XSLT本身。鑑於這兩種能力,是否有任何方法可以讓解析器報告它的版本?任何東西都像PHP的phpversion()?也許甚至有一個標準的方式來報告XSL引擎廠商版本?獲取MSXML以報告版本

如果我能找到XSL引擎列表以及每個引擎的獨特功能,我會非常願意編寫功能檢查表。

回答

3

您可以使用XSLT處理器處理this XSLT stylesheet,它會輸出一些系統屬性,包括Microsoft msxsl:version

+0

奇妙的是,它的源代碼就在那裏。謝謝! –

+0

呵呵,阿帕奇。有一次,我曾經非常樂意找到非微軟技術。 –

+0

下面的命名空間應該聲明爲這個工作:'xmlns:msxsl =「urn:schemas-microsoft-com:xslt」' – wasmachien

1

<xsl:value-of select="system-property('xsl:vendor')"/>會告訴你它是否爲Microsoft,但XSLT 1.0中沒有屬性只在XSLT 2.0中告訴您該版本。

+0

優秀!儘管如此,@MartinHonnen只是稍微回答一下,因爲MSXSL特定的標籤「msxsl:version」。不過,您仍然可以獲得+1。 –