1

xsl-fo インライン要素とブロック レベル要素によって非常に複雑な非常に単純なものをコーディングしようとしています。

XML のサンプルを次に示します。

<quote-block open="&quot;" close="&quot;">
   <quote-para>text...</quote-para>
   <list>
      <item>...</item>
      <item>...</item>
   </list>
   <quote-paragraph>
      <para>...</para>
      <list>
         <item>...</item>
      </list>
   </quote-paragraph>
</quote-block>

open および close 属性は、囲まれたコンテンツの前後に表示される開始および終了の引用符を駆動することになっています。

私が抱えている問題は、fo のリストがブロック レベルの項目であるため、コンテンツの最後にインラインで表示される終了引用符を取得できないことです。現在、次の行の先頭で終了しています。

可能性のある各項目に大量のコードを追加して、引用符の最後の要素であるかどうかを判断し、閉じ引用符を表示することで、これを回避できます。しかし、引用符内の要素は任意のレベルにあり、複数回ネストされている可能性があるため、問題が発生した場合のデバッグが複雑であることが証明されています。

これを解決する方法について誰かアイデアがありますか?

ありがとう

4

1 に答える 1

0

これを別の角度から攻めてみませんか?終わりの引用記号を省略し、最初の引用を様式化 (より大きく、色付けするなど) してみてください。また、ブロックの背景/境界線に色を付けて、引用として区別することもできます。これらの新しいトレンディなブログで人々が行っているように?

この問題に対する完全な解決策ではないことは承知していますが、FO は素晴らしいツールですが、エンジンの実装と仕様はまだ初期段階にあります。FOの問題に関しては、「壁をスケーリング」しようとするよりもルートを切り替える方が簡単であることがわかりました。これにより、多くの場合、時間と正気の両方が節約されます! ;)

于 2009-10-31T00:46:53.047 に答える