Одежка для XML

Никита Кислицин

Хакер, номер #077, стр. 077-120-1

(nikitoz@real.xakep.ru)

Применение XSLT для форматирования XML-документов

В прошлом номере я рассказывал тебе о стандарте RSS и мы даже написали простенький rss-блог с новостями из жизни азиатских тушканов. В тот раз у нас все сводилось фактически к генерации корректного документа, просматривали его мы при помощи чужого rss-клиента. Сегодня мы с тобой продолжим изучение XML-технологий: научимся преобразовывать XML-данные к конкретному представлению при помощи XSLT и напишем простенький RSS-клиент для примера.

[что такое XSLT?]

Прежде всего, для чего нам может понадобиться XSLT и что это такое? Слушая рассказы об XML, у тебя, наверное, не раз возникал вопрос: зачем все это нужно, если xml-документ никак не форматируется и пользователь, если откроет его в браузере, получит на экране просто содержимое файла со всеми тегами. В самом деле, вряд ли вид не отформатированной страницы приведет в восторг рядового пользователя :). По этой причине каждый документ может быть связан со специальным файлом форматирования, в котором будет четко определено его представление. В этом случае получается такая двойственность информации: сами данные хранятся в одном файле, а то, как эти данные будут показаны пользователю, указывается в другом. Собственно, язык, который определяет форматирование XML-документов, и называется XSL (Extensible Style Language), а само преобразование документа к его конкретному представлению образует еще одну аббревиатуру - XSLT (XSL Transformations).

Для чего это может использоваться? Приведу пару простых примеров, которые покажут, насколько универсальна эта технология.

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

Все было бы по-другому, если бы ты читал наш журнал внимательнее. Я уже, по крайней мере, два раза писал о системах, которые позволяют отделить дизайн сайта от кода и данных. Но с использованием XML не нужно никаких громоздких систем! Весь сайт можно довольно легко представить в виде XML-документа, со своими собственными тегами, задающими структуру проекта. В этом случае получается, что сайт логически разбит на кирпичики и довольно здорово структурирован. Но, конечно, показывать такой документ пользователю – плохая идея, поэтому надо будет создать файл XSLT-форматирования, в котором будет указано, в каком виде данные будут отображаться на экране пользователя. XML-документ здесь играет роль своеобразного буфера между непосредственным источником информации и ее графическим представлением. Ну и конечно изменить дизайн системы станет чрезвычайно просто, для этого не потребуется менять ни строчки php-кода - вся разметка наконец-то будет на 100% отделена от управляющих скриптов.

Содержание  Вперед на стр. 077-120-2
ttfb: 3.1719207763672 ms