'

Глава 8 Стилевой язык XSL

Понравилась презентация – покажи это...





Слайд 0

Глава 8 Стилевой язык XSL История Рассмотренная нами технология стилевых таблиц CSS достаточно мощна, но она относится все-таки к HTML. Основа HTML в том, что там заблаговременно определенно, какой тэг что обозначает -> Применение CSS позволяет достаточно эффективно управлять отображением HTML-документа. В XML мы не знаем заранее, каким элементом форматирования является тот или иной элемент, следовательно, ограничивается применение CSS для XML. XML связан с SGML, в SGML был свой стилевой язык – DSSSL (Document Style Semantic and Specification Language). Для нужд XML-документов было выделено подмножество DSSSL –> DSSSL-Online. И на его основе был создан более универсальный и гибкий язык XSL (eXtensible Stylesheet Language).


Слайд 1

Синтаксис и подключение XSL Сама стилевая таблица XSL является XML-документом. Отличие: не требуется создавать DTD-блок, можно использовать стандартное пространство имен. Общая схема XSL-файла обычно выглядит так: <?xml version=‘1.0’?> <xsl:stylesheet xmlns:xsl=http://www.w3.org/1999/XSL/Transform xmlns:fo=http://www.w3.org/1999/XSL/Format version=‘1.0’> …Объявление правил форматирования… </xsl:stylesheet> В общем случае, в XSL-файлах применяется обычно два пространства имен: xsl-содержит объявление стандартных конструкций XSL; и fo-включает декларации всех объектов форматирования со всеми их свойствами.


Слайд 2

Сами же стилевая таблица состоит из перечисления правил отображения того или иного элемента, подобно CSS. Только XSL все делает при помощи так называемых шаблонов. Пример: <xsl: template match=“p”> <fo: block> <fo: initial-property-set font-variant=“small-caps”/> <xsl: apply-templates/> </fo: block> </xsl: template> Сначала объявляем шаблон – тэг template, относящегося к пространству имен xsl. В значении атрибута match мы указываем наименование элемента искомого XML-документа, к которому будем применять правило оформления. Далее указываем каким элементом форматирования будет элемент p – применяем тэг элемента block пространства имен fo. Содержимое этого объекта – тэг, устанавливающий свойство объекта p. Далее инструкция применения созданного шаблона <xsl: apply-templates/>.


Слайд 3

Объект форматирования Все объекты форматирования в XSL образуют некую иерархию -> будем возможные отношения между объектами форматирования Начнем с корня. Объект fo: root является абстрактным объектом. Он может включать в себя объекты: fo: layout-master-set – содержит все основные объекты; fo: declarations – предназначен для задания некой глобальной информации об отображаемом XML-документе; fo: page-sequence – задает последовательность страниц. Наполнение абстрактного корневого объекта форматирования объявляется: (layout-master-set, declarations?, page-sequence+) media-usage – единственное свойство, применимое этому абс. объекту. Объект fo: declarations может содержать несколько объектов: fo: color-profile – служит для задания цветового профиля, задается при помощи свойств src, color-profile-name, rendering-intent. Объект fo: page-sequence – содержимое этого элемента объявляется следующим образом: (title?, static-content*, flow). Свойства: country, format, language, letter-value, grouping-separator, grouping-size, id, initial-page-number, force-page-count, master-name


Слайд 4

Объект fo: layout-master-set - содержимое описывается так… (simple-page-master | page-sequence-master)+ Объект fo: page-sequence-master предназначен для организации страничной структуры отображения документа. Содержимое описывается… (single-page-master-reference | repeatable-page-master-reference | repeatable-page-master-alternatives)+ К данному объекту может применятся свойство master-name Объект fo: single-page-master-reference – ссылка на одиночную мастер-страницу, например, титульная или страница с началом главы. (master-name) Объект fo: repeatable-page-master-reference – ссылка на последовательность повторяющихся мастер-страниц. (master-name, maximum-repeats) Для подобных мастер-страниц можно задать альтернативное представление fo: repeatable-page-master-alternatives. Содержимым данного объекта м.б. серия элементов conditional-page-master-reference . (maximum-repeats) Объект fo: conditional-page-master-reference – указывает на отдельную страницу наложением некоторых условий, задаваемых: page-position, odd-or-even, black-or-not-black и м.б. master-name


Слайд 5

Объект fo: simple-page-master управляет отображением одиночной страниц. Объявляется… (region-body, region-before?, region-after?, region-start?, region-end?) Свойства: master-name, page-width, page-height, reference-orientation, writing-mode и свойства управления полями. Объект fo: region-body управляет отображением содержимым страницы. Свойства: управления полями, границами, отступами, фоном и clip, column-count, column-gap, display-align, overflow, region-name, reference-orientation, writing-mode . Объект fo: region-before регулирует отображение пространства перед текстом. Свойства: управления границами, отступами, фоном и clip, display-align, extent, overflow, precedence, region-name, reference-orientation, writing-mode . Объект fo: region-after позволяет настраивать отображение пространства. Свойства см. предыдущий. Объект fo: region-start применяется для страничных блоков, управляет оформлением начальной области блока. Свойства: управления границами, отступами, фоном и clip, display-align, extent, overflow, region-name, reference-orientation, writing-mode .


Слайд 6

Объект fo: region-end составляет пару с region-start. Управляет отображением конечного региона области просмотра текста. Свойства см. предыдущий. Объект fo: flow – абстрактный объект, служит контейнером для элементов. (flow-name) Объект fo: static-content –служит контейнером для элементов, позволяет регулировать оформление повторяющихся элементов страниц. (flow-name) Объект fo: title управляет элементами, которые являются заголовками (текстовый или однострочный блок). Свойства: доступ, границ, отступ, поля, фон, шрифт и baseline-shift, color, line-height, line-height-shift-adjustment, visibility, z-index. Объект fo: block управляет отображением абзацев, заголовков, названий рисунков, таблиц и т.п. Свойства: доступ, границ, отступ, поля, фон, шрифт, относительное позиционирование и break-after, break-before, color, text-altitude, hyphenation-keep, hyphenation-ladder-count, id, keep-together, keep-with-text, last-line-and-indent, linefeed-treatment, line-height, line-height-shift-adjustment, line-stacking-strategy, orphans, space-treatment, span, text-align, text-align-last, visibility, white-space-collapse, windows, wrap-option, z-index.


Слайд 7

Объект fo: block-container содержит некоторое количество объектов fo: block и генерирует соответствующую область отображения. Свойства: границ, отступ, поля, фон, абсолютное позиционирование и block-progression-dimension, break-after, break-before, clip, display-align, height, id, inline-progression-dimension, keep-together, keep-with-text, keep-with-previous, overflow, reference-orientation, span, width, writing-mode. Объект fo: bidi-override применяется для некоторых текстовых объектов. Свойства: шрифт, относительное позиционирование и color, direction, id, letter-spacing, line-height, line-height-shift-adjustment, score-spaces, text-shadow, text-transform, unicode-bidi, word-spacing. Объект fo: character позволяет управлять отображением отдельного символа. Свойства: границ, отступ, поля, фон, шрифт, относительное позиционирование и alignment-adjust, treat-as-world-space, alignment-baseline, baseline-shift, character, color, dominant-baseline, text-depth, text-altitude, glyph-orientation-horizontal, glyph-orientation-vertical, id, keep-with-text, keep-with-previous, letter-spacing, line-height, line-height-shift-adjustment, score-spaces, suppress-at-line-break, text-decoration, text-shadow, text-transform, word-spacing. Объект fo:initial-property-set управляет отображением первой строки текста, помещенного в объект fo:biock. Свойства: доступа, границ, фона, отступов, относительного позиционирования и color, id, letter-spacing, line-height, line-height-shift-adjustment, score-spaces, text-decoration, text-shadow, text-transform, word-spacing.


Слайд 8

Объект fo:page-number-citation регулирует отображение ссылок на номера страниц. Свойства: доступа, границ, отступов, полей, фона, шрифта, относительного позиционирования и alignment-adjust, alignment-baseline, baseline-shift, dominant-baseline, id, keep-with-next, keep-with-previous, letter-spacing, line-height, line-height-shift-adjustment, ref-id, score-spaces, text-decoration, text-shadow, text-transform, word-spacing. Объект fo:table-and-caption управляет отображением таблицы и ее заголов­ка вместе, как единым целым. Свойства: доступа, полей, отступов, границ, фонам, относительного позиционирования и caption-side,keep-together, keep-with-next, keep-with-previous. Объект fo: table управляет отображением таблиц. Содержимое определяется так… (table-column*,table-header?, table-footer?, table-body+) Свойства: доступа, полей, отступов, границ, фонам, относительного позиционирования и block-progression-dimension, border-after-precedence, border-before-precedence, border-collapse, border-end-precedence, border-separation, border-start-precedence, break-after, break-before, id, inline-progression-dimension, height, keep-together, keep-with-next, keep-with-previous, table-layout, table-omit-footer-at-break, table-omit-header-at-break, width, writing-mode. Объект fo: table-column позволяет описывать столбцы таблиц. Свойства: фона и column-number, column-width, number-columns-repeated, number-columns-spanned, visibility.


Слайд 9

Объект fo:extemai-graphic управляет отображением графического рисунка, который не входит в стандартную иерархию отобра­жаемых объектов. Свойства: доступа, границ, фона, отступов, полей, относительного позиционирования и alignment-adjust, alignment-baseline, baseline-shift, block-progression-dimension, content-height, content-type, content-width, display-align, dominant-baseline, height, id, inline-progression-dimension, keep-with-next, keep-with-previous, line-height, line-height-ahift-adjustment, overflow, scaling, scaling-method, src, text-align, width. Объект fo: instream-foreign-object управляет отображением графики, встроенной в компактный (inline) блок. Свойства: доступа, границ, фона, отступов, полей, относительного позиционирования и alignment-adjust, alignment-baseline, baseline-shift, block-progression-dimension, content-height, content-type, content-width, dominant-baseline, height, id, inline-progression-dimension, keep-with-next, keep-with-previous, line-height, line-height-shift-adjustment, overflow, scaling, scaling-method, text-align, width. Объект fo: inline позволяет управлять отображением текстового фрагмента с фоном и/или обрамленного границами. Свойства: доступа, границ, отступов, полей, фона, шрифта и относительного позицио­нирования и alignment-adjust, alignment-baseline, baseline-shift, color, dominant-baseline, id, keep-together, keep-with-next, keep-with-previous, line-height, line-height-shift-adjustment, text-decoration, visibility, z-index.


Слайд 10

Объект fo: inline-container в качестве своего содержимого позволяет ис­пользовать несколько разнородных текстовых блоков. Свойства: границ, отступов, полей, фона, относительного позиционирования и alignment-adjust, alignment-baseline, baseline-shift, block-progression-dimension, clip, display-align, dominant-baseline,'height, id, inline-progression-dimension, keep-together, keep-with-next, keep-with-previous, line-height, line-height-shift-adjustment, overflow, reference-orientation, width, writing-mode. Объект fo:leader предназначен для отображения начальных маркеров в таблицах содержаний, горизонтальных разделителей и прочих подобных объектов. Свойства: доступа, полей, отступов, границ, фона, шрифта, относительного позиционирования и alignment-adjust, alignment-baseline, baseline-shift, color, dominant-baseline, text-depth, text-altitude, id, leader-alignment, leader-length, leader-pattern, leader-pattern-width, rule-style, rule-thickness, letter-spacing, line-height, line-height-shift-adjustment, text-shadow, visibility, word-spacing, z-index. Объект fо:page-number применяется только в случае разбиения содержимого XML-документа на страницы и позволяет настраивать внешний вид номера страницы. Свойства: доступа, границ, отступов, полей, фона, шрифта, относительного позиционирования и alignment-adjust, alignment-baseline, baseline-shift, dominant-baseline, id, keep-with-next, keep-with-previous, letter-spacing, line-height, line-height-shift-adjustment, score-spaces, text-decoration, text-shadow, text-transform, word-spacing.


Слайд 11

Объект fo:table-caption создает заголовок таблицы. Свойсва: доступа, отступов, границ, фона, относительного позиционирования и id. Объект fo:table-footer позволяет управлять отображением подвала(итоговая часть) табли­цы. Синтаксическом определении содержимого данного объекта: (table-row+|table-cell+) Свойства: доступа, отступов, границ, фона, относительного позиционирования и id. Объект fo: table-body управляет отображением содержимого таблицы. Синтаксис описания данного объекта форматирования задается: (table-row+|table-cell+) Свойства: доступа, отступов, границ, фона, относительного позиционирования и id. Объект fo: table-row реализует отдельную строку таблицы. Свойства: доступа, границ, фона, отступов, относительного позиционирования и block-progression-dimension, break-after, break-before, id, height, keep-together, keep-with-next, keep-with-previous. Объект fо:table-cell управляет отображением содержимого отдельных ячеек таблицы.


Слайд 12

Свойства: доступа, границ, фона, отступов, относительного позиционирования и border-after-precedence, border-before-precedence, border-end-precedence, border-start-precedence, block-progression-dimension, column-number, display-align, relative-align, empty-cells, ends-row, height, id, number-columns-spanned, number-rows-spanned, starts-row, width. Объект fo: list-block управлять отображением информации, орга­низованной в виде списка. Свойства: доступа, полей, отступов, границ, фона, относительного позиционирования и break-after, break-before, id, keep-together, keep-with-next, keep-with-previous, provisional-distance-between-starts, provisional-label-separation. Объект fo:list-item управляет отображением элемента списка и его марке­ра. Содержимое объекта объявляется следующим образом: (list-item-label,list-item-body) Свойства: доступа, полей, границ, отступов, фона, относительного позиционирования и break-after, break-before, id, keep-together, keep-with-next, keep-with-previous, relative-align. Объект fo: list-item-body предназначен для отображения содержимого отдельного элемента списка. Свойства: доступа и id ,keep-together. Объект fo: list-item-label управляет отображением метки-маркера элемента списка. Свойства: доступа и id ,keep-together.


Слайд 13

Объект fo:basic-link осуществляет настройки отображения обычных однонаправленных гиперссылок. Свойства: доступа, границ, полей, фона, отступов, относительного позиционирования и alignment-adjust, alignment-baseline, baseline-shift, destination-placement-offset, dominant-baseline, external-destination, id, indicate-destination, internal-destination, keep-together, keep-with-next, keep-with-previous, line-height, line-height-shift-adjustment, show-destination, target-processing-context, target-presentation-context, target-stylesheet. Объект fo:muiti-switch является контейнером для объектов типа multi-case. Предназначен для создания органов управления с множественным выбором. Свойства: доступа и restore, id. Объект fo:muiti-case является одним из элементов, подверженных действию множественного выбора. Свойства: доступа и id, starting-state, case-name, case-title. Объект fo:muiti-toggie используется для создания переключателей , которые меняют свой внешний вид при их выборе. Свойства: доступа и id, switch-to. Объект fo: multi-properties используется для переключения между двумя или более наборами установленных свойств. Его содержимое определяется так: (multi-property-set+, wrapper) Свойства: доступа и id.


Слайд 14

Объект fo:muiti-properti-set предназначен для указания альтернативного набора свойств отображения какого-либо объекта. Свойства: id, active-state. Объект fo: float применяется для управления внешним видом элементов XML-документа. Свойства: float , clear. Объект fo: footnote регулирует внешний вид нижнего колонтитула страниц. Объект fо:footnote-body представляет содержимое нижнего колонтитула страницы. Объект fo:wrapper используется для обозначения свойств группы объектов форматирования. Свойство: id. Объект fo:marker обычно используется в паре с объектом fo: retrieve-marker. Они применяются для создания специализированных колонтитулов страниц. Свойства: marker-class-name. Объект fo:retrieve-marker является парным объектом для только что рассмотренного объекта форматирования. Свойства: retrieve-ciass-name, retrieve-position, retrieve-boundary.


×

HTML:





Ссылка: