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

Post on 25-Dec-2014

3.137 views 1 download

description

 

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

ШРИ 2012

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

XSLT

2

Преобразование XML

3

xsl:template

4

xsl:template

5

xsl:apply-templates

6

GOD Mode

7

xsl:call-template

8

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

9

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

10

xsl:import

11

xsl:import

12

xsl:import

13

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

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

14

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

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

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

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

15

Приоритеты

16

Приоритеты

17

Приоритеты

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

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

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

18

xsl:apply-imports

19

Default templates

• 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

Что вообще бывает в шаблоне

24

Literate result elements

25

xsl:value-of

xsl:text

26

xsl:element

27

xsl:attribute

28

xsl:copy

xsl:copy-of

29

xsl:if

30

xsl:choose

31

xsl:for-each

32

Переменные

33

Параметры

34

Параметры

35

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

36

Ключи

37

Ключи

38

Ключи

39

Ключи

40

Identity transform

41

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

42

Null transform

43

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

http://www.w3.org/TR/xml/http://www.w3.org/TR/xpath/http://www.w3.org/TR/xslt/http://www.w3.org/XML/Schemahttp://ru.wikipedia.org/wiki/DTD

44

Почитать

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

puzankov@yandex-team.ru

@puzankovcom

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