плоский список -> дерево
От: _ustas_ Украина  
Дата: 19.12.11 01:31
Оценка:
Есть исходный плоский список:

<list>
  <c>
    <n>c1</n>
    <id>1</id>
  </c>
  <c>
    <n>c2</n>
    <id>1/0/0</id>
  </c>
  <c>
    <n>c3</n>
    <id>1/0</id>
  </c>
  <c>
    <n>c4</n>
    <id>1.2.3.4</id>
  </c>
  <c>
    <n>c5</n>
    <id>1.2.3.4.5.6.8.9</id>
  </c>
  <c>
    <n>c5</n>
    <id>1.2.3.4.5.6.8</id>
  </c>
  <c>
    <n>c6</n>
    <id></id>
  </c>
  <c>
    <n>c7</n>
    <id></id>
  </c>
</list>


Хочется превратить его при помощи xslt в иерархию:

<list>
  <c>
    <n>c6</n>
    <id></id>
  </c>
  <c>
    <n>c7</n>
    <id></id>
  </c>
  <c>
    <n>c1</n>
    <id>1</id>
    <c>
      <n>c3</n>
      <id>1/0</id>
      <c>
        <n>c2</n>
        <id>1/0/0</id>
      </c>
    </c>
  </c>
  <c>
    <n>c4</n>
    <id>1.2.3.4</id>
    <c>
      <n>c5</n>
      <id>1.2.3.4.5.6.8</id>
      <c>
        <n>c5</n>
        <id>1.2.3.4.5.6.8.9</id>
      </c>
    </c>
  </c>
</list>


Нужно найти все цепочки вхождений различных строк друг в друга, чтобы выстроить иерархию.
Ломаю голову уже несколько дней...
плоский список дерево
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.