我的xml文件如下所示.
<rule> <name>86</name> <ruleId>100</ruleId> <ruleVersion>1.0</ruleVersion> <brlVersion>1.0</brlVersion> </rule>
我需要用brlName替换name,我需要添加另一个标签作为drlName.输出应如下所示.
<rule> <brlName>86</brlName> <ruleId>100</ruleId> <ruleVersion>1.0</ruleVersion> <brlVersion>1.0</brlVersion> <drlName>86_1.0</drlName> </rule>
请帮助我使用相应的xsl来获得所需的输出.
感谢您的帮助!
这是身份转换的典型任务(下面转换中的第一个模板规则).只有两个覆盖(最后两个规则).
XSLT 1.0在Saxon 6.5.5下测试
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> <xsl:template match="name"> <brlName><xsl:value-of select="."/></brlName> </xsl:template> <xsl:template match="brlVersion"> <xsl:copy-of select="."/> <drlName><xsl:value-of select="preceding-sibling::name"/>_1.0</drlName> </xsl:template> </xsl:stylesheet>