[top] [previous] [next]

 

3. リスト型の表構造表現

3.1 表構造リストの概要

表構造リスト(LTS: List for Table Strucure)は,表を表現するグラフのためのデータ構造である.
グラフの頂点セル(Cell)を用いて実現され,グラフの辺はセル間をポインタで接続して表現する.

注意:
この章で述べるセル(Cell)は,表の一般的な矩形を表す抽象データ構造である.
つまり,2章で述べたセル及び周辺セルを表す抽象データ構造が,この章のセルである.

 

3.2 セル

セルは,表において1つの矩形を表す.
通常1つの矩形は,位置情報,テキスト等の矩形内部の情報,周りのセルとの接し方などいくつかの情報をもつ.

セルは,次のような構造で定義される.
 (1) セル番号(ID)
 (2) セルは他の各セルとの接続するための8個のポインタ
 (3) セルの周りの壁の位置情報
 (4) セル内に設定されるコンテンツの情報
 (5) 表構造リストを多言語に変換するための情報
 

3.3 セルの図表現

セルに対する図表現について説明する.

図 3.1 は,セルを図で表現したものである.
周りの8個の四角形は接続のためのポインタである.(詳しくは次節で述べる.)
セルの中心にはその他の情報を記述することが出来る.
(情報が多い場合には,中心のセルには必要な情報のみ記述してもよい.)

図 3.1では中央の四角には何もかかれていないが,セルに関する情報を記述できる.


図 3.1 データ構造「セル」の図表現

 

 

3.4 セルの各部分について説明

(1) セルを接続するポインタ

nwe_left:
 北壁のためのポインタ.
 北壁がそのセルの左側のどのセルと等しいかを表す.
 周辺セル(Perimeter Cell)ではないならば,必ず左列に同じ北壁を持つセルがある.そのセルと線で接続(リンク)する.
 図では,その隣のセルのnwe_rightへ線を引く.
 
nwe_right: 
 北壁のためのポインタ.
 北壁がそのセルの右側のどのセルと等しいかを表す.
 周辺セルではないならば,必ず右列に同じ北壁を持つセルがあるはずである.そのセルと線で接続(リンク)する.
 図では,その隣のセルのnwe_leftへ線を引く.
 
swe_left: 
 南壁のためのポインタ.
 南壁がそのセルの左側のどのセルと等しいかを表す.
 周辺セルではないならば,必ず左列に同じ南壁を持つセルがあるはずである.そのセルと線で接続(リンク)する.
 図では,その隣のセルのswe_rightへ線を引く.
 
swe_right: 
 南壁のためのポインタ.
 南壁がそのセルの右側のどのセルと等しいかを表す.
 周辺セルではないならば,必ず右列に同じ南壁を持つセルがあるはずである.そのセルと線で接続(リンク)する.
 図では,その隣のセルのswe_leftへ線を引く.
 
wwe_upper: 
 西壁のためのポインタ.
 西壁がそのセルの上側のどのセルと等しいかを表す.
 周辺セルではないならば,必ず上列に同じ西壁を持つセルがあるはずである.そのセルと線で接続(リンク)する.
 図では,その隣のセルのwwe_lowerへ線を引く.
 
wwe_lower: 
 西壁のためのポインタ.
 西壁がそのセルの下側のどのセルと等しいかを表す.
 周辺セルではないならば,必ず下列に同じ西壁を持つセルがあるはずである.そのセルと線で接続(リンク)する.
 図では,その隣のセルのwwe_upperへ線を引く.
 
ewe_upper: 
 東壁のためのポインタ.
 東壁がそのセルの上側のどのセルと等しいかを表す.
 周辺セルではないならば,必ず上列に同じ東壁を持つセルがあるはずである.そのセルと線で接続(リンク)する.
 図では,その隣のセルのewe_lowerへ線を引く.
 
ewe_lower: 
 東壁のためのポインタ.
 東壁がそのセルの下側のどのセルと等しいかを表す.
 周辺セルではないならば,必ず下列に同じ東壁を持つセルがあるはずである.そのセルと線で接続(リンク)する.
 図では,その隣のセルのewe_upperへ線を引く.
 

(2)セルの内部に書くことができる情報

node id: 
 セルのIDである.それと同時にグラフの頂点のIDでもある.
 node idは整数値である
north wall: 
 北壁の位置情報である.
 通常,north wallは整数値で表される.

south wall: 
 南壁の位置情報である.
 通常,south wallは整数値で表される.
west wall: 
 西壁の位置情報である.
 通常,west wallは整数値で表される.
east wall: 
 東壁の位置情報である.
 通常,east wallは整数値で表される.
content: 
 セル内部に記述するコンテンツの情報へのポインタである.
 通常,contentは整数値で表現される.
 セル内に配置されるコンテンツは,文字列や図等及びそれらの複合的情報を持つことが許される.
 また,コンテンツはそれ自身を描画するために必要なサイズを必ず持たなければならない.
align: 
 コンテンツの配置情報である.
 alignは,整数値である.
e_point: 
 拡張情報の一つである.
 XMLを生成する際に行の終端セルの位置を決定するために使われる.
 

3.5 表構造リスト

表構造を表すリスト型データ構造を表構造リストと呼ぶ.

表構造リストは,図3.2のようにセルをポインタで接続することで表現する.


図 3.2 表(左)とそれに対応する表構造リスト(右)

 

[top] [previous] [next]