我有一个 xml,我需要使用 xslt 2.0 对其进行转换以提供不同的输出 xml。输出 xml 需要在输出 xml 字符串中包含 XSLT 变量的值。但是 XSLT 变量值没有被拾取。
高度赞赏帮助。提前致谢。
输入xml:`
`<additionalParams>
<qryParam name = "rank" value = "300"/>
<qryParam name = "id" value = "id1"/>
<qryParam name = "max" value= "max1"/>
</additionalParams>
预期的输出 xml:
<additionalParameter name="rank" type="text">
<value>"300"</value>
</additionalParameter>
<additionalParameter name="id" type="text">
<value>"id1"</value>
</additionalParameter>
<additionalParameter name="max" type="text">
<value>"max1"</value>
</additionalParameter>
当前 XSLT:
<xsl:for-each select="./additionalParams/qryParam">
<xsl:variable name = "elmtName" select="@name"/>
<xsl:variable name = "elmtValue" xsl:value-of select="@value"/>
<additionalParameter name="$elmtName" type="text">
<value>"$elmtValue"</value>
</additionalParameter>
</xsl:for-each>
转换后的当前结果 xml - 它没有获取变量值。
<otherQueryParameters>
<additionalParameter name="$elmtName" type="text">
<value>"$elmtValue"</value>
</additionalParameter>
<additionalParameter name="$elmtName" type="text">
<value>"$elmtValue"</value>
</additionalParameter>
<additionalParameter name="$elmtName" type="text">
<value>"$elmtValue"</value>
</additionalParameter>
</otherQueryParameters>