69046

Внутристроковые элементы XSL

Лекция

Информатика, кибернетика и программирование

Элемент fo:inline обычно используется для форматирования участка текста. Содержимым этого элемента являются текстовые данные (#PCDATA), либо блоковые или внутристроковые элементы. Для элемента fo:inline, так же как и для элемента fo:block, определены общие свойства фона, рамки и отступа...

Русский

2014-09-29

192.5 KB

1 чел.

 14

Лекция 4-12

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.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" смещают базовую линию в позицию верхних или нижних индексов по умолчанию. Можно также явно задать смещение в процентах (относительно высоты строки) или в фиксированных единицах измерения.

5.3.24.2. Элемент fo:inline-container

Элемент fo:inline-container используется для генерации внутристроковых областей, обычно содержащих блоки текста с различным режимом (направлением) письма. Содержимым данного элемента является один или несколько блоковых элементов.

Для элемента fo:inline-container, так же как и для элемента fo:block, определены общие свойства фона, рамки и отступа, свойства относительного позиционирования, а также свойства id, keep-with-previous, keep-with-next и keep-together.

Свойства block-progression-dimension и inline-progression-dimension определяются аналогично одноименным свойствам элемента fo:block-container.

Для элемента fo:inline-container, как и для элемента fo:title, определены внутристроковые свойства space-start и space-end. В элементе также используются позаимствованные из CSS2 свойства overflow, clip, width и height.

Свойство display-align определяется аналогично соответствующему свойству для регионов.

Свойство reference-orientation и writing-mode определяются так же, как для элемента fo:simple-page-master.

Для элемента fo:inline-container, как и для элемента fo:inline, определены свойства dominant-baseline, alignment-baseline, alignment-adjust и baseline-shift.

5.3.24.3. Элемент fo:leader

Элемент fo:leader обычно используется:

  •  в оглавлении для генерации последовательностей глифов ".", разделяющих заголовки и номера страниц;
  •  для создания полей ввода в формах;  
  •  для создания горизонтальных линий, используемых в качестве разделителей.

Содержимое элементы может быть либо пустым, либо включать символьные данные (#PCDATA), либо содержать внутристроковые области.

Для элемента fo:leader, так же как и для элемента fo:block, определены общие свойства фона, рамки и отступа, свойства относительного позиционирования, а также свойства id, keep-with-previous, keep-with-next, text-depth и text-altitude.

Для элемента fo:leader, так же, как и для элемента fo:title, могут быть заданы общие свойства шрифта, а также внутристроковые свойства space-start и space-end. Для элемента определены также свойства dominant-baseline, alignment-baseline, alignment-adjust и baseline-shift fo:inline-container (как и для элемента fo:inline).

Из свойств CSS2 в элементе используются свойства color, line-height, text-shadow, visibility, letter-spacing и word-spacing.

Свойство leader-pattern определяет вид заполнителя. Значения  "use-content" и "space" (значение по умолчанию) определяют заполнитель из пробелов, а значения  "rule" и "dots" определяют заполнитель как линию или последовательность точек.

Свойство leader-length задает минимальную, оптимальную или максимальную длину заполнителя в фиксированных единицах измерения или в процентах.

Свойство leader-pattern-width определяет размер каждого цикла повторений для повторяющегося заполнителя. Этот размер можно задавать в фиксированных единицах измерения или в процентах. Кроме того, можно использовать значение "use-font-metrics", которое задает ширину наполнителя такой, как определено в метриках его шрифта.

Свойство leader-alignment определяет выравнивание заполнителей относительно содержимого текущей области (значение "reference-area"),  либо относительно текущей страницы (значение "page").  Значение "none" определяет отмену выравнивания (это значение по умолчанию). Для элементов, у которых свойство leader-pattern задано как "dot" или как "use-content", это свойство будет игнорироваться.

Свойство rule-style определят стиль заполнителя в виде линии (это свойство игнорируется, если значение свойства leader-pattern не равно "rule"). Свойство может иметь следующие значения: "dotted" (последовательность точек), "dashed" (последовательность пунктирных линий), "solid" (сплошная линия), "double" (двойная линия), "groove" («вдавленная» линия) и "ridge" («выпуклая» линия). Значение "none" определяет отсутствие линии (это значение по умолчанию).

Свойство rule-thickness определяет толщину линии в фиксированных единицах измерения. Это свойство игнорируется, если значение свойства leader-pattern не равно "rule".

5.3.24.4. Элемент fo:initial-property-set

Элемент fo:initial-property-set определяет свойства форматирования для первой строки объекта fo:block. Этот элемент имеет пустое содержимое.

Для элемента fo:initial-property-set, так же, как и для элемента fo:title, могут быть заданы общие свойства фона, рамки и отступа, общие свойства шрифта, а также свойства относительного позиционирования и свойство id (как для элемента fo:block).

Свойства color, line-height, text-decoration, text-shadow, text-transform, letter-spacing  и word-spacing позаимствованы из CSS2.

Свойство score-spaces определяет, должно ли применяться свойство text-decoration к пробелам. Его значениями является "true" (значение по умолчанию) и "false".

5.3.24.5. Элемент fo:character

Элемент fo:character определяет символ, отображаемый как глиф. Это элемент с пустым содержимым.

Обязательное свойство character задает код символа Unicode.

Кроме этого, для элемента fo:character, так же, как и для элемента fo:title, могут быть заданы общие свойства фона, рамки и отступа, общие свойства шрифта, внутристроковые свойства space-start и space-end, а также свойства относительного позиционирования, свойства переноса слов и свойства id, keep-with-previous, keep-with-next, text-depth и text-altitude (как для элемента fo:block).

Для элемента fo:character, как и для элемента fo:inline, определены свойства dominant-baseline, alignment-baseline, alignment-adjust и baseline-shift.

Свойство score-spaces определяется так же, как для элемента fo:initial-property-set.

Свойства color, line-height, text-decoration, text-shadow, text-transform, letter-spacing , visibility и word-spacing позаимствованы из CSS2.

Свойство treat-as-word-space определяет, должен ли символ рассматриваться как промежуток между словами или как нормальная буква (значения этого свойства могут быть "true", "false" или). Значение  определяет обработку символа в зависимости от его кода.

Свойства glyph-orientation-horizontal и glyph-orientation-vertical определяют горизонтальную и вертикальную ориентацию глифа. Значениями этого свойства могут быть "0deg", "90deg", "180deg" или "270deg". Значением по умолчанию является значение "0deg" (для glyph-orientation-vertical можно задать это значение с помощью "auto").

Свойство suppress-at-line-break определяет, должно ли представление символа подавляться, если он появится по соседству с разрывом строки, генерируемым форматировщиком. Значение "suppress" подавляет представление символа, а значение  "retain" – сохраняет. Значение "auto" подавляет символ пробела и сохраняет остальные символы (это значение по умолчанию).

5.3.24.6. Элементы fo:external-graphic и fo:instream-foreign-object

Элемент используется для вставки внешних изображений. Это элемент с пустым содержимым.

Обязательное свойство src задает URL изображения.

Для элемента fo:external-graphic, так же, как и для элемента fo:title, могут быть заданы общие свойства фона, рамки и отступа, внутристроковые свойства space-start и space-end, а также свойства относительного позиционирования, свойства переноса слов и свойства id, keep-with-previous и keep-with-next (как для элемента fo:block). Определены также свойства block-progression-dimension и inline-progression-dimension, впервые введенные для fo:block-container.

Для элемента fo:character, как и для элемента fo:inline, определены свойства dominant-baseline, alignment-baseline, alignment-adjust и baseline-shift.

Свойство display-align определяется так же, как и для элементов регионов.

Свойства width, height, line-height, overflow и text-align позаимствованы из CSS2.

Свойство content-type задает тип содержимого. Его значением является строка описания MIME-типа содержимого, например, content-type="content-type:image/gif". Значение "auto" возлагает распознавания типа содержимого на пользовательский агент (это значение по умолчанию).

Свойства content-width и content-height определяют ширину и высоту содержимого элемента. Значение может задаваться в фиксированных единицах измерения или процентах. Кроме того, можно задать значение scale-to-fit, для которого величина ширины или высоты содержимого равна ширине или высоте порта просмотра (это значение предполагает наличие определённого фактора масштабирования, применённого к содержимому). Значение "auto" делает размеры порта просмотра равными размеру изображения (это значение по умолчанию).

Свойство scaling определяет, сохраняются (значение "uniform") или не сохраняются (значение "non-uniform") при масштабировании пропорции первоначальных размеров. Значением по умолчанию является "uniform".

Свойство scaling-method определяет метод масштабирования: "integer-pixels" – пользовательский агент должен масштабировать изображение так, чтобы каждый пиксель оригинала масштабировался до ближайшего целого числа пикселей устройства; "resample-any-method" – использовать при масштабировании любой метод. Значение "auto" оставляет метод масштабирования на усмотрение пользовательского агента (это значение по умолчанию).

Элемент fo:instream-foreign-object используется для вставки внутренних изображений (обычно получаемых с помощью рассматриваемого далее языка SVG).

Описание внутреннего изображение выполняется в содержимом элемента. За исключением свойства src, элемент fo:instream-foreign-object имеет те же свойства, что и элемент fo:external-graphic.

5.3.24.7. Элементы fo:page-number  и fo:page-number-citation

Элемент fo:page-number  используется для получения внутристроковой области, чьим содержимым будет номер страницы, на которой размещена эта область.

Для элемента fo:page-number, так же, как и для элемента fo:title, могут быть заданы общие свойства фона, рамки и отступа, общие свойства шрифтов, внутристроковые свойства space-start и space-end, а также свойства относительного позиционирования и свойства id, keep-with-previous, keep-with-next, wrap-option, text-altitude и text-depth (как для элемента fo:block).

Для элемента fo:character, как и для элемента fo:inline, определены свойства dominant-baseline, alignment-baseline, alignment-adjust и baseline-shift.

Свойство score-spaces определяется так же, как для элемента fo:initial-property-set.

Свойство display-align определяется так же, как и для элементов регионов.

Свойства line-height, text-decoration, text-shadow, text-transform, letter-spacing , visibility и word-spacing позаимствованы из CSS2.

Элемент fo:page-number-citation используется как ссылка на номер страницы, содержащей первую нормальную область, возвращаемую цитируемым объектом форматирования. Это элемент с пустым содержимым.

За исключением свойств относительного позиционирования, элемент fo:page-number-citation имеет те же свойства, что и элемент fo:page-number. Кроме того, элемент имеет свойство ref-id, значением которого является ссылка на объект, имеющий заданный уникальный идентификатор.

5.3.25. Элементы форматирования для таблиц

В XSL определено девять элементов, используемых при конструировании таблиц: fo:table-and-caption, fo:table, fo:table-column, fo:table-caption, fo:table-header, fo:table-footer, fo:table-body, fo:table-row и fo:table-cell.

На рис.  5.3.11 показана структура элементов форматирования для таблиц.

Рис. 5.3.11. Структура элементов форматирования для таблиц

5.3.25.1. Элемент fo:table-and-caption и fo:table-caption

Элемент fo:table-and-caption используется для форматирования таблицы вместе с её заголовком. Содержимым этого элемента является элемент fo:table и, кроме того, может быть задан элемент table-caption.

Для элемента fo:table-and-caption, так же, как и для элемента fo:title, могут быть заданы общие свойства фона, рамки и отступа. Кроме того, для элемента могут быть заданы общие свойства полей блока (как и для элемента fo:simple-page-master), а также свойства относительного позиционирования и свойства id, keep-with-previous, keep-with-next, keep-together, intrusion-displace, break-before и break-after (как для элемента fo:block).

Свойство CSS2 text-align задает выравнивание текста в таблице, а caption-side – расположение и выравнивание заголовка таблицы.

Элемент fo:table-caption используется как контейнер объектов форматирования, содержащих заголовок таблицы, только в том случае, если используется fo:table-and-caption. Содержимым этого элемента является один или несколько блоковых элементов

Для элемента fo:table-and-caption, так же, как и для элемента fo:title, могут быть заданы общие свойства фона, рамки и отступа,  а также свойства относительного позиционирования и свойства id, keep-together и intrusion-displace, break-before break-after (как для элемента fo:block). Для элемента определены также свойства block-progression-dimension и inline-progression-dimension элемента  fo:block-container.

Свойства CSS2 width и height определяют ширину и высоту заголовка.

5.3.25.2. Элемент fo:table

Элемент используется для форматирования содержимого всей таблицы. Содержимым этого элемента является один или несколько элементов fo:table-body. Кроме этого могут быть заданы по одному элементу   fo:table-header и/или fo:table-footer, а также несколько элементов fo:table-column.

Для элемента fo:table-and-caption, так же, как и для элемента fo:title, могут быть заданы общие свойства  рамки, отступа и фона. Кроме того, для элемента могут быть заданы общие свойства полей блока (как и для элемента fo:simple-page-master), а также свойства относительного позиционирования и свойства id, keep-with-previous, keep-with-next, keep-together, intrusion-displace, break-before и break-after (как для элемента fo:block).

Так же, как для элемента fo:block-container, для fo:table определены свойства block-progression-dimension и inline-progression-dimension, а свойство writing-mode действует так же, как для элемента fo:simple-page-master.

Свойства CSS2 width и height определяют ширину и высоту таблицы, свойство table-layout управляет алгоритмом, используемым для структурирования ячеек, рядов и столбцов таблицы, а свойство border-collapse выбирает модель рамки таблицы.

Свойства table-omit-header-at-break и table-omit-footer-at-break определяют должна ли быть пропущена (значение true") или выведена (значение "false") заголовочная или подвальная часть таблицы при выводе части таблицы на новой странице. Значение по умолчанию для этих свойств – "false".

Свойства border-before-precedence, border-after-precedence, border-start-precedence и border-end-precedence определяет приоритет соответствующей рамки таблицы. Можно задать либо числовое значение приоритета, либо значение "force" – наивысший приоритет. По умолчанию значение этих свойств для элемента fo:table равно 5.

Свойство border-separation определяет в фиксированных единицах измерения расстояние между рамками смежных ячеек (это пространство заполняется фоном элемента таблицы). Строки, столбцы, группы строк и группы столбцов не могут иметь рамок. По умолчанию значение этого свойства равно "0pt".

5.3.25.3. Элементы fo:table-header, fo:table-body и fo:table-footer

Элементы fo:table-header, fo:table-body и fo:table-footer используются для вывода соответственно заголовочной части таблицы, тела таблицы или подвальной части таблицы. Содержимым этих элементов являются один или несколько элементов fo:table-row или fo:table-cell.

Для этих элементов, так же  как и для элемента fo:title, могут быть заданы общие свойства  фона (если значение border-collapse для таблицы равно "collapse" или "collapse-with-precedence", применяются также свойства рамки). Кроме того, для элемента могут быть заданы свойства относительного позиционирования и свойство id (как для элемента fo:block).

Свойства border-before-precedence, border-after-precedence, border-start-precedence и border-end-precedence определяет приоритет соответствующей рамки заголовочной части, тела или подвала таблицы. По умолчанию значения этих свойств для fo:table-body равны "2", для fo:table-header"1" и для fo:table-footer"0".

5.3.25.4. Элемент fo:table-column

Элемент fo:table-column определяет характеристики ячеек в столбцах таблицы. Это элемент с пустым содержимым.

Для элемента fo:table-column, так же  как и для элемента fo:title, могут быть заданы общие свойства  фона (если значение border-collapse для таблицы равно "collapse" или "collapse-with-precedence", применяются также свойства рамки).

Свойство CSS2 visibility задает видимость столбцов.

Свойство  column-number задает номер столбца, для которого используется свойства из этого элемента.  Значение по умолчанию: 1 плюс номер столбца предыдущего столбца таблицы, если этот предыдущий столбец имеется, либо "1" – в противном случае.

Свойство column-width задает в фиксированных единицах измерения или в процентах ширину столбца таблицы.

Свойство number-columns-repeated задает количество повторений свойств, определенных в элементе (значение по умолчанию – "1").

Свойство number-columns-spanned определяет количество столбцов, начиная с текущего столбца, для которого используется свойства из этого элемента.

5.3.25.5. Элемент fo:table-row

Элемент fo:table-row используется для группирования ячеек таблицы в строки. Содержимым этого элемента являются один или несколько элементов fo:table-cell.

Для элемента fo:table-row, так же  как и для элемента fo:title, могут быть заданы общие свойства  фона (если значение border-collapse для таблицы равно "collapse" или "collapse-with-precedence", применяются также свойства рамки). Кроме того, для элемента могут быть заданы свойства относительного позиционирования и свойства id, keep-with-previous, keep-with-next, keep-together, break-before и break-after (как для элемента fo:block).

Свойство CSS2 height задает высоту столбцов.

Свойства border-before-precedence, border-after-precedence, border-start-precedence и border-end-precedence определяет приоритет соответствующей рамки строки таблицы. По умолчанию значения этих свойств для fo:table-row равны "3".

5.3.25.6. Элемент fo:table-cell

Элемент fo:table-cell используется для формирования ячейки таблицы. Содержимым этого элемента являются один или несколько блоковых элементов.

Для элемента fo:table-cell, так же, как и для элемента fo:title, могут быть заданы общие свойства  рамки, отступа и фона.

Кроме того, для элемента могут быть заданы свойства относительного позиционирования и свойства id, break-before и break-after (как для элемента fo:block).

Так же, как для элемента fo:block-container, для fo:table-cell определено свойство block-progression-dimension, а свойство display-align определяется так же, как для элементов регионов.  

Свойства CSS2 width и height определяют ширину и высоту таблицы, а свойство empty-cells управляет выводом ячейки без содержимого.

Свойство column-number определяет номер первого столбца, захватываемого ячейкой таблицы. Начальное значение – это текущий номер столбца. Для первой ячейки таблицы в ряду таблицы текущий номер столбца равен 1. Для других ячеек таблицы – текущий номер столбца это номер столбца предыдущей ячейки ряда плюс количество столбцов, захваченных этой предыдущей ячейкой.

Свойство relative-align определяет выравнивание, в направлении block-progression-direction, между двумя областями или более. Если к объекту применяется свойство display-align, и оно имеет значение, отличное от "auto", то это свойство игнорируется. Значение "before" определяет, что для каждого ряда первая область-потомок всех ячеек ряда, которая начинается в этом ряду и имеет это значение, размещается так, что before-edge прямоугольника содержимого помещается на том же расстоянии от решётки ряда (это значение по умолчанию). Значение "baseline" определяет, что для каждого ряда первая область-потомок всех ячеек ряда, которая начинается в этом ряду и имеет это значение, размещается так, что заданная в fo:table-row доминантная базовая линия первой строки помещается на том же расстоянии от решётки ряда.

Свойства starts-row и ends-row определяют, начинает или заканчивает ячейка строку (значение "true") или нет (значение "false"). По умолчанию эти свойства имеют значение "false".

Свойства number-rows-spanned и number-columns-spanned определяют количество строк или столбцов, захватываемых ячейкой. По умолчанию значения этих свойств равны "1".

5.3.26. Элементы форматирования для списков в XSL

В XSL имеется четыре элемента, используемых для построения списков: fo:list-block, fo:list-item, fo:list-item-label и fo:list-item-body.

Иерархия этих элементов приведена на рис. 5.3.12.

Рис. 5.3.12. Структура элементов форматирования для списков

Блоковый элемент fo:list-block используется для форматирования списка. Содержимым этого элемента является один или несколько элементов list-item.

Блоковый элемент fo:list-item содержит метку (элемент fo:list-item-label) и тело (элемент fo:list-item-body) элемента списка. Кроме того, fo:list-item элемент может содержать 0 или более элементов fo:marker в качестве начальных дочерних элементов.   

Для элементов fo:list-block и  fo:list-item так же, как и для элемента fo:title, могут быть заданы общие свойства  рамки, отступа и фона. Кроме того, для этих элементов могут быть заданы общие свойства полей блока (как и для элемента fo:simple-page-master), а также свойства относительного позиционирования и свойства id, keep-with-previous, keep-with-next, keep-together, intrusion-displace, break-before и break-after (как для элемента fo:block).

Для элемента fo:list-item может быть задано свойство relative-align, которое  определяет выравнивание, в направлении block-progression-direction, между двумя областями или более. Значение "before" определяет, что передний край потомка первой области, генерируемого объектом fo:list-item-label, размещается прилегающим к начальному краю области, генерируемой объектом fo:list-item (это значение по умолчанию). Значение "baseline" определяет, расстояние между базовой линией первой строчной области первого потомка области, генерируемого объектом fo:list-item-label, то же самое, что и расстояние между первой базовой линией первой строчной области первого потомка области, генерируемого объектом fo:list-item-body.

Для элемента fo:list-block определены также свойства provisional-distance-between-starts и provisional-label-separation.

Первое свойство определяет расстояние (в фиксированных единицах измерения или процентах) между начальным отступом метки элемента списка и началом тела элемента списка, а второе – расстояние (в фиксированных единицах измерения или процентах) между концом метки элемента списка и началом тела элемента списка. По умолчанию, значение первого свойства равно "24.0pt", а второго – "6.0pt".

Элемент fo:list-item-label определяет метку элемента списка, а элемент fo:list-item-body – тело элемента списка. Содержимым этих элементов является один или несколько блоковых элементов.

Для этих элементов определены свойства id и keep-together (как для элемента fo:block).

5.3.27. Элементы динамического форматирования в XSL

Элементы динамического форматирования в XSL обеспечивают следующие возможности:

  •  однонаправленные одноцелевые ссылки;
  •  переключение между выводом двух или более поддеревьев объектов форматирования (например, раскрывающихся/сжимающихся оглавлений, отображения иконок или полной таблицы или графики);
  •  переключение между различными значениями свойств (например, как цвет или размер шрифта).

5.3.27.1. Однонаправленные одноцелевые ссылки

Для реализации однонаправленных одноцелевых ссылок в XSL используется элемент fo:basic-link. Содержимое этого элемента либо пустое, либо одна или несколько символьных областей (#PCDATA), либо одна или несколько блоковых областей, либо одна или несколько внутристроковых областей.

Свойства internal-destination и external-destination задают соответственно внутреннюю или внешнюю ссылку. Для внешней ссылки задается URI, а для внутренней – узел объекта назначения потока (обычно значение свойства id элемента, на который ссылается данный элемент). Одно из этих свойств должно быть обязательно задано в элементе (одновременное задание обоих свойств считается ошибкой).

Для элемента fo:basic-link так же, как и для элемента fo:title, могут быть заданы общие свойства  рамки, отступа и фона, а также внутристроковые свойства  space-start и space-end. Для этого элемента могут быть также заданы свойства dominant-baseline, alignment-baseline, alignment-adjust, и baseline-shift (как для элемента fo:inline). Кроме того, для этого элемента могут быть заданы общие свойства относительного позиционирования и свойства id, keep-with-previous, keep-with-next и keep-together (как для элемента fo:block).

Свойство CSS2 line-height определяет высоту строки.

Свойство show-destination задает, должен ли быть ресурс назначения видимым. Значение "replace" определяет, что текущий вид документа должен быть замещён (это значение по умолчанию), а свойство  "new" – что всегда должен открываться новый (дополнительный) вид документа.

Свойство indicate-destination определяет должны ли области при их пересечении (например, курсором мыши) быть обозначены каким-то образом (значение "true") или нет (значение "false"). Значение по умолчанию для этого свойства - "false".

Свойство target-stylesheet определяет способ использования таблиц стилей для ресурса, на который выполняется ссылка. Значение "use-normal-stylesheet" (это значение по умолчанию) задает обычные для пользовательского агента методы определения таблицы стиле, а задание в качестве значения URI определяет таблицу стилей, которая будет использоваться для обработки ресурса.

Свойство target-processing-context определяет контекст обработки элемента, на который производится ссылка. Значение "document-root" задает в качестве контекста корень документа внешней ссылки (это значение по умолчанию), а задание в качестве значения URI определяет корень виртуального документа, который должен быть обработан процессором, готовящим новое представление, если внешняя ссылка является ресурсом обработанного структурированного типа носителя (например, XML, SVG).

Свойство target-presentation-context определяет контекст представления ссылки. Значение use-target-processing-context задает использование контекста, определенного свойством target-processing-context (это значение по умолчанию), а задание в качестве значения URI определяет  ограниченный контекст, в котором ресурс должен быть представлен, если внешнее назначение является ресурсом обработанного структурированного типа носителя, для которого имеет смысл ограниченный контекст представления (например, XML, XHTML, SVG).

5.3.27.2. Переключение между поддеревьями объектов форматирования

Для переключения между поддеревьями используются элементы fo:multi-switch, fo:multi-case и fo:multi-toggle. Структура результирующего дерева показана на рис. 5.3.13.

Элемент fo:multi-switch служит оболочкой для определения альтернативных поддеревьев объектов форматирования (каждое поддерево находится внутри элемента fo:multi-case) и управляет активируемым с помощью fo:multi-toggle переключением альтернатив. Содержимым этого элемента является один или несколько элементов fo:multi-case.

Для элемента может быть задан уникальный идентификатор в свойстве id.

Рис. 5.3.13. Структура результирующего дерева

Свойство auto-restore задает поведение переключателей в случае вложенных элементов fo:multi-switch. Значение "true" определяет, что если этот переключатель fo:multi-switch содержится в другом переключателе fo:multi-switch и этот fo:multi-switch изменяет активный fo:multi-case (скрывая fo:multi-switch), тогда этот fo:multi-switch должен восстанавливать этот начальный fo:multi-case, а значение "false" определяет, что этот fo:multi-switch не должен изменять свой fo:multi-case (это значение по умолчанию).

Элемент fo:multi-case используется как контейнер (внутри fo:multi-switch) каждого альтернативного поддерева объектов форматирования, среди которых родительский элемент fo:multi-switch выберет одно для показа и скроет остальные. Содержимое этого элемента либо пустое, либо одна или несколько символьных областей (#PCDATA), либо одна или несколько блоковых областей, либо одна или несколько внутристроковых областей.

Обязательное свойство name задает имя элемента (имя должно быть уникальным среди имеющихся родственных элементов fo:multi-case, т.е. в области видимости объекта fo:multi-switch, который их содержит).

Обязательное свойство case-title задает строку – описательное  название для элемента fo:multi-case. Название может отображаться в меню для представления этого элемента, когда элемент fo:multi-toggle именует несколько элементов fo:multi-case  как допустимые объекты назначения.

Для элемента может быть задан уникальный идентификатор в свойстве id.

Свойство starting-state задает начальное состояние видимости элемента: значение "show" – элемент является видимым (значение по умолчанию) или "hide" – элемент является невидимым.

Элемент fo:multi-toggle обычно используется для установки области, которая, после активации (например, реализованной как "clicked"), осуществляет переключение от одного элемента fo:multi-case к другому.

Содержимое этого элемента либо пустое, либо одна или несколько символьных областей (#PCDATA), либо одна или несколько блоковых областей, либо одна или несколько внутристроковых областей.

Для элемента может быть задан уникальный идентификатор в свойстве id.

Свойство switch-to определяет, на какой из элементов fo:multi-case будет переключать этот элемент. Это свойство может принимать одно из следующих значений:

  •  "xsl-preceding" – активация переключателя должна в результате давать замещение текущего элемента fo:multi-case его предшествующим родственником;
  •  "xsl-following" – активация переключателя должна в результате давать замещение текущего элемента fo:multi-case его последующим родственником;
  •  "xsl-any" – активация переключателя должна дать пользователю возможность выбора другого родственника – элемента fo:multi-case (значение по умолчанию)
  •  имя – значение свойства case-name элемента fo:multi-case;
  •  список – список имен, разделенных пробелами (пользователь может переключаться на любой из именованных объектов).  

5.3.27.3. Переключение между различными значениями свойств

Элемент fo:multi-properties используется для переключения между двумя или более наборами, ассоциированными с данной частью содержимого, и может использоваться для создания различных представлений данной части содержимого.

Содержимым данного элемента является один или несколько элементов fo:multi-property-set и один элемент fo:wrapper.

Единственное свойство элемента fo:multi-propertiesid, определяющее уникальный идентификатор элемента.

Вспомогательный элемент fo:multi-property-set используется для задания альтернативного набора свойств форматирования, который используется для альтернативного представления дочерних объектов потока элемента fo:wrapper – потомка  родителя этого элемента fo:multi-property-set. Этот элемент не имеет содержимого.

Для элемента может быть задан уникальный идентификатор в свойстве id.

Обязательное свойство active-state управляет тем, какой из наборов fo:multi-property-sets используется для форматирования дочерних объектов потока внутри элемента fo:multi-properties. Состояния (или как минимум события, вызывающие определённые состояния) определены в DOM. Это свойство должно иметь одно из следующих значений:

  •  "link" – применяется, если имеется fo:basic-link – потомок родительского fo:multi-properties, и эта ссылка ещё не посещалась;
  •  "visited" – применяется, если имеется fo:basic-link – потомок родительского fo:multi-properties, и эта ссылка уже посещалась;
  •  "active" – применяется, если нормальная область, возвращаемая родительским объектом fo:multi-properties, активирована пользователем (например, в промежуток времени между нажатием и отпусканием клавиши мыши);
  •  "hover" – применяется, если пользователь указал на нормальную область, возвращаемую родительским объектом fo:multi-properties (некоторым указательным устройством), но не активировал её (например, курсор мыши проходит над этой областью);
  •  "focus" – применяется, если нормальная область, возвращаемая родительским объектом fo:multi-properties, имеет фокус (принимает события от клавиатуры или другие формы ввода текста).

Элемент fo:wrapper используется для задания наследуемых свойств для группы элементов. Содержимое этого элемента либо пустое, либо одна или несколько символьных областей (#PCDATA), либо одна или несколько блоковых областей, либо одна или несколько внутристроковых областей.

Элемент fo:wrapper может иметь только потомков, которые могут быть потомками родителя объекта fo:wrapper, с двумя исключениями:

  •  элемент fo:wrapper всегда может содержать последовательность из 0 или более fo:marker в качестве начальных потомков:
  •  только fo:wrapper – потомок fo:multi-properties может иметь потомков, которые допускаются вместо fo:multi-properties.

Единственное свойство элемента fo:wrapper id, определяющее уникальный идентификатор элемента.

5.3.28. Внестроковые элементы XSL

Элемент fo:float обычно используется для позиционирования изображения в отдельной области в начале страницы или для позиционирования изображения у одной из сторон с нормальным содержимым, обтекающим изображение вокруг и с одной стороны. Содержимым этого элемента является один или несколько блоковых элементов.

Позаимствованное из CSS2 свойство float определяет должен ли элемент «обтекаться» текстов справа или слева, или вообще не «обтекаться», а свойство CSS2 clear показывает, какие стороны окна элемента не могут быть смежными с предыдущим всплывающим окном.

Элемент fo:footnote обычно используется для задания сносок внутри региона region-body на странице и соответствующих сносок в отдельной области, ближайшей к нижнему краю этой страницы. Содержимым этого элемента является любой  внутристроковый элемент и элемент fo:footnote-body. Элемент не имеет свойств.

Элемент fo:footnote-body используется для генерации содержимого сноски. Его содержимым является один или несколько блоковых элементов. Этот элемент также не имеет свойств.

Элементы fo:marker и fo:retrieve-marker используются совместно для создания фиксированных верхних или нижних колонтитулов.

Типичные примеры: шапки словарей, показывающие первое и последнее слово, определённые на странице, шапки, показывающие заголовки глав и разделов страницы.

Содержимое элемента fo:marker либо пустое, либо одна или несколько символьных областей (#PCDATA), либо одна или несколько блоковых областей, либо одна или несколько внутристроковых областей. Элемент fo:retrieve-marker имеет пустое содержимое.

Обязательное свойство retrieve-class-name элемента fo:retrieve-marker определяет имя, совпадающее со значением свойства marker-class-name объекта fo:marker.

Обязательное свойство marker-class-name элемента fo:marker определяет этот элемент как находящийся в группе с другими элементами, имеющими то же имя (значение свойства marker-class-name), каждый из которых становится кандидатом на запрос со стороны объектом fo:retrieve-marker, имеющим свойство retrieve-class-name с тем же значением.

Свойство retrieve-position элемента fo:retrieve-marker задает приоритет запросов потомков объекта fo:marker объектом fo:retrieve-marker. Это свойство может иметь одно из следующих значений: "first-starting-within-page" – приоритет для первого появления внутри страницы (значение по умолчанию); "first-including-carryover" – приоритет для первого потомка;  "last-starting-within-page" – приоритет для последнего появления внутри страницы; "last-ending-within-page" – приоритет для последнего окончания внутри страницы.

Свойство retrieve-boundary элемента fo:retrieve-marker задает, что потомки любого объекта fo:marker, являющиеся потомками объекта fo:flow внутри документа, могут быть запрошены этим fo:retrieve-marker.  Это свойство может иметь одно из следующих значений: "page" – потомки любого объекта fo:marker, чей родитель сгенерирован или возвращён нормальной областью внутри содержащей страницы или сгенерирован ненормальной областью внутри содержащей страницы, могут быть запрошены этим элементом fo:retrieve-marker; "page-sequence" – только потомки объекта fo:markers, являющиеся потомками объекта fo:flow внутри содержащей последовательности fo:page-sequence, могут быть запрошены этим элементом fo:retrieve-marker (значение по умолчанию); "document" – потомки любого объекта fo:marker, являющиеся потомками объекта fo:flow внутри документа, могут быть запрошены этим элементом fo:retrieve-marker.

Файл: file:///web/1/5fan/public_html/www/files/13/5fan_ru_69046_d3a2eca5ec6e8525bee0f29cd23d134b.doc   Создан: 2008-04-03T12:28:00Z Модифицирован: 2008-04-03T12:28:00Z     Автор:


fo:
table-and-caption

fo:table-caption

fo:list-item-label

o:table

fo:list-item

fo:table-column

fo:table-header

fo:table-body

fo:table-row

fo:table-cell

fo:table-row

fo:table-cell

fo:table-row

fo:list-block

fo:table-cell

fo:table-row

fo:table-cell

fo:table-footer

fo:list-item-body

……

……

fo:multi-case

Общие FO и fo:multi-toggle

Общие FO и fo:multi-toggle

fo:multi-case

fo:multi-switch


 

А также другие работы, которые могут Вас заинтересовать

84643. Жидкие дрожжи и их технологическое значение, микрофлора. Разводочный и производственный циклы приготовления, основные схемы приготовления, их сравнительная оценка. Показатели качества жидких дрожжей 22.62 KB
  Показатели качества жидких дрожжей Понятие о жидких дрожжах и их технологическом значении Жидкие дрожжи используются в отечественном хлебопечении в качестве биологического разрыхлителя при производстве хлеба из пшеничной муки смеси пшеничной и ржаной полностью приготовленного на жидких дрожжах...
84644. Хлебопекарные свойства пшеничной муки и факторы, их характеризующие. Газообразующая способность пшеничной муки и факторы, ее обусловливающие 24.64 KB
  Хлебопекарные свойства пшеничной муки и факторы их характеризующие. Газообразующая способность пшеничной муки и факторы ее обусловливающие. Сила пшеничной муки и факторы ее определяющие. Технологическое значение силы муки.
84645. Хлебопекарные свойства ржаной муки и показатели, их характеризующие. Особенности углеводно-амилазного и белково-протеиназного комплексов ржаной муки. Автолитическая активность ржаной муки и методы ее определения 23.39 KB
  Хлебопекарные свойства ржаной муки и показатели их характеризующие. Особенности углеводно-амилазного и белково-протеиназного комплексов ржаной муки. Автолитическая активность ржаной муки и методы ее определения. Химический состав ржаной муки В хлебопекарном производстве используется ржаная сортовая мука...
84646. Дополнительное сырье хлебопекарного производства. Соотношение и роль в тесте отдельных видов сырья 39.13 KB
  Для технологических и хозяйственных нужд хлебозаводы используют обычно воду из городского питьевого водопровода. Для бесперебойного снабжения водой и создания постоянного напора во внутренней водопроводной сети устанавливают специальные баки с холодной и горячей водой.
84647. XIX Century Literature 27.1 KB
  Dickens, Charles John Huffam (1812-1870), probably the best-known and, to many people, the greatest English novelist of the 19th century. A moralist, satirist, and social reformer, Dickens crafted complex plots and striking characters that capture the panorama of English society.
84648. Энергия, работа. Закон всемирного тяготения 964 KB
  а предыдущей лекции было показано, что количество движения принимается в качестве меры механического движения. Применение такой меры допустимо, если передача механического движения от одного тела к другому, происходит без превращения в другие формы движения материи.
84649. Механика вращательного движения твёрдого тела. Виды движения твёрдого тела 953.5 KB
  Виды движения твёрдого тела. Движения твёрдого тела Поступательное движение тела при котором тело перемещается параллельно самому себе. Вращательное движение тела при котором все точки его движутся по окружностям и их центры расположены на одной прямой оси вращения.
84650. Сплошные тела. Абсолютно упругое тело. Виды деформаций 1010 KB
  Известно что все тела состоят из молекул и атомов между которыми существуют силы взаимодействия поэтому и формируемое тело можно рассматривать как систему материальных точек расстояния между которыми изменяются при их деформации.
84651. Элементы механики сплошных сред. Свойства и строение жидкостей 1.34 MB
  Жидкости –- тела которые имеют определенный объем но не имеют упругости формы. Жидкости – это вещества которые обладают свойствами как газов так и твердых тел. Текучесть жидкости. Объясняется на основе представления о характере теплового движения молекул как и в газах только перемещение молекул...