调用 XSL 模板时的可选参数

2024-02-24

有没有办法使用可选参数调用 XSL 模板?

例如:

<xsl:call-template name="test">
  <xsl:with-param name="foo" select="'fooValue'" />
  <xsl:with-param name="bar" select="'barValue'" />
</xsl:call-template>

以及生成的模板定义:

<xsl:template name="foo">
  <xsl:param name="foo" select="$foo" />
  <xsl:param name="bar" select="$bar" />
  <xsl:param name="baz" select="$baz" />
  ...possibly more params...
</xsl:template>

这段代码会给我一个错误“表达式错误:找不到变量'baz'”。是否可以省略“baz”声明?

谢谢你, 亨利


您正在使用xsl:param语法错误。

改为这样做:

<xsl:template name="foo">
  <xsl:param name="foo" />
  <xsl:param name="bar" />
  <xsl:param name="baz" select="DEFAULT_VALUE" />
  ...possibly more params...
</xsl:template>

Param 获取使用传递的参数的值xsl:with-param与名称相匹配的xsl:param陈述。如果没有提供,则采用的值select属性完整的 XPath。

更多详细信息可以参见W3School 的参数条目 https://www.w3schools.com/xml/ref_xsl_el_param.asp.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用 XSL 模板时的可选参数 的相关文章

随机推荐