私はmodspecをpdf(XSL-FO)に公開するときに問題があります。私のテーブルには、セルの内容が次の列にオーバーフローする問題があります。代わりに、新しい行が代わりに作成されるようにテキストを改行する必要がありますか?XSL-FO:テーブルエントリを強制的に折り返す
テーブルエントリがプログラムで入力されているため、ゼロスペース文字を手動で挿入できません。
編集:私は現在でてるのはここ は次のとおりです。
私は単に(::PARAMまたはXSL属性のいずれかのxslとして)docbook_pdf.xslに追加することができます簡単な解決策を探していますこれにより<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のような)の通常のテキストが単語を分割して、別々の行に表示されるようにすることです。上記のプロセスを単なるテーブルに分離する方法はありますか?
これは、XSL-FOのボキャブラリー質問によく似ています。私はそのように再タグ付けしました。 XSLTの質問と思われる場合は、入力サンプルと希望する出力を提供してください。 –
@Alejandro:はい、技術的にはXSL-FOの問題です(問題はhtmlで終了しないため)。私はxmlに何かを追加する方法を望んでいると思います。 – Ace
テキストにゼロスペース文字を入れるXSLTソリューションが必要ですか?もしそうなら、あなたのXSL-FOの最小可能な例と、分割可能にする必要のあるテキスト/テキストを提供できますか? –