使用xsl模板参数作为select中的节点(即元素的值)

时间:2012-07-25 16:48:30

标签: xml xslt xpath xslt-1.0

想象一下你有一个xml文件:

<dictionary>
    <row>
        <table>log</table>
        <entity>Log</entity>
    </row>

    <row>
        <table>mail_macros</table>
        <entity>MailMacro</entity>
    </row>
</dictionary>

并且您想编写一个通用模板来从行中获取元素:

<xsl:template name="row">
    <xsl:param name="pElement" />
    <xsl:value-of select="./dictionary/row/$pElement />
</xsl:template>

因此,当我将pElement设置为字符串'table'的模板调用时,它返回表值等。

是否可以在xslt 1.0中编写这样的表达式?因为这个不起作用。

1 个答案:

答案 0 :(得分:3)

XPATH表达式不起作用。你需要......

 <xsl:value-of select="./dictionary/row/*[local-name()=$pElement] />

买者

假设您没有使用名称空间。如果不是,请告诉我们。