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"も機能しません。複雑な点の 1 つは、「Element」タグが「svc」名前空間にあり、「Year」タグがデフォルトの名前空間にあることです。
とにかく、私は名前空間の問題に直面していますか、それとも「concat()」関数を誤って使用していますか?