我有1989
xml
我想重命名根<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://url..." name="nameOfApp">
<test> asd </test>
</application>
属性,所以它是这样的:
name
注意它现在是<application xmlns="http://url..." name="newName">
这是我的newName
xsl
第一部分只是身份转换,但后来我尝试更改<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:t="http://url...">
<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="application/@name">
<xsl:attribute name="name">
<xsl:value-of select="newName"/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
属性值,但它不起作用。
我在SE上尝试了其他来源,但是他们都将name属性称为标签的名称&#34;我有不同的东西。我究竟做错了什么?之后的结果保持不变
答案 0 :(得分:1)
你非常接近。您的匹配器中只有两个小问题。
t:
的名称空间 application
'newName'
这是一个固定版本
<xsl:template match="t:application/@name">
<xsl:attribute name="name">
<xsl:value-of select="'newName'"/>
</xsl:attribute>
</xsl:template>