我的xml文件如下所示.
<rule>
<name>86</name>
<ruleId>100</ruleId>
<ruleVersion>1.0</ruleVersion>
<brlVersion>1.0</brlVersion>
</rule>
Run Code Online (Sandbox Code Playgroud)
我需要用brlName替换name,我需要添加另一个标签作为drlName.输出应如下所示.
<rule>
<brlName>86</brlName>
<ruleId>100</ruleId>
<ruleVersion>1.0</ruleVersion>
<brlVersion>1.0</brlVersion>
<drlName>86_1.0</drlName>
</rule>
Run Code Online (Sandbox Code Playgroud)
请帮助我使用相应的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>
Run Code Online (Sandbox Code Playgroud)