2016-07-28 36 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