使用参数调用模板

时间:2014-03-19 12:55:13

标签: xml templates xslt

我在尝试拨打另一个模板时遇到了一个奇怪的问题。我有一个模板,可以调用另一个带有多个参数的子模板。我遇到的问题是子模板(或称为模板)识别第一个参数,并为其他参数抛出异常,因为"无法找到名称变量..."。当我尝试使用单个参数时,它可以正常工作:我可以在被调用的模板上获取传递的参数值,但是当我传递多个参数时则不能。

这里我添加了定义参数的代码部分并调用子模板。

  <xsl:template match="/">
    <xsl:call-template name="subTemplatePerson"> <!--Making a call to sub-template-->
       <xsl:with-param name="personId" select="'ID123'"/>
       <xsl:with-param name="locale" select="'en_US'"/>
    </xsl:call-template>
  </xsl:template>

在子模板方面:

   <xsl:template name="subTemplatePerson"><!--Template being called-->
      <xsl:param name="personId"/> <xsl:variable name="pId" select="$personId"/>
      <xsl:param name="locale"/> <xsl:variable name="localeValue" select="$locale"/>
   </template>

1 个答案:

答案 0 :(得分:2)

尝试通过将所有xsl:param放在模板的开头来修复它。