Вобщем вопросец:
Есть такой фрагмент:
<storage id="2">
Энергетиков склад
<product id="1">
Товары
<product id="2">
Товары оптовые
<product id="4">
Товар 1
<doc id="505" date="2002-12-21T18:30:58" finalElement="1">
<num>1</num>
<nums quantity="1.000" summa="1.00" finalElement="1"/>
</doc>
</product>
</product>
</product>
<product id="1">
Товары
<product id="3">
Товары розничные
<product id="5">
Товар 3
<doc id="505" date="2002-12-21T18:30:58" finalElement="1">
<num>1</num>
<nums quantity="3.000" summa="9.00" finalElement="1"/>
</doc>
</product>
</product>
</product>
</storage>
Как видно иерархия товаров следующая:
Товары -> Товары оптовые -> Товар 1
и
Товары -> Товары розничные -> Товар 3
Общее звено: "Товары"
Вот мне нужен XSLT, который преобразует данную иерархию в следующую:
<storage id="2">
Энергетиков склад
<product id="1">
Товары
<product id="2">
Товары оптовые
<product id="4">
Товар 1
<doc id="505" date="2002-12-21T18:30:58" finalElement="1">
<num>1</num>
<nums quantity="1.000" summa="1.00" finalElement="1"/>
</doc>
</product>
</product>
<product id="3">
Товары розничные
<product id="5">
Товар 3
<doc id="505" date="2002-12-21T18:30:58" finalElement="1">
<num>1</num>
<nums quantity="3.000" summa="9.00" finalElement="1"/>
</doc>
</product>
</product>
</product>
</storage>
Ну, соответственно, если бы было, допустим:
Товары -> Товары оптовые -> Товар 1
и
Товары -> Товары оптовые -> Товар 2
то надо было бы:
<storage id="2">
Энергетиков склад
<product id="1">
Товары
<product id="2">
Товары оптовые
<product id="4">
Товар 1
<doc id="505" date="2002-12-21T18:30:58" finalElement="1">
<num>1</num>
<nums quantity="1.000" summa="1.00" finalElement="1"/>
</doc>
</product>
<product id="5">
Товар 2
<doc id="505" date="2002-12-21T18:30:58" finalElement="1">
<num>3</num>
<nums quantity="3.000" summa="9.00" finalElement="1"/>
</doc>
</product>
</product>
</product>
</storage>