XSL-FO — пустые элементы блока

У меня есть довольно простой шаблон:

<xsl:template match="p">
    <fo:block>
        <xsl:apply-templates/>
    </fo:block>
</xsl:template>

Как указать FO сохранять пустые строки, даже если блок пуст.


person Jan    schedule 04.07.2009    source источник


Ответы (2)


Просто добавьте элемент <fo:leader/> в конце файла <fo:block>. Так:

<xsl:template match="p">
        <fo:block>
                <xsl:apply-templates/>
                <fo:leader />
        </fo:block>
</xsl:template>

Для строк с содержимым лидер ничего не сделает, а для строк без содержимого создаст пустую строку.

Протестировано с Apache FOP и XEP.

person chiborg    schedule 07.08.2009

Альтернативно,

<fo:block white-space-treatment="preserve"> </fo:block>
person JasonPlutext    schedule 10.12.2009