3.3.7. display-group フロー・オブジェクト・クラス

 display-group フロー・オブジェクト・クラスは、作図ソフトウェアなどによく見られるグループ化(フロー・オブジェクトの連結)の機能を提供します。ただし、“display”-groupとあるようにグループ化できるのはディスプレイ領域のフロー・オブジェクトに限定されます。グループ化後の領域は、当然の事ながらディスプレイ領域になります。
 display-group によって複数の領域を一括してインデントさせたり、グループ化後の領域の前後に空白を追加したい場合などに有用です。たとえば次のような例について考えてください。

―サンプル文書(抜粋)―
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
                      "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<book>
  <bookinfo>
    <title>DocBook</title>
    <subtitle>The Definitive Guide</subtitle>
    .
    .
  </bookinfo>
  .
  .
</book>

 この文書をフォーマットするにあたり、<bookinfo> の最後に現れる子要素(A)と、<bookinfo> の次に現れる要素(B)の間に空白を追加したい場合、単純に要素(A)の後ろに空白を追加してしまうと、すべての文書で要素(A)が<bookinfo> の最後に現れる事が保証されていない限り、想定していたものとは違う結果になるケースが出てきます。
 言語の機能を活用し、<bookinfo> に現れるすべての要素について最後に出現したかどうかを調べて判断する方法もありますが、それよりはdisplay-group を用いた方が、遥かにスマートに指定する事ができます。

<<prev      next>>