2016-07-28 39 views
0

我需要檢查是否聲明瞭一個變量,因爲不同的變量包含了不同的.xsl文檔,我需要檢查變量是否已聲明,以便我可以在我的處理?XSLT:檢查變量是否退出,聲明爲

我總是得到一個錯誤與我的過程。 消息:可變sortedNumbers尚未聲明(或聲明不在範圍內)

我使用XSLT 2.0

我的XSLT代碼:

<xsl:if test="exists($sortedNumbers) and $sortedNumbers = 'true' > 
+0

我不認爲有一種方法來檢查與XSLT 2.0。在XSLT 3.0中有一個'xsl:try/xsl:catch',但我不確定這會有所幫助,但Saxon似乎對未聲明的變量發出靜態錯誤信號,只有Exselt似乎使用'xsl:catch'。 –

+0

好吧,有我無法調試我的.XSL文檔 – Franz

回答

1

你需要重新考慮你的方法。如果你有一個樣式表A,它有時會導入B,有時候會導入C,那麼你就是在做錯誤的事情:特殊用途樣式表模塊應該導入通用模塊。

+0

我有不同的啓動XSL(StartA,StartB)的問題。兩者都創建不同的變量然後兩者都包含相同的.xsl 現在我需要檢查是否創建了特定的變量。 – Franz

+0

然後,您應該將變量聲明爲包含的.xsl中的xsl:param,其起始XSL可能會或可能不會用全局xsl:變量覆蓋。 –

+0

好吧,這將是一個好主意。謝謝 – Franz