Итак, ввиду того что вчера мне дали заслуженный тиц 10, у блога около 10 подписчиков и 30 человек ежедневно заходит, я решила сегодня написать что-нибудь особенное. Сегодня я порадую всех изучающих технологию XSLT. Поскольку это самый известный, стандартизированный и распространённый шаблонизатор я расскажу о группировке в XSLT 1.0.
Кратко об XSLT
Краткий экскурс для коллег которые не сталкивались с XLST. XSLT - это Трансформация XSL (Extensible Stylesheet Language), на входе подаём XML, пропускаем через шаблон XSL и на выходе получаем HTML, (или xhtml, или другой xml). В серверных приложениях трансформацию обычно осуществляет библиотека libxml (и с ней libxsl), которые могут быть использованы как модули к php или другим языкам программирования. Также преобразования могут выполняться на стороне клиента. Когда сам браузер загружает xml-данные и xsl-шаблон и выполняет преобразование. К большому моему сожалению использование такой практики в информационных сайтах недопустимо, поскольку яндекс в отличие от гугла не индексирует xml. Конечно можно поисковикам отдавать одно, а пользователям другое, но это чревато.
Примеры:
http://us.blizzard.com/diablo3/?rhtml=n - Трансформация XSL в браузере пользователя
http://us.blizzard.com/diablo3/?rhtml=y - Трансформация происходит на сервере, клиент получает xhtml.