- •Лекция 4-09
- •5.3.21. Форматирование документов xml с помощью xsl
- •5.3.21.1. Средства форматирования документовXml
- •5.3.21.2. Этапы форматирования документаXml
- •5.3.21.3. Компоненты документаFo
- •5.3.22. Оформление страниц вXsl
- •5.3.22.1. Структура страницы
- •5.3.22.2. Элементы fo:declarations и fo:color-profile
- •5.3.22.3. Элементы создания последовательности страниц
- •5.3.22.4. Элементы fo:layout-master-set и fo:simple-page-master
- •5.3.22.5. Элементы fo:region-body, fo:region-before, fo:region-after, fo:region-start и fo:region-end
- •5.3.22.6. Элементы, формирующие последовательности страниц
- •5.3.23. Блоковые элементыXsl
- •5.3.23.1. Элементfo:block
- •5.3.23.2. Элементfo:block-container
- •5.3.24. Внутристроковые элементыXsl
- •5.3.24.1. Элементfo:inline
- •5.3.24.2. Элементfo:inline-container
- •5.3.24.3. Элементfo:leader
- •5.3.24.4. Элементfo:initial-property-set
- •5.3.24.5. Элементfo:character
- •5.3.24.6. Элементы fo:external-graphic и fo:instream-foreign-object
- •5.3.24.7. Элементы fo:page-number и fo:page-number-citation
- •5.3.25. Элементы форматирования для таблиц
- •5.3.25.1. Элемент fo:table-and-caption и fo:table-caption
- •5.3.25.2. Элементfo:table
- •5.3.25.3. Элементыfo:table-header,fo:table-bodyиfo:table-footer
- •5.3.25.4. Элементfo:table-column
- •5.3.25.5. Элементfo:table-row
- •5.3.25.6. Элементfo:table-cell
- •5.3.26. Элементы форматирования для списков вXsl
- •5.3.27. Элементы динамического форматирования вXsl
- •5.3.27.1. Однонаправленные одноцелевые ссылки
- •5.3.27.2. Переключение между поддеревьями объектов форматирования
- •5.3.27.3. Переключение между различными значениями свойств
- •5.3.28. Внестроковые элементыXsl
5.3.23.2. Элементfo:block-container
Элемент fo:block-container используется для генерации блоковой области, содержащей обычно блоки текста с различными режимами письма. Кроме того, он может также использоваться с различными ориентациями для поворота своего содержимого.
Содержимым этого элемента является один или несколько блоковых элементов.
Для элемента fo:block-container, так же как и для элемента fo:block, определены общие свойства фона, рамки и отступа, общие свойства полей блока, а также свойстваid,break-before,break-after,intrusion-displace,keep-with-previous, keep-with-next, keep-together и span.
Кроме того, могут быть заданы позаимствованные из CSS2 свойства абсолютного позиционирования:absolute-position, top,right,bottomиleft.
Из CSS2 позаимствованы также свойстваclip,overflow,width,heightиz-index.
Свойства block-progression-dimension и inline-progression-dimension определяют увеличение размера прямоугольника размещения для каждого блока или внутристроковой области, генерируемой элементом. Увеличение можно указать в фиксированных единицах или в процентах (для минимального, максимального и оптимального значения). Кроме того, увеличение может иметь значение "auto" – в этом случае свойство не вводит никаких ограничений (значение по умолчанию).
Свойство display-alignопределяется аналогично соответствующему свойству для регионов.
Свойство reference-orientationиwriting-modeопределяются так же, как для элементаfo:simple-page-master.
Пример использования элемента fo:block-container:
<fo:block-container
background-color="yellow"
border-start-color="red"
border-start-style="solid"
border-start-width="6pt"
width="200pt"
height="100pt">
<fo:block font-size="14pt"
font-family="Times New Roman"
color="blue">
Первый параграф блока
</fo:block>
<fo:block font-size="12pt"
font-family="Times New Roman"
color="green">
Второй параграф блока
</fo:block>
</fo:block-container>.
В документ PDFбудет выведено:
.
5.3.24. Внутристроковые элементыXsl
5.3.24.1. Элементfo:inline
Элемент fo:inlineобычно используется для форматирования участка текста. Содержимым этого элемента являются текстовые данные (#PCDATA), либо блоковые или внутристроковые элементы.
Для элемента fo:inline, так же как и для элемента fo:block, определены общие свойства фона, рамки и отступа, общие свойства полей блока, свойства относительного позиционирования, а также свойстваid,keep-with-previous, keep-with-next, keep-together и wrap-option.
Свойства block-progression-dimension и inline-progression-dimension определяются аналогично одноименным свойствам элемента fo:block-container.
Для элемента fo:inline, как и для элементаfo:title, определены общие свойства шрифтов и внутристроковые свойстваspace-start и space-end. В элементе также используются позаимствованные изCSS2 свойстваcolor,visibility,line-height,text-decoration,widthиheight.
Свойство dominant-baseline используется для определения или переопределения масштабируемой таблицы базовых линий. Эта таблица содержит три компонента: идентификатор базовой линии для доминантной базовой линии, полученной таблицы базовой линии и размера шрифта таблицы базовой линии. Некоторые значения свойства переопределяют значения всех трёх компонентов; другие переустанавливают только размер шрифта таблицы.
Значения "ideographic", "alphabetic", "hanging", "mathematical", "central", "middle", "text-after-edge" и "text-before-edge" устанавливают идентификатор базовой линии для доминантной базовой линии в соответствующее значение. Таблица базовых линий конструируется из базовых линий в номинальном шрифте. Размер шрифта таблицы изменяется на значение свойства font-size в данном элементе. Значение "no-change" определяет, что компоненты таблицы остаются теми же, что и для родительского элемента. Значение "reset-size" оставляет идентификатор базовой линии для доминантной базовой линии и таблицу базовой линии теми же, что и для родительского элемента, но размер шрифта таблицы изменяется на значение свойства font-size в данном элементе. Значение "use-script" устанавливает идентификатор базовой линии для доминантной базовой линии и таблицу базовой линии, исходя из номинального шрифта, а размер шрифта таблицы изменяется на значение свойства font-size в данном элементе. Значение "auto" (значение по умолчанию) для элемента fo:inline действует так же, как значение "no-change".
Свойство alignment-baseline определяет, по какой из базовых линий родительского элемента задается точка выравнивания данного элемента. Значения "before-edge", "text-before-edge", "middle", "central", "after-edge", "text-after-edge", "ideographic", "alphabetic", "hanging" и "mathematical" определяют точку выравнивания объекта по соответствующей базовой линии родительской области. Значения "baseline" и "auto" (значение по умолчанию) определяют точку выравнивания объекта по доминантной линии родительской области.
Свойство alignment-adjust задает более точное выравнивание областей, генерируемых объектами форматирования, особенно для графических объектов, которые не имеют таблицы базовых линий, или если нужная базовая линия отсутствует в их таблице базовых линий. С помощью этого свойства позиция базовой линии, идентифицируемая свойством alignment-baseline, может быть определена явно. Значения "before-edge", "text-before-edge", "middle", "central", "after-edge", "text-after-edge", "ideographic", "alphabetic", "hanging", "mathematical", "top", "text-top", "bottom" и "text-bottom" определяют точку выравнивания на пересечении начального края прямоугольника размещения и соответствующей базовой линии данной области. Значение "baseline" определяет точку выравнивания на пересечении начального края прямоугольника размещения и доминантной базовой линии данной области. Значение "auto" (значение по умолчанию) определяет точку выравнивания на пересечении начального края прямоугольника размещения и базовой линии, заданной в свойстве alignment-baseline. данной области. Кроме того, значение свойства может быть задано в процентах (от высоты строки) или в фиксированных единицах измерения. В этих случаях точка выравнивания находится на начальном краю прямоугольника размещения выравниваемой области, а ее позиция вдоль начального края относительно пересечения доминантной базовой линии и начального края смещена на заданное значение.
Свойство baseline-shift позволяет изменять позицию доминантной базовой линии относительно доминантной базовой линии родительской области. Значение "baseline" не меняет позицию базовой линии (это значение по умолчанию). Значения "sub" и "super" смещают базовую линию в позицию верхних или нижних индексов по умолчанию. Можно также явно задать смещение в процентах (относительно высоты строки) или в фиксированных единицах измерения.
