DocBookのXSL - オリジナルのスタイルシートを編集しても大丈夫?
質問
IコンテンツのDocBookのテーブルの特定の行を作りたい太字特定<section>
が定義され、特定の属性を有するかどうかに基づきます。 ( - これはのXMLmindを使用してPDFに出力するためのものですFO / autotoc.xslライン187から230まで)これはDocBookのXSLに<xsl:if test="...">
ステートメントを追加することで簡単です。
私は、しかし、思ったんだけど。私は自分自身、ほとんどの設定パラメータの別のXSL内の他のカスタマイズを持っているが、私はこの条件ロジックを導入する方法を想像することはできません - コードのいくつかの並べ替えをかけることなく - 現在処理されているTOCのどのラインに基づいてオリジナルインチ何かご意見は?どのように変更を加えた後、新しいのDocBook XSLにアップグレードしますか。
解決
インポートは、独自のXSLTからのDocBookスタイルシートをを。次に、(再)あなたは「上書き」したいDocBookのテンプレートを定義します。
あなたのテンプレートは、インポート・ツリーの最上位になりますので、、それが優先されます。
はそれをそのようにすることで、あなたは、コアのDocBook XSLTファイルのいずれかを変更する必要はありません。これは、簡単に将来的にDocBookのスタイルシートのアップグレードを行います。
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="xsl/fo/docbook.xsl"/>
<xsl:template match="template-that-you-need-to-redefine">
...
</xsl:template>
</xsl:stylesheet>
所属していません StackOverflow