parser

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

 

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

Ответ

Rafael 07.07.2006 10:43

Делать его плоским, или древовидным? В любом случае его потом XSLT'ить... Только ведь древовидный преобразовывать быстрее?
проще и удобнее. Главное, понтнее его читать, при отладке.

Хотя, здесь есть один тонкий момент...
Представим такую ситуацию:
вам нужно выбрать не все элементы metro, а только часть. Соответственно, вложенные элементы building и др. тоже будут не все.

Если делать все отдельными процедурами выборки, то к базе будет 3 (или сколько там таблиц) последовательных запроса вида:
SELECT
	id,
	...
FROM
	metro
WHERE
	id IN (....)
Если делать вложенными запросами - их будут целая куча.

Однако, делать промежуточное преобразование тоже IMHO не выход.

Есть, конечно вариант формирования конечного дерева с помощью сирии вложенных выборок-запросов из уже сформированных плоских таблиц
^таблица.select(критерий_отбора)
....

Хотя, никто не мешает сделать оба варианта по выбору пользователя. Как показывает практика, пока не "погоняешь" код пару дней не разберешься нравиться он или нет...