У меня возникла проблема, когда я публикую свои моды в формате pdf (XSL-FO).В моих таблицах возникают проблемы, когда содержимое ячейки переполняет свой столбец в следующий.Как принудительно сделать разрыв текста, чтобы вместо него была создана новая строка?
Я не могу вручную вставить символы пробела, так как записи таблицы вводятся программно.Я ищу простое решение, которое я могу просто добавить в docbook_pdf.xsl (как xsl: param или xsl: attribute)
EDIT: Здесь яна данный момент:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:import href="urn:docbkx:stylesheet"/>
...(the beginning of my stylesheet for pdf generation, e.g. header and footer content stuff)
<xsl:template match="text()">
<xsl:call-template name="intersperse-with-zero-spaces">
<xsl:with-param name="str" select="."/>
</xsl:call-template>
</xsl:template>
<xsl:template name="intersperse-with-zero-spaces">
<xsl:param name="str"/>
<xsl:variable name="spacechars">
	

      
     ​
</xsl:variable>
<xsl:if test="string-length($str) > 0">
<xsl:variable name="c1" select="substring($str, 1, 1)"/>
<xsl:variable name="c2" select="substring($str, 2, 1)"/>
<xsl:value-of select="$c1"/>
<xsl:if test="$c2 != '' and
not(contains($spacechars, $c1) or
contains($spacechars, $c2))">
<xsl:text>​</xsl:text>
</xsl:if>
<xsl:call-template name="intersperse-with-zero-spaces">
<xsl:with-param name="str" select="substring($str, 2)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
При этом длинные слова успешно разбиваются в ячейках таблицы!К сожалению, побочным эффектом является то, что обычный текст в другом месте (например, в нижнем разделе X) теперь разбивает слова так, что они появляются в отдельных строках.Есть ли способ изолировать вышеуказанный процесс только от таблиц?