[英]difference between xsl:param and xsl:variable
我正在考虑在定义xsl时使用其中一个:模板名称= myTemplate将在另一个xsl文件中调用。
遗留代码似乎在xsl中使用'xsl:variable':template match =“legacyTemplate”
那么xsl:param和xsl:variable在xsl中使用它时有什么区别:template name = myTemplate?
不同之处在于xsl:param
的值可以在声明它的上下文之外设置。 例如,请参阅:
<xsl:template ...>
<xsl:param name="p" select="'x'" />
<xsl:variable name="v" select="'y'" />
...
然后你知道$v
总会给你字符串'y'
。 但是对于$p
,字符串'x'
只是默认值:如果使用xsl:apply-templates
或xsl:call-template
,则会看到不同的值,其中包含如下指令:
<xsl:with-param name="p" select="'not x'" />
<xsl:param>
也可以在xsl:template
外部使用,位于样式表的顶层。 可以在调用XSLT处理器时设置此参数的值。 如何完成取决于处理器以及是从命令行还是通过程序调用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.