Ответ 1
Вероятно, существуют проблемы с пространством имен и, возможно, с текущим контекстом. Для источника (с добавлением декларации пространства имен, чтобы сделать его хорошо сформированным xml)
<svc:ElementList xmlns:svc="svc">
<svc:Element>
<Year>2007</Year>
</svc:Element>
<svc:Element>
<Year>2006</Year>
</svc:Element>
<svc:Element>
<Year>2005</Year>
</svc:Element>
</svc:ElementList>
таблица стилей
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:svc="svc"
version="1.0">
<xsl:template match="svc:ElementList">
<xsl:element name="{local-name()}">
<xsl:for-each select="svc:Element">
<xsl:element name="{concat('NewTag', Year)}"/>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
предоставит вам необходимый вам результат. Обратите внимание, что svc:Element
необходимо выбрать с использованием префикса пространства имен и что контекст при создании новых тегов svc:Element
, а не svc:ElementList
.