SlideShare a Scribd company logo
1 of 45
Download to read offline
XSLT
Сергей Пузанков



ШРИ 2012
Преобразование XML




2
xsl:template




3
xsl:template




4
xsl:apply-templates




5
GOD Mode




6
xsl:call-template




7
Конструкции "меняющие контекст"




8
Объединение листов стилей




9
xsl:import




10
xsl:import




11
xsl:import




12
Порядок обработки шаблонов

1. Выбор нод для обработки
2. Поиск подходящих шаблонов
3. Применение шаблонов




13
Поиск подходящих шаблонов

Просматриваются абсолютно все
шаблоны.

Текущая нода (или ноды) сравнивается
с каждым match.

Дальше включаются приоритеты.



14
Приоритеты




15
Приоритеты




16
Приоритеты

Импортированные шаблоны имеющие меньший
приоритет игнорируются.

Даже более специфичный match будет
проигнорирован.

Это то, в чем include лучше.




17
xsl:apply-imports




18
Default templates




19
Что вообще бывает в шаблоне
• Literate result elements
• XSLT-конструкции
• Управляющие XSLT-конструкции
• XSLT-конструкции "передающие управление"




20
Что вообще бывает в шаблоне
• Literate result elements
• XSLT-конструкции
        xsl:value-of
        xsl:text
        xsl:element
        xsl:attribute
        xsl:copy
        xsl:copy-of
• Управляющие XSLT-конструкции
• XSLT-конструкции "передающие управление"

21
Что вообще бывает в шаблоне
• Literate result elements
• XSLT-конструкции
• Управляющие XSLT-конструкции
      xsl:if
      xsl:choose
      xsl:for-each
• XSLT-конструкции "передающие управление"




22
Что вообще бывает в шаблоне
• Literate result elements
• XSLT-конструкции
• Управляющие XSLT-конструкции
• XSLT-конструкции "передающие управление"
      xsl:apply-templates
      xsl:call-template
      xsl:apply-imports




23
Literate result elements




24
xsl:value-of




xsl:text




25
xsl:element




26
xsl:attribute




27
xsl:copy




xsl:copy-of




28
xsl:if




29
xsl:choose




30
xsl:for-each




31
Переменные




32
Параметры




33
Параметры




34
Передача параметров




35
Ключи




36
Ключи




37
Ключи




38
Ключи




39
Identity transform




40
"Проксирующий" запрос




41
Null transform




42
"Фильтрующий" шаблон




43
Почитать
http://www.w3.org/TR/xml/
http://www.w3.org/TR/xpath/
http://www.w3.org/TR/xslt/
http://www.w3.org/XML/Schema
http://ru.wikipedia.org/wiki/DTD




44
Сергей Пузанков
Руководитель группы разработки
поисковых интерфейсов

puzankov@yandex-team.ru

@puzankovcom

More Related Content

Viewers also liked

Анализ угроз ИБ компаниям-разработчикам СЗИ
Анализ угроз ИБ компаниям-разработчикам СЗИАнализ угроз ИБ компаниям-разработчикам СЗИ
Анализ угроз ИБ компаниям-разработчикам СЗИAlexey Kachalin
 
правовое регулирование в информационной сфере
правовое регулирование в информационной сфереправовое регулирование в информационной сфере
правовое регулирование в информационной сфереanna343
 
Защита информации семинар №3 МФТИ
Защита информации семинар №3 МФТИЗащита информации семинар №3 МФТИ
Защита информации семинар №3 МФТИAlexander Kolybelnikov
 
SOC and Enterprise Security. Аспекты внедрения. Декабрь 2012
SOC and Enterprise Security. Аспекты внедрения. Декабрь 2012SOC and Enterprise Security. Аспекты внедрения. Декабрь 2012
SOC and Enterprise Security. Аспекты внедрения. Декабрь 2012Ken Tulegenov
 
Законодательство РФ о правовых аспектах применения юридически значимого элект...
Законодательство РФ о правовых аспектах применения юридически значимого элект...Законодательство РФ о правовых аспектах применения юридически значимого элект...
Законодательство РФ о правовых аспектах применения юридически значимого элект...Консалт-Центр
 
КВО ТЭК - Обоснованные требования регулятора
КВО ТЭК - Обоснованные требования регулятораКВО ТЭК - Обоснованные требования регулятора
КВО ТЭК - Обоснованные требования регулятораAlexey Kachalin
 
правовое регулирование в информационной сфере
правовое регулирование в информационной сфере правовое регулирование в информационной сфере
правовое регулирование в информационной сфере Nadezhda2103
 
Объединяющая сила UX
Объединяющая сила UXОбъединяющая сила UX
Объединяющая сила UXDmitry Satin
 
Жизненный цикл СЗИ или с чего начать?
Жизненный цикл СЗИ или с чего начать?Жизненный цикл СЗИ или с чего начать?
Жизненный цикл СЗИ или с чего начать?Александр Лысяк
 
Метрики информационной безопасности
Метрики информационной безопасностиМетрики информационной безопасности
Метрики информационной безопасностиАлександр Лысяк
 
