XML + XSL - без програмирования можно?

Jan 07, 2009 15:35



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

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

С программированием связываться с самого начала не хотелось. Я подумал, что задача не уникальная и решения должны существовать. Друзья посоветовали мне использовать 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 у себя, а не у конечного пользователя, может быть по разным причинам предпочтительно. Если знаете как, напишите.

интернет, опрос, программирование, how to, технологии

Previous post Next post
Up