XSLT スタイルシートを使用して 1 つの XML ドキュメントを別の XML 形式に変換する新しいプロジェクトが割り当てられました。
過去 4 時間、StackOverflow やその他のオンラインのアーカイブを調べて、目的の結果を達成する方法を見つけようとしましたが、正しい方向を示すものは何も見つかりませんでした。
元のドキュメント形式は次のとおりです。
<?xml version="1.0"?>
<PODOrderSheet_Main>
<estimate>
<customer>LINFNC</customer>
<jobType>5020</jobType>
<JobParts>
<JobPart>
<jobPart>01</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>01</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
</JobParts>
</estimate>
<estimate>
<customer>LINFNC</customer>
<jobType>5020</jobType>
<JobParts>
<JobPart>
<jobPart>01</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>01</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
</JobParts>
</estimate>
<estimate>
<customer>LINFNC</customer>
<jobType>5020</jobType>
<JobParts>
<JobPart>
<jobPart>01</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>01</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
</JobParts>
</estimate>
</PODOrderSheet_Main>
そして、これがどのように見える必要があるかです:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE estimate>
<estimate>
<customer>LINFNC</customer>
<jobType>5020</jobType>
<JobParts>
<JobPart>
<jobPart>01</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>01</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
<JobPart>
<jobPart>02</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>02</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
<JobPart>
<jobPart>03</jobPart>
<contactNum/>
<JobNotes>
<JobNote>
<department>001</department>
<jobPart>03</jobPart>
<note><![CDATA[Rush Order]]></note>
</JobNote>
</JobNotes>
</JobPart>
</JobParts>
</estimate>
すべての要素を問題なくコピーできます。私が立ち往生しているのは、customer
and要素の最初の出現だけが必要ですが、複数のブロックからjobType
含まれているすべての要素に、要素に収まる順序で正しく番号が付けられていることです。JobParts
estimate
jobPart
私は自分でどこにも行けないので、誰かがこのプロジェクトで正しい方向に私を向けることができれば、私は非常に感謝しています.