Запрос вашей помощи для преобразования XML с использованием XSLT 2
Мой входной XML выглядит следующим образом.
<?xml version="1.0" encoding="UTF-8"?>
<Workers>
<Worker>
<Batch_number>1234</Batch_number>
<Name>David</Name>
<Assignment>
<type>A</type>
<name>New York</name>
</Assignment>
</Worker>
<Worker>
<Batch_number>1234</Batch_number>
<Name>David</Name>
<Assignment>
<type>B</type>
<name>Boston</name>
</Assignment>
</Worker>
<Worker>
<Batch_number>1234</Batch_number>
<Name>David</Name>
<Assignment>
<type>C</type>
<name>Chicago</name>
</Assignment>
</Worker>
<Worker>
<Batch_number>78698</Batch_number>
<Name>Karen</Name>
<Assignment>
<type>C</type>
<name>Chicago</name>
</Assignment>
</Worker>
</Workers>
Желаемый вывод выглядит следующим образом.
<?xml version="1.0" encoding="UTF-8"?>
<Worker>
<Batch_number>1234</Batch_number>
<Name>David</Name>
<Assignment>
<type>A</type>
<name>New York</name>
</Assignment>
<Assignment>
<type>B</type>
<name>Boston</name>
</Assignment>
<Assignment>
<type>C</type>
<name>Chicago</name>
</Assignment>
</Worker>
<Worker>
<Batch_number>78698</Batch_number>
<Name>Karen</Name>
<Assignment>
<type>C</type>
<name>Chicago</name>
</Assignment>
</Worker>
Условие для преобразования:
Если дочерний узел <Worker>
с таким же <Batch_number>
существует во входном файлевсе Assignment
узлы для одного и того же <Batch_number>
должны быть сгруппированы под одним Worker
дочерним узлом сразу после <Batch_number>
и <Name>
Может кто-нибудь помочь мне написать правильный код, чтобы добиться этого, пожалуйста?
-Спасибо Anoop