3.5. フロー・オブジェクト・ツリー

 これまでに、フロー・オブジェクト・クラスとsosofo について学習してきました。3.2.3で述べたように、文書のフォーマット結果はフロー・オブジェクトを並べていく事で得られます。この並び順は、DSSSL プロセッサが文書を処理してフロー・オブジェクトを生成した順に一致します。
 DSSSL プロセッサは、文書(+スタイルシート)を処理した結果得られたフロー・オブジェクトをツリーとして内部に保持します。このツリーをフロー・オブジェクト・ツリーと呼び、フォーマッタはこのツリーを辿ってフォーマット結果を作成します。
 さて、ここでひとつ注意すべきことがあります。フロー・オブジェクトが生成する領域には包含関係があります。このため、領域の包含関係に反する順序でフロー・オブジェクトが並べられているとエラーになります。つまり、ツリー順でルートに成りうるのはsequence, page-sequence およびsimple-page-sequence に限定される、といった具合です。
 したがって、XML 文書の要素にフロー・オブジェクト・クラスを結びつける際には、フロー・オブジェクトが生成する領域の種類と、その包含関係に注意を払う必要があります。

<<prev