У меня есть средневековая рукопись, закодированная в XML (с использованием схемы TEI). У рукописи есть «тело», которое было преобразовано в XSL:FO в xsl-region-body
и отлично выводится. Рукопись также содержит некоторые «глоссы» (примечания) на левом и правом полях. Они размечены в XML-документе с использованием, например, <add type="margin_gloss" place="left">Some foo note</add>
Я зарезервировал xsl-region-start
и xsl-region-end
для получения этих пояснений на полях относительно их положения в оригинальной рукописи. Однако у меня возникли проблемы с тем, чтобы размеченный текст «перетекал» в эти области.
Примечание. У меня нет проблем с размещением жестко заданных данных в этих регионах, например, с <fo:static-content flow-name="xsl-region-after">
.
Проблема в том, что с приведенным ниже кодом Apache FOP говорит мне: For "fo:page-sequence", only one "fo:flow" may be declared.
<fo:page-sequence master-reference="odd">
<fo:static-content flow-name="xsl-region-after"
font-family="Times"
font-size="8pt">
<fo:block text-align="center">-<fo:page-number/>-
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-end"
font-family="Times"
font-size="6pt">
<xsl:call-template name="marginalia-right"/>
</fo:flow>
<fo:flow flow-name="xsl-region-body"
font-family="Times"
font-size="8pt"
space-before="8pt"
space-after="8pt">
<xsl:apply-templates/>
</fo:flow>
</fo:page-sequence>
Я извлекаю заметки с помощью шаблона XSL:
<xsl:template match="//tei:add[@type='margin_gloss' and @place='right']" name="marginalia-right">
<fo:block>
<xsl:value-of select="text()"/>
</fo:block>
</xsl:template>
Подводя итог проблеме: я хотел бы, чтобы блеск полей, размеченный в XML с помощью <add>
, отображался в xsl-region-start
, а xsl-region-end
располагался относительно строки текста в xsl-region-body
. FPO говорит мне, что я не могу "течь" дважды.
xsl-fo tables
с 3 столбцами? Основное содержимое (тело) естественным образом разбивается на абзацы, которые визуально работают внутри «ячеек» таблицы. То есть... я открыт для переосмысления подхода вxsl-fo
. - person jbrehr   schedule 21.12.2017