これを説明するための適切なドキュメントを探していましたが、成功しませんでした。これは私の問題です:
これが私の要件です
- ルート要素は名前を変更する必要があります (これは完了しています)。
- 要素は、新しい要素に変換する必要があります。
- 第 2 レベルの要素とその残りの属性を削除する必要があります
- 第 3 レベル要素 (第 2 レベル要素内) のすべての属性は、第 2 レベル要素に変換されます。
- 第 3 レベルの要素を削除する必要があります。
現時点の
<list>
<type name="drum" acustic="true" pieces="5" >
<part name="pearl" id="0" version="0" displayOrder="0" customizationLevel="basic" />
<part name="dw" id="1" version="0" displayOrder="0" customizationLevel="basic" />
</type>
<type name="guitar" acustic="true" pieces="1" >
<part name="fender" id="0" version="0" displayOrder="0" customizationLevel="basic" />
</type>
希望
<instrumentList>
<instrument>
<instrumentType>drum</instrumentType>
<instrumentID>0</instrumentID>
<instrumentBrand>pearl</instrumentBrand>
<version>0</version>
<displayOrder>0</displayOrder>
<customizationLevel>basic</customizationLevel>
</instrument>
<intrument>
<instrumentType>drum</instrumentType>
<instrumentID>1</instrumentID>
<instrumentBrand>dw</instrumentBrand>
<version>0</version>
<displayOrder>0</displayOrder>
<customizationLevel>basic</customizationLevel>
</instrument>
<instrument>
<instrumentType>guitar</instrumentType>
<instrumentID>0</instrumentID>
<instrumentBrand>fender</instrumentBrand>
<version>0</version>
<displayOrder>0</displayOrder>
<customizationLevel>basic</customizationLevel>
</instrument>
</instrumentList>
だから私は成功せずに次のチュートリアルとスレッドに従いました スレッド 1 スレッド 2
一部はできますが、全部はできません。ここで、特に要素を削除して新しい要素を作成し、すべてではなくいくつかの属性を使用して、私が理解していないことがあると確信しています。xslt が xml をどのように解析するかを理解できる良いリファレンスを誰かが教えてくれたとしても、私が見つけたすべての例はすべての属性または要素を変換するため、残念ながら私の場合ではありません。
どんな助けでも大歓迎です