XSLT 1.0中的变量转换为变量



我有任何参数

<xsl:param name='param_1'/>
<xsl:param name='param_2'/>
...
<xsl:param name='param_100'/>

以及id为'1'、id为'2'的项的任何模板。。。id="100">

<xsl:template match='item[@id="1"]'>
<xsl:value-of select='$param_1'/>
</xsl:template>
<xsl:template match='item[@id="2"]'>
<xsl:value-of select='$param_1'/>
</xsl:template>
...
...
<xsl:template match='item[@id="100"]'>
<xsl:value-of select='$param_100'/>
</xsl:template>

如何将项目组合到一个模板中?

类似这样的东西:

<xsl:template match='item[@id="1" or @id="2" or @id="100"]'>
<xsl:variable name='id' select='@id'/>
<xsl:value-of select='$param_$id'/>
</xsl:template>

xsl:choot not good,items和params非常多。

与其传入100个参数,不如传入一个具有内部结构的参数:

<params>
<param nr="1" value="x"/>
<param nr="2" value="y"/>
..
</params>

那么它就是

<xsl:template match="item[@id >= 1 and 100 >= @id]">
<xsl:value-of select="$params//param[@nr=current()/@id]"/>
</xsl:template>

相关内容

  • 没有找到相关文章

最新更新