XSL-FO - пустые элементы блока
имеет довольно простой шаблон:
<xsl:template match="p">
<fo:block>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
Я спрашиваю себя, как сообщить FO, чтобы пустые строки, если блок пуст.
Приветствия
Ян
Ответы
Ответ 1
Просто добавьте элемент <fo:leader/>
в конец вашего <fo:block>
. Вот так:
<xsl:template match="p">
<fo:block>
<xsl:apply-templates/>
<fo:leader />
</fo:block>
</xsl:template>
Лидер ничего не сделает для строк с контентом и создаст пустую строку для строк без содержимого.
Протестировано с помощью Apache FOP и XEP.
Ответ 2
Или
<xsl:template match="p">
<fo:block>
<xsl:apply-templates/>
 
</fo:block>
 
является эквивалентом
в HTML (фактически
является объектом XML, который определяется как A0, который является символом Unicode для Non Breaking Space).
Ответ 3
В качестве альтернативы
<fo:block white-space-treatment="preserve"> </fo:block>