输入XML:
<Root>
<NodeElement>
<Element1>44</Element1>
<Element2>472</Element2>
<Element3>A1.PDF</Element3>
</NodeElement>
<NodeElement>
<Element1>45</Element1>
<Element2>472</Element2>
<Element3>A1.PDF</Element3>
</NodeElement>
<NodeElement>
<Element1>1318</Element1>
<Element2>345</Element2>
<Element3>B1.PDF</Element3>
</NodeElement>
<NodeElement>
<Element1>1319</Element1>
<Element2>345</Element2>
<Element3>C1.PDF</Element3>
</NodeElement>
..
..
..
</Root>
输出要求:
<Docs>
<Doc>
<Name> A1.PDF</Name>
<Units>
<Unit>
<Element1>44</Element1>
<Element2>472</Element2>
</Unit>
<Unit>
<Element1>45</Element1>
<Element2>472</Element2>
</Unit>
</Units>
</Doc>
<Doc>
<Name> B1.PDF</Name>
<Units>
<Unit>
<Element1>1318</Element1>
<Element2>345</Element2>
</Unit>
</Units>
</Doc>
<Doc>
<Name> C1.PDF</Name>
<Units>
<Unit>
<Element1>1319</Element1>
<Element2>345</Element2>
</Unit>
</Units>
</Doc>
..
..
..
</Docs>
如果我发现元素具有相同的值,我需要合并元素。如上所述,我需要创建Doc元素并向其添加带有值的元素。我需要帮助,如何用xslt实现这一点。
Muenchian方法论即使用xsl:key函数解决了我的问题。