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>
Ответ 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).