如果我的参数$ test存在,我正在使用XPATH。
我正在使用ALtova Stylevision中的XPATH构建器,并认为我可以使用类似的东西
exists ( $blah)
或exists ( string($blah) )
但这以
" Undefined variable in expression test="exists( string( $blah) )""
问题在于有时参数会存在,有时则不存在。我不想在空白参数中进行硬编码!
在使用之前,有没有办法说“检查参数XXXX是否存在”?令人沮丧的是,我知道如何在几乎所有其他编程语言中执行此操作
参数定义:
<xsl:param name="blah"> some text </xsl:param>
从单独的文件“parameters.xslt”中读取这些参数。此文件可能存在,也可能不存在,具体取决于方案。在尝试使用它之前,我需要检查实际存在的param。
答案 0 :(得分:2)
如果您已声明参数,则它存在。你想知道的是,does it have a value?
<xsl:choose>
<xsl:when test="not($blah)">$blah wasn’t passed in</xsl:when>
<xsl:otherwise>$blah was passed in</xsl:otherwise>
</xsl:choose>
答案 1 :(得分:2)
基本上,如果您正在编写XSLT,那么您应该知道已声明了哪些变量。您正在尝试使用某种开发模型,其中编写样式表的不同模块的人员不完全了解彼此的代码,并且XSLT不适用于该模型。
XSLT在这方面并不是唯一的:你不会在Java方法中找到任何允许方法的编写者询问“调用者提供了多少个参数?”的内容。如果提供的参数不足,则代码将无法编译。