Объекты Форматирования-4
6.6.6 fo:instream-foreign-object
Обычное Использование:
Объект потока fo:instream-foreign-object используется для инлайн-графики или других "родовых" объектов, где данные объекта расположены как потомки fo:instream-foreign-object, обычно как элемент-поддерево XML в не-XSL пространстве имён.
ПРИМЕЧАНИЕ:
Общий формат - SVG.
Области:
ОФ fo:instream-foreign-object генерирует и возвращает одну инлайн-область viewport-area и одну область reference-area, содержащую instream-foreign-object. Область инлайн-уровня использует large-allocation-rectangle как определено в [4.2.3 Геометрических Определениях].
Ограничения:
Размер порта просмотра определяется уточнениями block-progression-dimension и inline-progression-dimension. Для значений "auto" используется размер содержимого постороннего объекта/instream foreign входного потока. Размер содержимого объекта instream-foreign-object определяется путём взятия размера объекта и масштабирования его так, как специфицировано в уточнениях content-height, content-width и scaling. Если content-height или content-width не установлены в "auto", тот же самый фактор масштабирования (подсчитанный из не-auto значения) применяется одинаково в обоих направлениях. После масштабирования область reference-area выравнивается относительно области порта просмотра с использованием уточнений text-align и display-align. Если instream-foreign-object слишком велик для области порта просмотра, он выравнивается так, как если бы он вмещался и уточнение overflow управляло усечением, полосами прокрутки и т.д. В том случае, если instream-foreign-object не специфицирует размер объекта, он определяется способом, зависящим от конкретной реализации.
Содержимое:
Объект потока fo:instream-foreign-object имеет потомка из не-XSL пространства имён. Разрешённой структурой этого потомка является структура, определённая для данного пространства имён. Объект потока fo:instream-foreign-object может иметь дополнительные атрибуты в не-XSL пространства имён. Они, также как и определяемые XSL свойства, сделаны доступными для процессора содержимого объекта потока. Их семантика определяется этим пространством имён.
Следующие свойства применяются к данному ОФ:
6.6.7 fo:inline
Обычное Использование:
ОФ fo:inline обычно используется для форматирования участка текста с фоном или в рамке.
Области:
ОФ fo:inline генерирует одну или более нормальных инлайн-областей. fo:inline возвращает эти области - любые области page-level-out-of-line - и любые области reference-level-out-of-line, возвращаемые потомками объекта fo:inline.
Ограничения:
Никакая область не может иметь более одной нормальной области-потомка, возвращаемой тем же самым ОФ fo:inline. Потомки каждой нормальной области, возвращаемой объектом fo:inline, обязаны удовлетворять ограничениям, специфицированным в разделе [4.7.3 Инлайн-Конструирование]. Дополнительно обязаны выполняться ограничения, вводимые уточнениями, полученными из свойств, применяемых в данном ОФ. Геометрические ограничения строго определены в [4 Модели Области].
Содержимое: (#PCDATA|%inline;|%block;)*
Этот ОФ может содержать дополнительно последовательность из нуль или более fo:marker как своих начальных потомков.
fo:inline, являющийся потомком fo:footnote, не может иметь потомков уровня блока. fo:inline, являющийся потомком fo:leader или fo:inline, потомка fo:footnote, не может иметь потомков уровня блока, если только он не имеет ближайшего предка, являющегося контейнером fo:inline-container.
Следующие свойства применяются к данному ОФ:
6.6.8 fo:inline-container
Обычное Использование:
Объект потока fo:inline-container используется для генерации инлайн-областей reference-area, обычно содержащих блоки текста с различным режимом (направлением) письма.
ПРИМЕЧАНИЕ:
Использование этого объекта потока не требуется для двунаправленного текста; в данном случае в данном случае достаточно алгоритма Unicode BIDI и объекта fo:bidi-override.
Области:
ОФ fo:inline-container генерирует одну или более пар viewport/reference (порт просмотра/ссылка). Области viewport-area, генерируемые объектом fo:inline-container, являются нормальными инлайн-областями, использующими прямоугольник large-allocation-rectangle, как определено в [4.2.3 Геометрических Определениях]. fo:inline-container возвращает эти области и любые области page-level-out-of-line, возвращаемые потомками fo:inline-container.
Получение Уточнения:
Области, генерируемые ОФ fo:inline-container, имеют для is-reference-area значение "true". Размер областей viewport-area и reference-area должен быть фиксированным в направлении inline-progression-direction. Он обязан быть специфицированным, если только направление inline-progression-direction не параллельно inline-progression-direction области reference-area, в которую помещаются области, генерируемые этим объектом потока. Значения в таблице baseline-table этого объекта вычисляются так:
- baseline
-
Если режим письма имеет направление block-progression-direction, параллельное block-progression-direction родителя: точка выравнивания находится в позиции доминантной базовой линии/dominant-baseline первой строчной области-потомка. Если такой строчной области нет, точка выравнивания/alignment-point находится в позиции after-edge прямоугольника размещения.
Если режим письма имеет направление block-progression-direction, не параллельное block-progression-direction родителя: точка выравнивания находится в позиции, равной половине расстояния от before-edge до after-edge прямоугольника содержимого.
- before-edge
-
Точка выравнивания находится в позиции before-edge прямоугольника размещения.
- text-before-edge
-
Точка выравнивания находится в позиции, ближайшей к before-edge прямоугольника размещения, выбираемого из двух краёв-кандидатов. Если режим письма имеет направление block-progression-direction, параллельное block-progression-direction родителя, краями-кандидатами являются before-edge и after-edge прямоугольника содержимого; если это не так (не параллельно), краями-кандидатами являются start-edge и end-edge прямоугольника содержимого.
- middle
-
Точка выравнивания находится в позиции, равной половине расстояния от before-edge до after-edge прямоугольника размещения.
- after-edge
-
Точка выравнивания/alignment-point находится в позиции after-edge прямоугольника размещения.
- text-after-edge
-
Точка выравнивания находится в позиции, ближайшей к after-edge прямоугольника размещения, выбираемого из двух краёв-кандидатов. Если режим письма имеет направление block-progression-direction, параллельное block-progression-direction родителя, краями-кандидатами являются before-edge и after-edge прямоугольника содержимого; если это не так (не параллельно), краями-кандидатами являются start-edge и end-edge прямоугольника содержимого.
- ideographic
-
Точка выравнивания находится в позиции на расстоянии 7/10 дистанции от before-edge прямоугольника размещения до after-edge прямоугольника размещения.
- alphabetic
-
Точка выравнивания находится в позиции на расстоянии 6/10 дистанции от before-edge прямоугольника размещения до after-edge прямоугольника размещения.
- hanging
-
Точка выравнивания находится в позиции на расстоянии 2/10 дистанции от before-edge прямоугольника размещения до after-edge прямоугольника размещения..
- mathematical
-
Точка выравнивания находится в позиции на расстоянии 5/10 дистанции от before-edge прямоугольника размещения до after-edge прямоугольника размещения..
Ограничения:
Никакая область не может иметь более одной нормальной области-потомка, возвращаемой тем же самым ОФ fo:inline-container. Потомки каждой области reference-area, генерируемой ОФ fo:inline-container, обязаны быть нормальными блок-областями, возвращаемыми потомками объекта fo:inline-container, обязаны быть properly stacked/правильно стэкированы обязаны быть properly ordered/правильно упорядоченными. Любые области reference-level-out-of-line, возвращаемые потомками объекта fo:inline-container, обрабатываются так, как описано в разделе [6.10.2 fo:float].
Содержимое: (%block;)+
Этот ОФ дополнительно может содержать последовательность из нуль или более fo:marker в качестве начальных потомков.
Следующие свойства применяются к данному ОФ:
6.6.9 fo:leader
Обычное Использование:
ОФ fo:leader часто используется:
-
в оглавлении для генерации последовательностей глифов "." , разделяющих заголовки и номера страниц
-
для создания полей ввода в формах in fill-in-the-blank (бланк-для-заполнения)
-
для создания горизонтальных линий, используемых в качестве разделителей
Области:
ОФ fo:leader генерирует и возвращает одну нормальную инлайн-область.
Получение Уточнения:
Если значение патэрна leader-pattern равно "use-content", то направление block-progression-dimension прямоугольника содержимого определяется тем же способом, что и для строчных областей; в ином случае оно определяется уточнением rule-thickness.
Ограничения:
Если заполнитель/leader имеет минимальную длину слишком большую, чтобы разместиться в строчной области, заполнитель начнёт новую строку. Если он слишком велик, чтобы разместиться в одной строке, он будет переполнять строку и потенциально переполнять область reference-area в соответствии с уточнением overflow контейнера. ОФ fo:leader может иметь любые инлайн- ОФ и символы в качестве потомков, за исключением того, что fo:leaders не может вкладываться. Потомки игнорируются, если только значение уточнения leader-pattern не равно "use-content".
ПРИМЕЧАНИЕ:
Если значение уточнения leader-pattern равно "use-content" и fo:leader не имеет потомков, заполнение будет сделано пустым пространством.
Инлайн-область, генерируемая fo:leader, имеет размер в направлении inline-progression-direction, который будет равен минимально leader-length.minimum и максимально leader-length.maximum. Для строчных областей, специфицированных с выравниванием по формату/justify, выравниваемая по формату строчная область обязана учитывать уточнение leader-alignment, любой инлайн-области, генерируемой fo:leader'ами. Если значением уточнения leader-pattern является "dots" или "use-content", применяются следующие ограничения: Инлайн-область, генерируемая объектом fo:leader, имеет в качестве потомков области, возвращаемые потомками объекта fo:leader или получаемые путём форматирования патэрна, специфицированного в уточнении leader-pattern, повторяемого интегральное количество раз. Если ширина даже одного повторения больше размера инлайн-области в направлении inline-progression-direction, инлайн-область должна быть заполнена пустым пространством. space-start и space-end областей потомков устанавливается для вычисления ограничений, специфицируемых в уточнениях leader-pattern-width и leader-alignment.
ПРИМЕЧАНИЕ:
Если нужно, чтобы заполнитель растягивался для заполнения всего свободного пространства строки, максимальная длина заполнителя должна быть специфицирована не меньшей, чем ширина столбца.
ПРИМЕЧАНИЕ:
Выравнивание заполнителя может зависеть от письма и требовать указания, какая конкретно точка выравнивания, поскольку оно отличается от выравнивания по умолчанию для данного письма. Например, при использовании индийского письма заполнитель выравнивается по алфавитной базовой линии.
ПРИМЕЧАНИЕ:
fo:leader может быть "обёрнут" в fo:block, давая в результате блок-область со строчной областью, содержащей заполнитель, для создания линий, разделяющих или обрамляющих блок-области.
Содержимое: (#PCDATA|%inline;)*
Содержимое не может содержать fo:leader, fo:inline-container, fo:block-container, fo:float, fo:footnote или fo:marker иначе, как прямых дочерних элементов или потомков.
Следующие свойства применяются к данному ОФ:
6.6.10 fo:page-number
Обычное Использование:
ОФ fo:page-number используется для получения инлайн-области, чьим содержимым будет номер страницы, на которой инлайн-область размещена.
Области:
ОФ fo:page-number генерирует и возвращает одну нормальную инлайн-область/inline-area.
Ограничения:
Дочерние области этой инлайн-области будут теми же, что и в результате форматирования фрагмента результирующего дерева, состоящего из объектов потока fo:character; одного для каждого символа в строке page-number и с единственным специфицированным свойством "character". Строка page-number/номер страницы получается путём конвертации номера страницы, на которой инлайн-область размещена в соответствии со свойствами конверсии чисел в строки родительского объекта fo:page-sequence.
ПРИМЕЧАНИЕ:
Свойствами конверсии являются: [7.24.1 "format"], [7.24.2 "grouping-separator"], [7.24.3 "grouping-size"], [7.24.4 "letter-value"], [7.9.1 "country"] и [7.9.2 "language"].
Содержимое: EMPTY
Следующие свойства применяются к данному ОФ:
6.6.11 fo:page-number-citation
Обычное Использование:
fo:page-number-citation используется как ссылка на page-number страницы, содержащей первую нормальную область, возвращаемую цитируемым ОФ.
ПРИМЕЧАНИЕ:
Может использоваться для предоставления номеров страниц в оглавлениях, перекрёстных ссылках и вхождениях индексов.
Области:
ОФ fo:page-number-citation генерирует и возвращает одну нормальную инлайн-область.
Ограничения:
Цитируемый номер страницы/page-number это номер страницы, содержащей, в качестве потомка, первую нормальную область, возвращаемую объектом форматирования с уточнением id, соответствующим уточнению ref-id объекта fo:page-number-citation (ОФ, на который ссылаются).
Строка цитируемого номер страницы получается путём конвертации цитируемого page-number в соответствии со свойствами конверсии чисел в строки родительского fo:page-sequence ОФ, на который ссылаются.
ПРИМЕЧАНИЕ:
Свойствами конверсии являются: [7.24.1 "format"], [7.24.2 "grouping-separator"], [7.24.3 "grouping-size"], [7.24.4 "letter-value"], [7.9.1 "country"] и [7.9.2 "language"].
Дочерние области, генерируемой инлайн-области - те же, что и получаемые в результате форматирования фрагмента результирующего дерева, состоящего из объектов потока fo:character; одного для каждого символа в цитируемой строке page-number и с единственным специфицированным свойством "character".
Содержимое: EMPTY
Следующие свойства применяются к данному ОФ:
6.7 Объекты Форматирования для Таблиц
6.7.1 Введение
Имеется 9 ОФ, используемых при конструировании таблиц: 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. Структура результирующего дерева показана ниже.

6.7.1.1 Примеры
6.7.1.1.1 Простая центрированная таблица с отступами
Код: <doc>
<table>
<caption><p>Caption for this table</p></caption>
<tgroup cols="3" width="325pt">
<colspec colwidth="100pt"/>
<colspec colwidth="150pt"/>
<colspec colwidth="75pt"/>
<tbody>
<row>
<entry><p>Cell 1</p></entry>
<entry><p>Cell 2</p></entry>
<entry><p>Cell 3</p></entry>
</row>
</tbody>
</tgroup>
</table>
</doc>
Таблица и её заголовок центрированы в доступном пространстве между следующими отступами: start-indent="100pt" и end-indent="0pt". Центровка и установка отступов нежелательны для содержимого заголовка и ячеек. Таблица стиля 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:attribute-set name="inside-table">
<xsl:attribute name="start-indent">0pt</xsl:attribute>
<xsl:attribute name="text-align">start</xsl:attribute>
</xsl:attribute-set>
<xsl:template match="p">
<fo:block>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="table">
<fo:table-and-caption text-align="center" start-indent="100pt">
<xsl:apply-templates/>
</fo:table-and-caption>
</xsl:template>
<xsl:template match="caption">
<fo:table-caption xsl:use-attribute-sets="inside-table">
<xsl:apply-templates/>
</fo:table-caption>
</xsl:template>
<xsl:template match="tgroup">
<fo:table width="" table-layout="fixed">
<xsl:apply-templates/>
</fo:table>
</xsl:template>
<xsl:template match="colspec">
<fo:table-column column-width="">
<xsl:attribute name="column-number">
<xsl:number count="colspec"/>
</xsl:attribute>
</fo:table-column>
</xsl:template>
<xsl:template match="tbody">
<fo:table-body xsl:use-attribute-sets="inside-table">
<xsl:apply-templates/>
</fo:table-body>
</xsl:template>
<xsl:template match="row">
<fo:table-row>
<xsl:apply-templates/>
</fo:table-row>
</xsl:template>
<xsl:template match="entry">
<fo:table-cell>
<xsl:apply-templates/>
</fo:table-cell>
</xsl:template>
</xsl:stylesheet>
Результирующий Экземпляр: элементы и атрибуты в пространстве имён fo: <fo:table-and-caption text-align="center" start-indent="100pt">
<fo:table-caption start-indent="0pt" text-align="start">
<fo:block>Caption for this table
</fo:block>
</fo:table-caption>
<fo:table width="325pt" table-layout="fixed">
<fo:table-column column-width="100pt" column-number="1">
</fo:table-column>
<fo:table-column column-width="150pt" column-number="2">
</fo:table-column>
<fo:table-column column-width="75pt" column-number="3">
</fo:table-column>
<fo:table-body start-indent="0pt" text-align="start">
<fo:table-row>
<fo:table-cell>
<fo:block>Cell 1
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>Cell 2
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block>Cell 3
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:table-and-caption>
6.7.1.1.2 Простая таблица с относительной спецификацией ширины столбцов
В этом примере для элементов таблицы использована простая разметка типа табличной модели "Oasis". Ширина столбцов специфицирована путём использования полной спецификации относительной ширины столбцов. Код: <doc>
<table>
<tgroup cols="3">
<colspec colname="col1" colwidth="1*"/>
<colspec colname="col2" colwidth="2*+2pi"/>
<colspec colname="col3" colwidth="72"/>
<tbody>
<row>
<entry colnum="1" valign="top"><p>Cell 1</p></entry>
<entry colnum="2" valign="middle" align="center"> <p>Cell 2</p></entry>
<entry colnum="3" align="center"><p>Cell 3</p></entry>
</row>
</tbody>
</tgroup>
</table>
</doc>
Таблица стилей 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:template match="p">
<fo:block>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="table">
<fo:table width="12cm" table-layout="fixed">
<xsl:apply-templates/>
</fo:table>
</xsl:template>
<xsl:template match="colspec">
<fo:table-column>
<xsl:attribute name="column-number">
<xsl:number count="colspec"/>
</xsl:attribute>
<xsl:attribute name="column-width">
<xsl:call-template name="calc.column.width">
<xsl:with-param name="colwidth">
<xsl:value-of select="@colwidth"/>
</xsl:with-param>
</xsl:call-template>
</xsl:attribute>
</fo:table-column>
</xsl:template>
<xsl:template match="tbody">
<fo:table-body>
<xsl:apply-templates/>
</fo:table-body>
</xsl:template>
<xsl:template match="row">
<fo:table-row>
<xsl:apply-templates/>
</fo:table-row>
</xsl:template>
<xsl:template match="entry">
<fo:table-cell column-number="">
<xsl:if test="@valign">
<xsl:choose>
<xsl:when test="@valign='middle'">
<xsl:attribute name="display-align">center </xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:attribute name="display-align">
<xsl:value-of select="@valign"/>
</xsl:attribute>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="@align">
<xsl:attribute name="text-align">
<xsl:value-of select="@align"/>
</xsl:attribute>
</xsl:if>
<xsl:apply-templates/>
</fo:table-cell>
</xsl:template>
<xsl:template name="calc.column.width">
<!-- **
* <p>Высчитывается спецификация ОФ XSL ширины столбцов
* из полной спецификации относительной ширины столбцов.</p>
*
* <p>Ширина столбцов таблицы имеет следующие базовые
* формы: </p> *
* <ul>
* <li><b>99.99units</b>, фиксированный спецификатор длины.</li>
* <li><b>99.99</b>, фиксированный спецификатор длины без * указания единиц измерения.</li>
* <li><b>99.99*</b>, спецификатор относительной длины.</li>
* <li><b>99.99*+99.99units</b>, комбинация из обоих.</li>
* </ul>
*
* <p>Единицами измерения являются пункты (pt), пики (pi),
* сантиметры (cm), миллиметры (mm) и дюймы (in). Это те
* же единицы, что и в XSL, за исключением того, что аббревиатура
* XSL для пик - "pc" вместо "pi". Еслиспецификатор длины не имеет
* единиц измерения, по умолчанию принимаются (pt).</p>
* * <p>Спецификаторы относительной длины представлены в XSL функцией
* proportional-column-width().</p>
*
* <p>Вот несколько примеров:</p>
*
* <ul>
* <li>"36pt" становится "36pt"</li>
* <li>"3pi" становится "3pc"</li>
* <li>"36" становится "36pt"</li>
* <li>"3*" становится "proportional-column-width(3)"</li>
* <li>"3*+2pi" становится "proportional-column-width(3)+2pc"</li>
* <li>"1*+2" становится "proportional-column-width(1)+2pt"</li>
* </ul>
*
* @param colwidth Спецификация ширины столбцов.
*
* @returns Спецификация XSL ширины столбцов.
* -->
<xsl:param name="colwidth">1*</xsl:param>
<!-- Ok, colwidth может иметь любую из следующих форм: -->
<!-- 1* = пропорциональная ширина -->
<!-- 1unit = 1.0 единиц ширины -->
<!-- 1 = 1pt ширины -->
<!-- 1*+1unit = пропорциональная ширина + некоторая фиксированная ширина -->
<!-- 1*+1 = пропорциональная ширина + некоторая фиксированная ширина -->
<!-- Если имеется пропорциональная ширина, транслируйте её в XSL -->
<xsl:if test="contains($colwidth, '*')">
<xsl:text>proportional-column-width(</xsl:text>
<xsl:value-of select="substring-before($colwidth, '*')"/>
<xsl:text>)</xsl:text>
</xsl:if>
<!-- теперь получаем непропорциональную часть спецификации -->
<xsl:variable name="width-units">
<xsl:choose>
<xsl:when test="contains($colwidth, '*')">
<xsl:value-of
select="normalize-space(substring-after($colwidth, '*'))"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="normalize-space($colwidth)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!-- Теперь единицы ширины могут иметь любую из следующих форм: -->
<!-- = <пустая строка> -->
<!-- 1unit = 1.0 единиц ширины -->
<!-- 1 = 1pt ширины -->
<!-- с возможным ведущим значком -->
<!-- Получаем часть ширины путём стирания части единиц и отбрасывания -->
<!-- white space. -->
<xsl:variable name="width"
select="normalize-space(translate($width-units,
'+-0123456789.abcdefghijklmnopqrstuvwxyz',
'+-0123456789.'))"/>
<!-- Получаем часть ширины путём стирания части ширины и отбрасывания -->
<!-- white space. -->
<xsl:variable name="units"
select="normalize-space(translate($width-units,
'abcdefghijklmnopqrstuvwxyz+-0123456789.',
'abcdefghijklmnopqrstuvwxyz'))"/>
<!-- Вывод ширины -->
<xsl:value-of select="$width"/>
<!-- Вывод единиц, оттранслированных соответствующим образом -->
<xsl:choose>
<xsl:when test="$units = 'pi'">pc</xsl:when>
<xsl:when test="$units = '' and $width != ''">pt</xsl:when>
<xsl:otherwise><xsl:value-of select="$units"/></xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Результирующий Экземпляр: элементы и атрибуты пространства имён fo: <fo:table width="12cm" table-layout="fixed">
<fo:table-column column-number="1" column-width="proportional-column-width(1)">
</fo:table-column>
<fo:table-column column-number="2" column-width="proportional-column-width(2)+2pc">
</fo:table-column>
<fo:table-column column-number="3" column-width="72pt">
</fo:table-column>
<fo:table-body>
<fo:table-row>
<fo:table-cell column-number="1" display-align="top">
<fo:block>Cell 1
</fo:block>
</fo:table-cell>
<fo:table-cell column-number="2" display-align="center" text-align="center">
<fo:block>Cell 2
</fo:block>
</fo:table-cell>
<fo:table-cell column-number="3" text-align="center">
<fo:block>Cell 3
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
6.7.2 fo:table-and-caption
Обычное Использование:
Объект потока fo:table-and-caption используется для форматирования таблицы вместе с её заголовком.
ПРИМЕЧАНИЕ:
fo:table-and-caption может размещаться инлайн путём заключения его в контейнер fo:inline-container.
ПРИМЕЧАНИЕ:
Этот ОФ соответствует анонимному боксу CSS, содержащему заголовок таблицы и саму таблицу.
Области:
ОФ fo:table-and-caption генерирует одну или более нормальных блок-областей. fo:table-and-caption возвращает эти области, любые области page-level-out-of-line и reference-level-out-of-line, возвращаемые потомками объекта fo:table-and-caption.
Ограничения:
Никакая область не может иметь более одной дочерней области, возвращаемой тем же самым ОФ fo:table-and-caption. Потомки областей, генерируемых объектом fo:table-and-caption, это одна из двух областей: одна для заголовка таблицы и одна для самой таблицы. Они позиционируются друг относительно друга так, как это специфицировано уточнением caption-side. Они размещаются относительно прямоугольника содержимого генерируемой области, как специфицировано уточнением text-align.
Содержимое: (table-caption?,table)
Этот ОФ дополнительно может содержать последовательность из нуль или более объектов fo:marker в качестве начальных дочерних объектов.
Следующие свойства применяются к данному ОФ:
Pyramidin.Narod.RU
|