parser

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

 

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

Рассуждения на тему

Rafael 14.06.2006 10:20

Около года-полутора назад я тоже пошел по этому пути. Я искал более-менее нормальный, удобный способ унифицировать код/движок сайта. Народ всюду на форумах кричал, что XML+XSL удобный, и по сути, единственно разумный выход.

Чтож, начал я изучать XML+XSL, однако, работу нужно было делать срочно, да и обуздала элементарная человеческая лень. Просматривая чужие движки, я обратил внимание, что некоторые, наряду с XML+XSL (далее X/L) преобразование часто «сует» «дизайн» прямо в код движка. В частности, в движке у Egr-ва, хоть он и построен на X/L есть классы шаблоны, в которых «валяется» HML-код.

Вообщем, сваял я сайт. При этом, однако, я особо не отделял «шаблоны» от кода в отдельные классы, а лишь делал для них отдельныепроцедуры.

Однако через некоторое время заказчику «захотелось модернизации»… Техническое задание, по неопытности, было сформулировано местами очень расплывчито… вообщем, пришлось мне «лезть в код», который я успел позабыть и подстраивать его под новые требования. Кроме того, возник новый заказ, в котором часть «фишек» пересекалось с текущим заказом… потом еще один.

В попытке работы с тремя заказами параллельно и стараясь добиться какой-то «универсальности» я тем не менее пришел к ситуации, когда у меня оказалось три версии файлов классов для навигации, вопросника и чегото-там-еще. И каждую «версию» класса необходимо было развивать параллельно.



когда у меня появился еще один заказ, мне пришлось взять месяц «отгула», и подучить получше X/L.

В результате, у меня получилась более/менее (на текущий момент, вполне меня и других устраивающая истема), состоящаа из:
- универсальных классов, каждый из которых оперирует исключительно XML данными;
- универсальных SQL-таблиц
- системы XSL-шаблонов, которые индивидуальны для каждого сайта.
- … двух строк кода, которые «скрещивают» X/L
На настоящий момент я поддерживаю и развиваю три сайта. При этом занимаюсь только изменением классов Parser. XSL-шаблоны, в основном остаются для каждого сайта неизменными.

… хотя, в принципе, если повторить XSL-систему на Parser-е, и сделать ее независимой (абсолютно) от основного кода, то в принципе возможно добиться нормальной универсальности, однако, как показывает практика:
- проще найти/обучить человека чисто под X/L
- проще создавать модули, использующие стандартный формат XML для взаимодействия друг с другом
- если понадобится переводить данные в другой формат:
- RDF
- Excel
- Картинка
то понадобится только другой XSL-шаблон.