表を書く <table>

DITAでは、表を書くためにtable要素を使います。table要素を使って表を書くと、タイトルの付与、ヘッダ行の設定、ヘッダ列の設定、セルの結合、枠線の表示/非表示、表内のテキストのリサイズといった様々な制御が可能です。

表にキャプションを付ける場合は、title要素の次にdesc要素を挿入して、表の説明を記述します。

ヒント: DITA Open Toolkit Ver1.4.3のデフォルトの設定では、HTML系の出版物を生成するとき、表のタイトルとキャプションの間に改行が入りません。カスケーディング・スタイル・シート(CSS)をカスタマイズして、キャプションのレイアウトを調整する必要があります。

DITAでは、DTPのように自由自在な表のレイアウトができません。DITAの表では実現できないレイアウト機能は以下のとおりです。高機能なDTPソフトウェアと比較すると、他にも実現できない機能があるかもしれません。

DITAには、表を書くためのもう一つの要素、simpletableがあります。simpletable要素は、その名のとおり、付加的な機能を取り払った、単純な表を書くための要素です。simpletableでできることは、tableでもすべてできるため、無理にsimpletableを使う必要はありません。tableと比較すると、simpletableでは以下のような機能が除外されています。

表の列幅を指定する

表の列幅を調整するには、colspec要素のcolwidth属性を指定します。列幅を相対値で指定する場合、下記の例のようにcolwidth属性を指定します。この例では、列幅が1:1:2の割合に設定されます。

<table rowheader="firstcol">
  <title>タイトル</title>
  <desc>これは表のキャプションです。</desc>
  <tgroup cols="3">
    <colspec colname="col1" colwidth="1*"/>
    <colspec colname="col2" colwidth="1*"/>
    <colspec colname="col3" colwidth="2*"/>
    <thead>
      <row>
        <entry>カラム1</entry>
        <entry>カラム2</entry>
        <entry>カラム3</entry>
      </row>
    </thead>
    <tbody>
      <row>
        <entry>カラム1</entry>
        <entry>カラム2</entry>
        <entry>カラム3</entry>
      </row>
    </tbody>
  </tgroup>
</table>

表を拡大・縮小する

表全体を拡大・縮小するには、table要素のscale属性を指定します。生成物がPDFで、表の列数が多くてページ幅に収まらない場合に、この機能を使用すると便利です。

scale属性に指定できる値は、50, 60, 70, 80, 90, 100, 110, 120, 140, 160, 180, 200のいずれかの値です。表内のフォントを含む表全体が、指定したパーセンテージに縮尺されます。