スポンサーリンク

[XSLT] xmlのデータをそのままコピーしてから要素追加・削除をする


xmlのデータをそのままコピーしてから要素追加・削除をする

下記にて、xmlのデータをそのまま取得してきたものに対し、要素の追加や削除をしていく。

サンプルコード

XML

XSLT

変換結果

 

解説

要素削除

ここで、root/headの内容を書き換えている。
headのtitle要素を消し、すべての要素がhead要素内から消えたので、<head />としてタグをきれいにした。

要素追加

itemの項目を一つ増やそうと、item要素を追加している。
root/dataの内容をコピーして持ってきて、末尾にitem要素を追加している。

要素は追加できたが、下記のようにインデント部分が調整できていない。

テンプレートのノードをitemの最後の位置で呼び出して要素を追加する方法を試してみた。

</data>のインデントは改善したが、追加した要素のインデントが上手くいかない。
新規に末尾に追加すると、どの程度のインデントが必要なのかの情報がないのが上手くいかない理由かと。

<xsl:text>で無理やりインデントを作れば何とか整えられる。

 

XSLT
スポンサーリンク
シェアする
trelab