私はXML構造を持っており、これをXSLTで変換したいと思います。ただし、できるだけ動的にすることが重要です。フィードのコピーを作成し、特定のセクションを選択してこれを変換することは可能だと思います。新しいノードが元のXMLに追加されると、この新しいノードをXSLTの出力に含めるために、XSLTに変更を加える必要はありません。元のXMLのXMLノードを1つのコンマ区切りノードにマージする
例:
<?xml version="1.0" encoding="UTF-8"?>
<catalog week_id="629" generated_at="15.11.2017 23:53" version="2">
<item>
<lot>
<id>2982641</id>
<title_local><![CDATA[Title]]></title_local>
<sub_title_local>Subtitle</sub_title_local>
<promo>false</promo>
</lot>
<lot_specifics>
<case_material>
<name_local>Materiaal kast</name_local>
<name_en>Case material</name_en>
<slug>s-10-materiaal-kast</slug>
<option>
<value_local>Verguld</value_local>
<value_en>Gold-plated</value_en>
<slug_value>1750-verguld</slug_value>
</option>
<option>
<value_local>Zilver</value_local>
<value_en>Silver</value_en>
<slug_value>1751-silver</slug_value>
</option>
</case_material>
</lot_specifics>
<associations>
<category_id>1</category_id>
<auction_id>2</auction_id>
</associations>
</item>
</catalog>
所望の出力:
<?xml version="1.0" encoding="UTF-8"?>
<catalog week_id="629" generated_at="15.11.2017 23:53" version="2">
<item>
<lot>
<id>2982641</id>
<title_local><![CDATA[Title]]></title_local>
<sub_title_local>Subtitle</sub_title_local>
<promo>false</promo>
</lot>
<lot_specifics>
<case_material>
<name_local>Materiaal kast</name_local>
<name_en>Case material</name_en>
<slug>s-10-materiaal-kast</slug>
<value_local>Verguld,Silver</value_local>
<value_en>Gold-plated,Silver</value_en>
</case_material>
</lot_specifics>
<associations>
<category_id>1</category_id>
<auction_id>2</auction_id>
</associations>
</item>
</catalog>
私はSO question that pretty much does what I'm aiming forに出くわしたが、私は、このXSLTで完全なXML構造を定義する必要があります。後の段階で他のXMLノードを追加する可能性があり、このXSLTはさまざまな場所で使用されるため、できるだけ低メンテナンスにしたいと考えています。
だと思いますが、率直に言って2番目のxsl:template
の仕組みを理解できません。
すべてのお手伝いが大変ありがとうございます。 XSLTが提供されている場合は、あなたが行っていることについてのコメントを追加することができれば幸いです。
実際の質問ではありませんか?[**](https://meta.stackoverflow.com/q/284236/290085) – kjhughes
あなたが試したことを教えてください。これまでのところ? –