我想转换一个 XML 文档。源 XML 如下所示:
<svc:ElementList>
<svc:Element>
<Year>2007</Year>
</svc:Element>
<svc:Element>
<Year>2006</Year>
</svc:Element>
<svc:Element>
<Year>2005</Year>
</svc:Element>
</svc:ElementList>
我想把它变成:
<ElementList>
<NewTag2007/>
<NewTag2006/>
<NewTag2005/>
</ElementList>
以下代码行不起作用:
<xsl:element name="{concat('NewTag',Element/Year)}"/>
输出是一系列如下所示的元素:<NewTag >。(没有空格...)
"//Element/Year"、"./Element/Year"和"//svc:Element/Year"也不起作用。一个复杂的问题是“Element”标签位于“svc”命名空间中,而“Year”标签位于默认命名空间中。
所以无论如何,我是面临命名空间问题还是我误用了“concat()”函数?