繁体   English   中英

xsl:param和xsl:variable之间的区别

[英]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-templatesxsl:call-template ,则会看到不同的值,其中包含如下指令:
<xsl:with-param name="p" select="'not x'" />

<xsl:param>也可以在xsl:template外部使用,位于样式表的顶层。 可以在调用XSLT处理器时设置此参数的值。 如何完成取决于处理器以及是从命令行还是通过程序调用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM