Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемkek.ksu.ru
1 Глава 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).
2 Синтаксис и подключение XSL Сама стилевая таблица XSL является XML-документом. Отличие: не требуется создавать DTD-блок, можно использовать стандартное пространство имен. Общая схема XSL-файла обычно выглядит так: …Объявление правил форматирования… В общем случае, в XSL-файлах применяется обычно два пространства имен: xsl- содержит объявление стандартных конструкций XSL; и fo - включает декларации всех объектов форматирования со всеми их свойствами.
3 Сами же стилевая таблица состоит из перечисления правил отображения того или иного элемента, подобно CSS. Только XSL все делает при помощи так называемых шаблонов. Пример: Сначала объявляем шаблон – тэг template, относящегося к пространству имен xsl. В значении атрибута match мы указываем наименование элемента искомого XML-документа, к которому будем применять правило оформления. Далее указываем каким элементом форматирования будет элемент p – применяем тэг элемента block пространства имен fo. Содержимое этого объекта – тэг, устанавливающий свойство объекта p. Далее инструкция применения созданного шаблона.
4 Объект форматирования Все объекты форматирования в 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
5 Объект 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
6 Объект 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.
7 Объект 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.
8 Объект 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, s uppress-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. Свойства: доступа, границ, фона, отступов, относительного позиционирования и color, id, letter-spacing, line-height, line-height-shift- adjustment, score-spaces, text-decoration, text-shadow, text-transform, word-spacing.
9 Объект 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.
10 Объект 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.
11 Объект 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.
12 Объект 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 управляет отображением содержимого отдельных ячеек таблицы.
13 Свойства: доступа, границ, фона, отступов, относительного позиционирования и 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 предназначен для отображения содержимого отдельного элемента списка. Свойства: доступа и i d,keep-together. Объект fo: list-item-label управляет отображением метки-маркера элемента списка. Свойства: доступа и i d,keep-together.
14 Объект 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.
15 Объект 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.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.