我正在考虑在定义xsl时使用其中一个:模板名称= myTemplate将在另一个xsl文件中调用。
遗留代码似乎在xsl中使用'xsl:variable':template match =“legacyTemplate”
那么在xsl:template name = myTemplate中使用xsl:param和xsl:variable之间的区别是什么?
答案 0 :(得分:50)
区别在于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处理器。如何完成取决于处理器
以及是从命令行还是通过程序调用它。