Я сталкиваюсь с этим требованием для группировки в xslt 2.0.В последнее время я занимался некоторыми базовыми xslt с применением шаблонов применений, преобразования идентификаторов, и сейчас это мой немного более сложный случай.
Я был бы очень признателен за вводимые данные.
Вот мой входной XML:
<root>
<worker>
<change1>
<date_of_change>date1</date_of_change>
<field1>field1</field1>
<field2>field2</field2>
<field4>field4</field4>
</change1>
<change2>
<date_of_change>date1</date_of_change>
<field1>field1</field1>
<field2>field2</field2>
<field3>field3</field3>
</change2>
<change3>
<date_of_change>date2</date_of_change>
<field2>field2</field2>
<field3>field3</field3>
<field4>field4</field4>
</change3>
</worker>
<worker>
<change1>
<date_of_change>date1</date_of_change>
<field1>field1</field1>
<field2>field2</field2>
<field3>field3</field3>
</change1>
<change2>
<date_of_change>date2</date_of_change>
<field1>field1</field1>
<field3>field3</field3>
</change2>
<change3>
<date_of_change>date2</date_of_change>
<field3>field3</field3>
<field4>field4</field4>
</change3>
</worker>
</root>
Вот ожидаемый выходной XML:
<root>
<worker>
<row1>
<date_of_change>date1</date_of_change>
<field1>field1</field1>
<field2>field2</field2>
<field3>field3</field3>
<field4>field4</field4>
</row1>
<row2>
<date_of_change>date2</date_of_change>
<field2>field2</field2>
<field3>field3</field3>
<field4>field4</field4>
</row2>
</worker>
<worker>
<row1>
<date_of_change>date1</date_of_change>
<field1>field1</field1>
<field2>field2</field2>
<field3>field3</field3>
</row1>
<row2>
<date_of_change>date2</date_of_change>
<field1>field1</field1>
<field3>field3</field3>
<field4>field4</field4>
</row2>
</worker>
</root>
Требуется, чтобы у работника было несколько изменений, произошедших в одной и той же дате date_of_change, тогда его необходимо сгруппировать в одну строку со всеми доступными полями из этих множественных изменений.