Хочу сделать своей веб-страничке умный дизайн. Дизайн-то самый простой, но хочу, чтобы к содержанию каждой страницы он применялся автоматически. В отдельном месте чтобы хранился шаблон страницы и редактировать чтобы его было можно в одном месте, а применялись бы изменения ко всему сайту.
При этом платный хостинг для всех любительских страничек я покупать не хочу, так что надо, чтобы это дело еще и работало без серверного ПО. То есть, или сама страничка должна как-то подгружать содержимое в нужном оформлении, или у себя на локальном компьютере я генерирую все страницы сайта из шаблона и страниц контента, а потом все это уже загружаю в интернет.
С программированием связываться с самого начала не хотелось. Я подумал, что задача не уникальная и решения должны существовать. Друзья посоветовали мне использовать XML и XSLT.
XML - это такой язык разметки текстовых данных. На первый взгляд он похож на HTML, тоже состоит из тэгов. Но разница в том, что множество тэгов для XML заранее не задано, а их можно вводить по своему желанию, какие понадобятся. Кроме того, XML придуман для разметки именно смысловой, в то время как HTML размечает визуальное отображение.
Чтобы размеченные в XML данные как-то представить для пользователя, используются таблицы стилей
XSL. Например, разные XSL-преобразования для одного списка литературы в XML могут дать на выходе в первом случае этот список отсортированный по автору и в формате HTML, а во втором в формате просто текста и отсортированный по названию.
И вот тут я столкнулся с ситуацией, какие меня всегда удивляют: программы просто применяющей XSL-преобразование к XML-файлу никто не может назвать. Мне предлагают либо воспользоваться модулями для сред программирования (то есть ставить среду разработки, разбираться с API и писать специальную программу), либо ставить веб-сервер (и тоже его как-то настраивать, что-то куда-то прописывать).
Удивляет меня именно то, что если уж XSL существует, чтобы преобразовывать XML-файлы, то почему нет самой естественной вещи - программы которая именно это и делает, а не делает мильен других вещей, а это в частности. Зачем разбираться с программными монстрами только для одного действия?
Может быть вы знаете такую программу?
P.S.
Еще есть вариант предоставить применять XSL к XML-у браузеру. У меня заставить работать самый простейший пример получилось только в IE. Я уж думал, что оно только в нем и работает, но
kozhanovan переделал мой пример так, что он заработал во всех моих браузерах. Надо разбираться, в чем дело. Правда "исходный код" показывает именно исходный XML-файл, а не полученный после преобразования HTML, что тоже не очень удобно.
Короче, даже если возможность свалить преобразование на "любой браузер" подтвердится, получение готовых HTML у себя, а не у конечного пользователя, может быть по разным причинам предпочтительно. Если знаете как, напишите.