Такая вот возникла проблема. Есть набор объектов, каждый из них может принадлежать к одной или нескольким категориям. Категории иерархические. Заранее набор категорий неизвестен.
Т.е. имеется что-то вроде
<objects>
<obj name='o1'>
<category name='a.b.c'/>
<category name='d'/>
</obj>
<obj name='o2'>
<category name='d.e.f'/>
<category name='a'/>
</obj>
<obj name='o3'>
<category name='a.b.d'/>
<category name='x.y'/>
</obj>
</objects>
А хотелось бы получить
<categories>
<c name='a'>
<c name='b'>
<c name='c'>
<obj name='o1'/>
</c>
<c name='d'>
<obj name='o3'/>
</c>
</c>
<obj name='o2'/>
</c>
<c name='d'>
<c name='e'>
<c name='f'>
<obj name='o2'/>
</c>
</c>
<obj name='o1'/>
</c>
<c name='x'>
<c name='y'>
<obj name='o3'/>
</c>
</c>
</categories>
Кто может подкинуть идею?