ワード原稿をDITAに変換
DITAのテーブルは、HTMLとよく似ています。
テーブルの横が行(row:ロウまたはロー)、縦が列(cloumn:コラムまたはカラム)です。この行と列を間違えないようにしましょう。
表のセルのデータは、1行単位で左から右に記述されます。行のデータは<row></row>タグの中に記述されます。ひとつの行が終われば、次の<row></row>タグの中にセルの内容が記述されます。セルの内容は、<entry></entry>タグの中に記述されます。通常、セルの中ではパラグラフ<p></p>タグは使いません。
簡単なテーブルを例にしてDITAのテーブルのコードを見ていきます。
テーブル宣言部には、テーブル全体の設定を記述します。
何も指定しなければデフォルトの設定になります。idはCMSやXMLエディタが自動で付与します。宣言部で指定するオプションは以下のようになります。
フレームは、テーブルの外枠の設定です。
要素 | 説明 | |
---|---|---|
frame | none | 無し |
all | すべて | |
top | 上 | |
topbot | 上下 | |
bottom | 下 | |
sides | 横 | |
-dita-use-conref-target | ||
<unspecified> | 指定無し |
行と列の区切り線の有無を設定します。ここでの設定は、テーブル全体の設定です。個別のセルで区切り線を付けることができます。
要素 | 設定値 | 説明 |
---|---|---|
rowsep | 0 | 行の区切り無し |
1 | 行の区切り有り | |
colsep | 0 | 列の区切り無し |
1 | 列の区切り有り |
行と列の区切りは、有りか無しかしか設定できません。区切り線の太さなどは設定できません。
コラムの数だけ列指定要素が存在します。
colspec要素の中のcolname、colnumは、XMLエディタなどが自動で生成してくれます。通常は気にする必要はありません。
列指定要素において列幅を指定します。
列幅は、proportional、dynamic、fixedの3種類です。これらの設定は、colspec要素のcolwidthで行われます。
要素 | 設定 | 説明 |
---|---|---|
列幅の指定 | proportional | 相対値(比率) |
dynamic | 均等 | |
fixed | 固定 |
列幅のproportionalは、すべての列幅を相対値で指定します。DITAコードのcolwidthでは、数値の後に*(アスタリスク)を付けます。この例では、左から1対2対3の比率でセルを分ける設定になります。
dynamicはデフォルトです。DITAコードのcolwidth要素が無ければこの設定になります。
fixedは、固定値を設定します。colspec要素のcolwidthにポイント値で指定します。この例では、75ptになります。
<thead></thead>で囲まれた部分がテーブルヘッド、見出し部分になります。テーブルヘッドは、多くの場合ボールド体などの強調文字で表示されます。ただし、テーブルヘッドはなくても構いません。
<tbody></tbody>で囲まれた部分がテーブルボディ、テーブルの本体になります。
複数の行を結合して1つのセルにすることができます。
結合したいセルの最初の<entry>にmorerowsを指定します。結合する行が2行であれは、morerowsに1を指定します。これは、現在の行に更に1行追加するという意味になります。セルを5行分にしたければ、morerowsに4を指定します。 この例では、次の行のセルは1つになるので<entry>は1つになります。
セルの内容は、デフォルトでは最初の行に表記されます。これをセルの中央に表示させたければ、valing=”center"を指定しなければなりません。
複数の列を結合して1つのセルにすることができます。
<entry>に結合するセルの名前を指定します。セルの名前というのは、colspecの中にあるcolnameを意味します。この名前(ここではc1,c2,c3)はエディタが自動で付けてくれます。結合する最初の列をnamestでc2と指定します。結合する最後の列をnameendでc3と指定します。
罫線を消して行を結合したように見せることができます。
<entry>でrowsep="0"を指定すると、セルの下の罫線が消えます。
ページをまたぐような大きなテーブルを作成した場合、改ページなどで意図しない場所にセルの内容が表示される場合があります。そのような場合、罫線を消して行の結合に見せかけて、意図した場所に内容を記述したりする場合に利用します。
罫線を消してセルを結合したように見せることができます。
<entry>でcolsep="0"を指定すると、セルの下の罫線が消えます。罫線を消しているだけなので、セルの内容は隣のセルには入りません。