在下面的代码中,我想了解这里的“$ type”是什么以及如何使用它。
如何使用“$ type”应用此if条件。
<xsl:template name="CodValue">
<xsl:param name="type"/>
<xsl:param name="nodeNM">category</xsl:param>
<xsl:element name="{$nodeNM}">
<xsl:if test="$type">
<xsl:attribute name="xsi:type">
<xsl:value-of select="$type"/>
</xsl:attribute>
</xsl:if>
</xsl:element>
</xsl:template>
答案 0 :(得分:0)
对于此模板,您需要一个参数,另一个是可选的nodeNM
。您可以像这样调用参数:
<xsl:call-template name="CodValue">
<xsl:with-param name="type" select="123" />
</xsl:call-template>
或
<xsl:call-template name="CodValue">
<xsl:with-param name="type">123</xsl:with-param>
</xsl:call-template>
type是CodValue
中的变量,因此您可以通过
<xsl:value-of select="$type" />
或通过属性中的{$type}
。
建议:
所以如果你打电话
<xsl:call-template name="CodValue">
<xsl:with-param name="type" select="123" />
</xsl:call-template>
您的XML将转换为
<category xsi:type="123" />
答案 1 :(得分:0)
$
用于引用XPath表达式中的变量。
在这种特殊情况下,$type
先前声明了<xsl:param name="type"/>
。但是,它没有给出值,因此在调用模板时需要使用<xsl:with-param>
,以便您可以提供值。
n.b。变量$nodeNM
被赋予了默认值,因此您无需在调用模板时指定它。