XSLT相当新,并将with-param视为完成某项工作的一种方式。
<xsl:variable name="PQB_ID">
<!-- <xsl:value-of select="wd:SSN"/> -->
<xsl:value-of>123</xsl:value-of>
</xsl:variable>
<xsl:call-template name="testing">
<xsl:with-param name="PQB_ID"></xsl:with-param>
</xsl:call-template>
我的模板名称如下:
<xsl:template name="testing">
<xsl:param name="PQB_ID"></xsl:param>
<xsl:value-of select="$PQB_ID"></xsl:value-of>
</xsl:template>
至少,我希望看到123.或者,当我的<xsl:value-of select="wd:SSN"/>
被取消注释时,我希望看到我的程序中的值。事实上,我一无所获。
我错过了什么?
答案 0 :(得分:6)
<xsl:with-param name="PQB_ID"></xsl:with-param>
将为参数传递一个空值。如果要传递全局PQB_ID变量的值,则需要明确地执行此操作
<xsl:with-param name="PQB_ID" select="$PQB_ID"/>
答案 1 :(得分:0)
另请注意,在XSLT 2.0中声明xsl:param中预期参数的类型是一个非常好的主意。你期待一个字符串吗?整数?我不指望你期待一个文档节点,这是你用代码
精心创建的 <xsl:variable name="PQB_ID">
<xsl:value-of>123</xsl:value-of>
</xsl:variable>
如果模板需要一个整数,那么您不需要一个全新的文档来包含它;写一下
<xsl:variable name="PQB_ID" select="123"/>