我需要为以下标记创建xsl:
<role roletype="Learner">
学习者被保存在一个标有$ wsRole的变量中。
此代码无效:
<xsl:variable name="fullWsRole">
<xsl:value-of select="concat('"', $wsRole,'"')"/>
</xsl:variable>
<role roletype="{$fullWsRole}">
</role>
如何创建节点
<role roletype="Learner"> ?
答案 0 :(得分:2)
以下是如何执行此操作:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:variable name="fullWsRole" select="'Learner'"/>
<xsl:template match="/">
<role roletype="{$fullWsRole}"/>
</xsl:template>
</xsl:stylesheet>
当对任何XML文档(未使用)应用此转换时,会生成所需的正确结果:
<role roletype="Learner"/>
解释:使用 AVT (属性值模板)
答案 1 :(得分:1)
假设变量$wsRole
包含Learner
<xsl:variable name="wsRole">Learner</xsl:variable>
,预期结果是
<role roletype="Learner"></role>
只需使用:
<role roletype="{$wsRole}"></role>