1

对 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。或者,当 my<xsl:value-of select="wd:SSN"/> 未注释时,我希望看到我的程序中的值。事实上,我什么也得不到。

我错过了什么?

4

2 回答 2

6
<xsl:with-param name="PQB_ID"></xsl:with-param>

将为参数传递一个空值。如果要传递全局 PQB_ID 变量的值,则需要显式地这样做

 <xsl:with-param name="PQB_ID" select="$PQB_ID"/>
于 2012-09-26T23:06:45.887 回答
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"/>
于 2012-09-26T23:49:59.160 回答