XSL-FO: статическое содержимое и содержимое потока в Region-Body: возможно? - PullRequest
0 голосов
/ 11 марта 2010

У меня следующая проблема:

Мне нужно использовать XSLFO для создания многостраничного документа с двумя столбцами. Проблема в том, что мне нужно иметь вертикальную линию между двумя столбцами. Поскольку в XSLFO, по-видимому, не указана опция для создания такого делителя, мне нужно вручную поместить его туда.

Я думал об использовании статического вращающегося блокконтейнера с лидером в нем. Тем не менее, похоже, что невозможно использовать статический контент в той же области, где находится контент потока.

 <fo:layout-master-set>
    <fo:simple-page-master 
      page-width="170mm"
      page-height="222mm"          
      master-name="page"
      >
      <fo:region-body region-name="xsl-region-body"
                      margin-top="2mm"
                      margin-bottom="2mm"
                      margin-left="10mm"
                      margin-right="10mm"
                      column-count="2"
                      column-gap="5mm"
                      />
    </fo:simple-page-master>
  </fo:layout-master-set>
 <fo:page-sequence master-reference="page">
    <fo:static-content flow-name="xsl-region-body" ><!-- This gives a error -->
      <fo:block>test</fo:block>
    </fo:static-content>
    <fo:flow flow-name="xsl-region-body">
      <xsl:apply-templates/>
    </fo:flow>
  </fo:page-sequence>

Результаты в (XEP):

 [error] Duplicate identifier: flow-name="xsl-region-body". 
 Property 'flow-name' should be unique within 'fo:page-sequence'.

Существуют ли какие-либо методы для размещения статического контента в основной области, когда туда также помещается контент потока? Или: Есть ли способ определить разделитель, который разделяет макет с двумя столбцами?

1 Ответ

2 голосов
/ 13 марта 2010

Я наконец выбрал следующее решение:

Используйте <FO:Region-Before "extend=100%">.

Похоже, вы можете легко перекрывать контент таким образом. Таким образом, это немного хак, но при некотором абсолютном позиционировании блок-контейнера или просто относительно позиционированного блока это делает свою работу.

...