我正在尝试做一些看起来应该很简单的事情,但我无法让它发挥作用,而且我似乎找不到任何不涉及很多不相关事情的例子。我想将特定 xml 标记的文本内容更新为特定值(作为参数传入,此 XSLT 将从 ant 中使用)。一个简单的例子:
我想变身
<foo>
<bar>
baz
</bar>
</foo>
到
<foo>
<bar>
something different
</bar>
</foo>
这是我尝试过的样式表,它只产生标签,根本没有文字
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- identity transformation, to keep everything unchanged except for the stuff we want to change -->
<!-- Whenever you match any node or any attribute -->
<xsl:template match="node()|@*">
<!-- Copy the current node -->
<xsl:copy>
<!-- Including any attributes it has and any child nodes -->
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!-- change the text of the bar node, in the real template the value won't be specified inline -->
<xsl:template match="/foo/bar/">
<xsl:param name="baz" value="something different"/>
<xsl:value-of select="$baz"/>
</xsl:template>
</xsl:stylesheet>
提前致谢!