1

要求に応じて、この質問を別のスレッドに移動します。

DocBook XSL の HTML 出力をカスタマイズしようとしています。

docbook<table>要素の後に、スタイルシートは次のコードを生成します。

<div class="table">
    [...]
</div>
<p>
    <br class="table-break">
</p>

これにより、HTML 出力に不要なスペースが発生し、DocBook XSL で「table-break」を検索しても結果が表示されないため、このコードがどこから来たのかわかりません。このコードを削除するにはどうすればよいですか?

ありがとう!

〜スランピスコ

4

1 に答える 1

4

この情報は、Docbook XSL 1.77.1 を対象としています。これは、特に post テーブルの break 要素が次のようにラップされている場合、バージョンと一致しない可能性があります<p>

mzjn が述べたように、formal.xsl ファイルには探しているものが含まれています。formal.objectCALS テーブルを指定する (またはグラフィック/メディア オブジェクトを埋め込む) ときに呼び出される名前付きテンプレートです。このテンプレート内には、ブレーク要素を後で追加する必要があるかどうかを確認するテストがあります。この動作を制御するグローバル パラメータ (ファイルの上部) があります。デフォルトで有効になっています。

<xsl:param name="formal.object.break.after">1</xsl:param>

XSLT プロセッサにパラメーターを指定することで、これを再定義できます。たとえば、Saxon では、次の形式になります。

java -jar saxon.jar file.xml your.customisation.xsl formal.object.break.after=0

formal.object.break.after基本スタイルシートをインポートした後に再定義することで、カスタマイズ内からシャドウすることもできます。

于 2012-11-02T13:28:21.643 に答える