Иерархическая группировка
От: conraddk Россия  
Дата: 14.02.03 08:17
Оценка:
Такая вот возникла проблема. Есть набор объектов, каждый из них может принадлежать к одной или нескольким категориям. Категории иерархические. Заранее набор категорий неизвестен.

Т.е. имеется что-то вроде

<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>


Кто может подкинуть идею?
Все на свете должно происходить медленно и неправильно...
Re: Иерархическая группировка
От: dmile Россия  
Дата: 14.02.03 08:32
Оценка:
C>Такая вот возникла проблема. Есть набор объектов, каждый из них может принадлежать к одной или нескольким категориям. Категории иерархические. Заранее набор категорий неизвестен.
C>Кто может подкинуть идею?

Можно завести список объектов в отдельном xml-файле, а при компоновке их по категориям использовать xslt-преобразование, включающее объект в одну или несколько категорий. Аналог директивы #include в общем.

Пример кода для saxon и для msxml4 есть здесь
Автор: dmile
Дата: 28.10.02
. Директива включения выглядит так:
<include href="...file..." select="...что из файла вставляем..."/>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.