Сериализованный поток является просто последовательностью байтов (октеты). Таким образом, вопрос состоит в том, как преобразовать последовательность байтов к Строке, и назад снова. Далее это должно использовать ограниченный набор кодов символов, если это будет сохраненным в базе данных.
очевидное решение проблемы состоит в том, чтобы изменить поле на двоичный LOB. Если Вы захотите придерживаться characer LOB, то необходимо будет закодировать в некоторой схеме, такой как base64, шестнадцатеричное число или uu.
Просто добавьте элемент
в конец вашего
. Примерно так:
<xsl:template match="p">
<fo:block>
<xsl:apply-templates/>
<fo:leader />
</fo:block>
</xsl:template>
Выноска ничего не сделает для строк с содержимым и создаст пустую строку для строк без содержимого.
Протестировано с Apache FOP и XEP.
Альтернативно ,
<fo:block white-space-treatment="preserve"> </fo:block>
или
<xsl:template match="p">
<fo:block>
<xsl:apply-templates/>
 
</fo:block>
является эквивалентом
в HTML (на самом деле
является XML сущностью, которая определена как A0, что является символом Юникода для неразрывного пространства).