Я хочу преобразовать 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> . (Без пробелов...)
"//Элемент/Год" , "./Элемент/Год" и "//svc: Элемент/Год" не работают. Одним из осложнений является то, что тег "Элемент" находится в пространстве имен "svc", в то время как тег "Год" находится в пространстве имен по умолчанию.
Так или иначе, я столкнулся с проблемой пространства имен или неправильно использую функцию concat()?