Принципы защиты информации и метрики ИБ
Принципы защиты информации и метрики ИБПринципы защиты информации и метрики ИБ
Принципы защиты информации и метрики ИБАлександр Лысяк
 
Модель угроз и модель нарушителя. Основы.
Модель угроз и модель нарушителя. Основы.Модель угроз и модель нарушителя. Основы.
Модель угроз и модель нарушителя. Основы.Александр Лысяк
 
Информационная безопасность. Лекция 5.
Информационная безопасность. Лекция 5.Информационная безопасность. Лекция 5.
Информационная безопасность. Лекция 5.Александр Лысяк
 
Построение модели угроз и модели нарушителя
Построение модели угроз и модели нарушителяПостроение модели угроз и модели нарушителя
Построение модели угроз и модели нарушителяАлександр Лысяк
 
Информационная безопасность. Лекция 4.
Информационная безопасность. Лекция 4.Информационная безопасность. Лекция 4.
Информационная безопасность. Лекция 4.Александр Лысяк
 
Сергей Пузанков — XPath
Сергей Пузанков — XPathСергей Пузанков — XPath
Сергей Пузанков — XPathYandex
 
Информационная безопасность. Лекция 3.
Информационная безопасность. Лекция 3.Информационная безопасность. Лекция 3.
Информационная безопасность. Лекция 3.Александр Лысяк
 
Информационная безопасность. Лекция 2.
Информационная безопасность. Лекция 2.Информационная безопасность. Лекция 2.
Информационная безопасность. Лекция 2.Александр Лысяк
 

Viewers also liked (20)

Анализ угроз ИБ компаниям-разработчикам СЗИ
Анализ угроз ИБ компаниям-разработчикам СЗИАнализ угроз ИБ компаниям-разработчикам СЗИ
Анализ угроз ИБ компаниям-разработчикам СЗИ
 
правовое регулирование в информационной сфере
правовое регулирование в информационной сфереправовое регулирование в информационной сфере
правовое регулирование в информационной сфере
 
Защита информации семинар №3 МФТИ
Защита информации семинар №3 МФТИЗащита информации семинар №3 МФТИ
Защита информации семинар №3 МФТИ
 
SOC and Enterprise Security. Аспекты внедрения. Декабрь 2012
SOC and Enterprise Security. Аспекты внедрения. Декабрь 2012SOC and Enterprise Security. Аспекты внедрения. Декабрь 2012
SOC and Enterprise Security. Аспекты внедрения. Декабрь 2012
 
Законодательство РФ о правовых аспектах применения юридически значимого элект...
Законодательство РФ о правовых аспектах применения юридически значимого элект...Законодательство РФ о правовых аспектах применения юридически значимого элект...
Законодательство РФ о правовых аспектах применения юридически значимого элект...
 
КВО ТЭК - Обоснованные требования регулятора
КВО ТЭК - Обоснованные требования регулятораКВО ТЭК - Обоснованные требования регулятора
КВО ТЭК - Обоснованные требования регулятора
 
правовое регулирование в информационной сфере
правовое регулирование в информационной сфере правовое регулирование в информационной сфере
правовое регулирование в информационной сфере
 
UX: unhappiness users
UX: unhappiness usersUX: unhappiness users
UX: unhappiness users
 
Объединяющая сила UX
Объединяющая сила UXОбъединяющая сила UX
Объединяющая сила UX
 
Xslt tutorial
Xslt tutorialXslt tutorial
Xslt tutorial
 
Жизненный цикл СЗИ или с чего начать?
Жизненный цикл СЗИ или с чего начать?Жизненный цикл СЗИ или с чего начать?
Жизненный цикл СЗИ или с чего начать?
 
Метрики информационной безопасности
Метрики информационной безопасностиМетрики информационной безопасности
Метрики информационной безопасности
 
Принципы защиты информации и метрики ИБ
Принципы защиты информации и метрики ИБПринципы защиты информации и метрики ИБ
Принципы защиты информации и метрики ИБ
 
Модель угроз и модель нарушителя. Основы.
Модель угроз и модель нарушителя. Основы.Модель угроз и модель нарушителя. Основы.
Модель угроз и модель нарушителя. Основы.
 
Информационная безопасность. Лекция 5.
Информационная безопасность. Лекция 5.Информационная безопасность. Лекция 5.
Информационная безопасность. Лекция 5.
 
Построение модели угроз и модели нарушителя
Построение модели угроз и модели нарушителяПостроение модели угроз и модели нарушителя
Построение модели угроз и модели нарушителя
 
Информационная безопасность. Лекция 4.
Информационная безопасность. Лекция 4.Информационная безопасность. Лекция 4.
Информационная безопасность. Лекция 4.
 
Сергей Пузанков — XPath
Сергей Пузанков — XPathСергей Пузанков — XPath
Сергей Пузанков — XPath
 
Информационная безопасность. Лекция 3.
Информационная безопасность. Лекция 3.Информационная безопасность. Лекция 3.
Информационная безопасность. Лекция 3.
 
Информационная безопасность. Лекция 2.
Информационная безопасность. Лекция 2.Информационная безопасность. Лекция 2.
Информационная безопасность. Лекция 2.
 

More from Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
 

More from Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

Сергей Пузанков — XSLT