Писаренко Алексей выложил Web XSL Engine 0.1, простой движок для динамической генерации страниц сайта на основе XML и XSLT.
WebXSLEngine использует CGI, perl 5.8.0, xmllib, xsllib, jslib. Весь контент хранится в PostgreSQL.
Версия 0.1
Разрабатывался мною (Писаренко А.А. aka alp) для коммерческого проекта. После использовался для написания примитивных приложений для учёта рабочих потуг инженеров в гос. организации, на которую я работаю. Так как движек в организации как программа не регистрировался и был создан в свободное от работы время, то я его решил выложить на люди.
Для работы движка нужен веб-сервер (apache подойдет) с вожможностью запуска CGI скриптов, PostgreSQL 7.3.1 или выше, libxml, libxslt, Perl 5.8.0 или выше, модули для перла (MIME::Base64, XML::LibXML, XML::LibXSLT, CGI::XML, DBI, DBD::Postgres, JavaScript).
В корне лежат два скрипта: show.cgi и admin.cgi. Первый служит для отображения содержимого сайта, второй - для редактирования. Всё содержимое находится в базе данных PostgreSQL и выводится в зависимости от указнного посли скрипта виртуального пути, а так же от параметров, переданных в CGI запросе.
Поиск контента в БД осуществляется с помощью функций, написанных под PLSQL. В последствии я, возможно, адаптирую движек под Oracle, также обладающий подобным внутреним языком программирования.
При запуске show.cgi с виртуальным путём, заканчивающимся слэшем, в базу данных уходит запрос на поиск tpl:main.html и xsl:main.xsl (tpl и xsl - репозитории, необходимые для отделения внутреннего контента - также xml, sql, от контента, выдаваемого наружу:tpl). При нахождении обоих файлов на данном уровне происходит обработка tpl:main.html с помощью xsl:main.xsl и выдача результатов клиенту, если найден только tpl:main.html - выдача контента без обработки (обычно не происходит - xsl:main.xsl берётся корневой в случае отсутствия локального). Иначе - выдача ошибки. При использовании виртуального пути без слэша в конце происходит выдача контента файла.
С помощью admin.cgi происходит создание уровней, файлов, загрузка содержимого файлов, редактирование и удаление.
Распаковываете архив в директорию вэбсервера.
Загоняете dump в PostgreSQL:
# cat dump | psql -d {База данных}
Открываете браузером http://host/dir/admin.cgi/
Правите xml:main.xml
GPL