私のプロジェクトの1つに、GUI用のプロットを生成するテンプレートを含むXMLファイルがあります。ユーザーは独自のXMLテンプレートを作成し、現在のロード・データに適用することができます。 XSLTを使用したデータ駆動型XML生成
<?xml version="1.0" encoding="utf-8"?>
<Templates>
<Template name="template">
<PlotWindow name="PlotWindow">
<Title>My title</Title>
<For>
<Var>%Variable%</Var>
<Plot name="%Variable%">
<Item>f(%Variable%)</Item>
</Plot>
</For>
</PlotWindow>
</Template>
</Templates>
For
-tag
%Variable%
に含まれるすべてのデータに置き換える必要があります:
単純化されたXMLテンプレートファイルは次のようになります。データ自体は、2番目のXMLファイルで定義されます。
<?xml version="1.0" encoding="utf-8"?>
<Data>
<Var name="%Variable%">
<Item>Test</Item>
<Item>MyVar</Item>
<Item>ABC</Item>
</Var>
</Data>
%Variable%
はTest
、MyVar
とABC
を通して反復されるべきです。目的の出力は、次の3番目のXMLファイルである必要があります。
<?xml version="1.0" encoding="utf-8"?>
<Result>
<PlotWindow name="PlotWindow">
<Title>My title</Title>
<Plot name="Test">
<Item>f(Test)</Item>
</Plot>
<Plot name="MyVar">
<Item>f(MyVar)</Item>
</Plot>
<Plot name="ABC">
<Item>f(ABC)</Item>
</Plot>
</PlotWindow>
</Result>
何らかの種類のXSLTファイルでこのような結果を得ることは可能です。
このファイルの内容は?
あなたが知っているように、お勧めはあまりにも話題に近いですし、誰もあなたのためにそれを構築することによって "xsltがどのように見えるか"を示すことはありませんが、IMHOではxsltで可能でなければなりません。 –
このアドバイスをいただきありがとうございます。私の質問の最後の部分を削除しました。 – Aleph0