Одежка для XML Никита Кислицин Хакер, номер #077, стр. 077-120-3 [обработка на стороне сервера] Как легко догадаться, все, что я говорил выше, подразумевает обработку и форматирование документа на стороне клиента. То есть сам клиентский парсер XML, поставляемый вместе с операционной системой, выполняет всю работу по форматированию документа. Однако не всегда это доступно и удобно. Представь, что ты получаешь XML-данные внутри своего скрипта и тебе надо отформатировать их и вставить полученный html-код в генерируемую страницу. Разумеется, в этом случае использовать клиентский парсер не получится. Как же быть? Ну, разумеется, крутые парни из команды php-девелоперов все уже сделали до нас! Начиная с версии 4.0.3 доступна функция xslt_process, которая производит трансформацию XML-данных в html-разметку по XSLT-правилам. Пользоваться ей чрезвычайно просто: Использование xslt_process <?php $arguments = array( '/_xml' => $xml, '/_xsl' => $xsl ); $xh = xslt_create(); $result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments); if ($result) { echo "Результат преобразования:<pre> $result </pre>\n"; } xslt_free($xh); ?> [свой RSS-клиент] На самом деле, я уже все самое важное рассказал :). Тебе уже и самому по силам написать RSS-клиента, однако, чтобы снять все вопросы, я сейчас расскажу на пальцах, как это можно сделать (его код вместе с файлом преобразований ты найдешь на диске). Задача на самом деле элементарная и сводится к следующему. Тебе необходимо при помощи функции fopen() получить содержимое rss-ленты в специальный буфер, а затем, при помощи функции xslt_process применить к этим данным XSLT-преобразование, чтобы получить на выходе готовую html-страницу. Не надо быть супербизоном, чтобы понять: основная сложность здесь заключается как раз в том, чтобы разработать XSL-файл. Вообще говоря, RSS – довольно изощренный формат и реализовать его полную поддержку не так легко. Однако сделать поддержку самых популярных тегов ты сможешь очень быстро, даже действуя просто по аналогии с разобранным выше примером. К сожалению, место в журнале не позволяет мне привести здесь код такого XSLT-файла, но ты можешь найти его на диске. Будут вопросы – пиши, амиго. Давай, не попадайся. WWW Дополнительную информацию ты можешь получить по этим ссылкам: www.raleigh.ru/tutorials/XMLTutorial/ www.raleigh.ru/tutorials/XMLTutorial/?theme=2 www.webclub.ru/archive/xml/article-724.html http://ru2.php.net/manual/en/function.xslt-process.php CD На нашем диске ты найдешь всю необходимую для понимания статьи документацию, а так же PHP последней версии - 5.0.4. |