Я уже спрашивал здесь что-то подобное относительно того же файла (XML - объединить теги с детьми с XSLT). К сожалению, мой XML вырос, поэтому мне снова нужна ваша помощь, пожалуйста.
<?xml version="1.0"?>
<ROWSET>
<ROW>
<KUNDENNR>63564</KUNDENNR>
<JAHR>2012</JAHR>
<MONAT>2</MONAT>
<NAME>John Doe</NAME>
<NETTO>504,66</NETTO>
<DB_BASIS>21,56</DB_BASIS>
<EKECHT>482,56</EKECHT>
<NAME1>Some Name</NAME1>
<NAME2>BA 31 (BÜRO GGR 1)</NAME2>
<LAND>AT</LAND>
<PLZ>1082</PLZ>
<ORT>Wien</ORT>
<ADM>Henry Ford</ADM>
<KUNDENKLASSE>A</KUNDENKLASSE>
<UEBERKUNDE>Some Value</UEBERKUNDE>
<HANDLING>22,577179011</HANDLING>
<SOLLFRACHT>22,68</SOLLFRACHT>
<DG_BASIS_P>-10,763888888888888888888888888888888889</DG_BASIS_P>
</ROW>
<ROW>
<KUNDENNR>63564</KUNDENNR>
<JAHR>2011</JAHR>
<MONAT>1</MONAT>
<NAME>John Doe</NAME>
<NETTO>502,66</NETTO>
<DB_BASIS>21,56</DB_BASIS>
<EKECHT>482,56</EKECHT>
<NAME1>Some Name</NAME1>
<NAME2>BA 31 (BÜRO GGR 1)</NAME2>
<LAND>AT</LAND>
<PLZ>1082</PLZ>
<ORT>Wien</ORT>
<ADM>Henry Ford</ADM>
<KUNDENKLASSE>A</KUNDENKLASSE>
<UEBERKUNDE>Some value</UEBERKUNDE>
<HANDLING>22,577179011</HANDLING>
<SOLLFRACHT>22,68</SOLLFRACHT>
<DG_BASIS_P>-10,538888888888888888889</DG_BASIS_P>
<HGID>342</HGID>
<HGNAME>Some product name</HGNAME>
</ROW>
<ROW>
<KUNDENNR>63564</KUNDENNR>
<JAHR>2011</JAHR>
<MONAT>1</MONAT>
<NAME>John Doe</NAME>
<NETTO>217,66</NETTO>
<DB_BASIS>21,56</DB_BASIS>
<EKECHT>482,56</EKECHT>
<NAME1>Some Name</NAME1>
<NAME2>BA 31 (BÜRO GGR 1)</NAME2>
<LAND>AT</LAND>
<PLZ>1082</PLZ>
<ORT>Wien</ORT>
<ADM>Henry Ford</ADM>
<KUNDENKLASSE>A</KUNDENKLASSE>
<UEBERKUNDE>Some value</UEBERKUNDE>
<HANDLING>22,577179011</HANDLING>
<SOLLFRACHT>22,68</SOLLFRACHT>
<DG_BASIS_P>-10,538888888888888888889</DG_BASIS_P>
<HGID>342</HGID>
<HGNAME>Some product name</HGNAME>
</ROW>
</ROWSET>
Поля HGID и HGNAME были добавлены, и окончательный вывод XML должен выглядеть следующим образом:
<?xml version="1.0"?>
<ROWSET>
<KUNDE>
<KUNDENNR>63564</KUNDENNR>
<NAME>John Doe</NAME>
<NAME1>Some Name</NAME1>
<NAME2>BA 31 (B RO GGR 1)</NAME2>
<LAND>AT</LAND>
<PLZ>1082</PLZ>
<ORT>Wien</ORT>
<ADM>Henry Ford</ADM>
<KUNDENKLASSE>A</KUNDENKLASSE>
<UEBERKUNDE>Some Value</UEBERKUNDE>
<ROW>
<JAHR>2012</JAHR>
<MONAT>2</MONAT>
<DB_BASIS>21,56</DB_BASIS>
<EKECHT>482,56</EKECHT>
<HANDLING>22,577179011</HANDLING>
<SOLLFRACHT>22,68</SOLLFRACHT>
<DG_BASIS_P>4,27218325209051638727063765703642056038</DG_BASIS_P>
<WGROUPITEM>
<HGID>125</HGID>
<HGNAME>Another product name</HGNAME>
<NETTO>504,66</NETTO>
</WGROUPITEM>
</ROW>
<ROW>
<JAHR>2012</JAHR>
<MONAT>1</MONAT>
<NETTO>502,66</NETTO>
<DB_BASIS>21,56</DB_BASIS>
<EKECHT>482,56</EKECHT>
<HANDLING>22,577179011</HANDLING>
<SOLLFRACHT>22,68</SOLLFRACHT>
<DG_BASIS_P>-10,538888888888888888889</DG_BASIS_P>
<WGROUPITEM>
<HGID>359</HGID>
<HGNAME>Some other product name</HGNAME>
<NETTO>502,66</NETTO>
</WGROUPITEM>
<WGROUPITEM>
<HGID>342</HGID>
<HGNAME>Some product name</HGNAME>
<NETTO>217,66</NETTO>
</WGROUPITEM>
</ROW>
</KUNDE>
</ROWSET>
Итак, в основном мне нужно сгруппировать эти поля HGNAME, HGID и NETTO по MONAT и JAHR (месяц и год). Я попытался изменить этот файл XSL из предыдущего сообщения, но мне не повезло. У меня была проблема, что я не мог узнать, как правильно сгруппировать по MONAT и JAHR, я всегда получал либо все записи, либо ничего :-(.
РЕДАКТИРОВАТЬ: Кроме того, я хотел бы найти похожие записи UEBERKUNDE и сгруппировать их как родителя, чтобы это выглядело как
<ROWSET>
<UEBERKUNDE>
<NAME>Some value</NAME>
<KUNDE>
<KUNDENNR>63564</KUNDENNR>
.......
</KUNDE>
</UEBERKUNDE>
It would be awesome if somebody could help me with that.
Заранее спасибо.