XSLT 内の XML ファイルを読み取り、そのノードを確認したいと考えています。変換を適用する XML ノードの値と一致する場合は、XML ノードの値を取得し、それを使用して新しい XML 構造を構築します。
これは私の問題を説明するための例です。多くの人がこの質問を参考にして、同様の機能を実現できると思います。
Referenced.xml
<xml>
<root>
<Id id = "1">
<fields>
<field>
<name> Name1 </name>
<value> Val1 </value>
</field>
<field>
<name> Name2 </name>
<value> Val2 </value>
</field>
</fields>
</Id>
<Id id = "2">
...
</Id>
</root>
</xml>
Xml.xml
<XML>
<Fields>
<Id id = "1">
<F1> Value1 </F1>
<F2> Value2 </F2>
<F1> Value3 </F1>
<F4> Value4 </F4>
</Id>
</Fields>
</XML>
ここで、XML ファイル ( ) を反復処理する変換を作成しReferenced.xml
、両方の xml 内の ID が一致する場所を確認し、次にその ID 内の場所を確認し、そのName1 = F1
場所にある場合は、その「名前」の「値」を取得して作成しますのような XML 構造
<outputXml>
<Field id="Val1">
<val> Value1 </val>
</Field>
<Field id="Val2">
<val> Value2 </val>
</Field> ... and so on
</outputXml>
document()を使用する必要があることはわかっていますReferenced.xml
が、必要な機能を実現するために、内部の xsl をどのように反復処理し、if、else を使用するのかわかりません。