parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

IfesDjeen 11.08.2006 20:17

Hexley...
не знаю что вообще может быть сложного в такой примитивной задаче... на выходе xml или не xml вообще не имеет никакого значения. все оч просто. создаешь бд:
таблицы:
категории:
cat_id (+), cat_name
элементы:
elt_id (+), elt_name, elt_parent
где парент это id категории, для которой этот элемент яляется дочерним.
ну и так далее...
если нужна неограниченная вложенность, единственный метод - использовать masterkey. тоесть указывать в индексе дочернего элемента родительский элемент. я форум недавно древовидный так рисовал. потом проходишь рекурсивно от корневых элементов, у которых индекс будет 0 до последних, которые ты уже сам выбираешь, у которых нет дочерних элементов.
чтобы сделать неограниченное число аттрибутов айтема, сделай таблицу аттрибутов, в ней, по той же схеме - как foreign key используй parent_id, который связан с табл. items, и обозначает номер item'a для которого ты определяешь аттрибуты. далее- номер аттрибута, название аттрибута, значение аттрибута. даже рекурсия не нужна. просто цикл while или until. не знаю на чем ты программишь.
когда в хмл выводишь, используй те же рекурсии...
лучше всего - взять почитать теорию баз данных :) разобраться что такое foreign key, сколько нормальных форм бд существует и для чего каждая используется...
если не разберешься по описанию, кину мой исходник. или на емайл пиши...
зы. непонятно почему вопрос только Мише адресован... вродь не так сложно ответить :)