我坚持这个问题:
我必须输出一个输入标签,而不是输入标签,但要修改。标签名称和第一个属性需要按原样呈现。需要更改第二个属性的值,并且要追加第三个属性(甚至不存在于输入标记中)。
以下是示例:
这是输入元素:
<criterion class="equal" to="'text '"/>
这是我想要在输出上获得的元素:
<criterion class="equal" to="text    " result="{$result}"/>
所以xml文件(输入和输出)中的部分代码是相同的,因此我计划使用这种模式:
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
但是当进程遇到to
属性时,我需要明确定义另一个模式来处理不同的另一部分。像这样:
<xsl:template match="@to">
<!--some staff here I don't know what-->
</xsl:template>
所以^^这些^^只是我头脑中的想法。请帮我解决这个转变。
答案 0 :(得分:1)
一般来说,你会做这样的事情:
<xsl:template match="@to">
<xsl:attribute name="to">
<xsl:value-of select="concat(., '    ')" />
</xsl:attribute>
</xsl:template>
我不确定是否按照字面意思采用你的例子。