使用xslt中的select中的参数值

时间:2014-12-31 00:28:47

标签: xml xslt select parameters parameter-passing

我在一个用于转换XML的XSLT文件中有一个名为event的参数,其值为event_val

我想获得<xsl:value-of select="event_val"/>,但结果转换为event_val <TimeCommenced>内的<xsl:param name="event"/><xsl:template match="/"> <Event> <TimeCommenced> <xsl:variable name="time_commenced" select="$event"/> <xsl:value-of select="$time_commenced"/> </TimeCommenced> </Event>

代码如下:

{{1}}

1 个答案:

答案 0 :(得分:3)

参数的内容是字符串,而不是 XPath表达式。如果您有一个名为“param”的参数并且它包含字符串“last_name”,那么指令:

<xsl:value-of select="param"/>

将被评估为:

<xsl:value-of select="'last_name'"/>

导致输出文字字符串“last_name”。

将参数传递给变量没有任何区别,完全是多余的。尝试改为:

<xsl:value-of select="*[local-name() = $param]"/>

如果要获取名为“last_name”的节点的内容。或者(最好是恕我直言)找到一些其他(不太尴尬)的方式来处理这个问题。

相关问题