(57)【要約】【課題】マークアップ言語の処理を容易に行う。【解決手段】表１２０，１３０は各々ＨＴＭＬで表現された表である。上位の表１２０は元来、欄１２１に、入れ子の下位の表１３０を含んでいる。ファイル変換装置により、下位の表１３０の欄（２），（３），（４），（５）は、上位の表１２０の欄ＩＩ，ＩＶ，Ｖ，ＶＩＩＩに各々変換される。変換後の欄ＩＩ，ＩＶ，Ｖ，ＶＩＩＩの位置は、元来の欄（２），（３），（４），（５）の位置に各々応じたものである。かかる変換を通じて、入れ子の表を有するＨＴＭＬのファイルが、入れ子の表を有さないものに変換される。変換後のファイルを利用することで、マークアップ言語の処理を容易に行うことができる。【選択図】  図２１
2004252655.tif 000002
【特許請求の範囲】
【請求項１】
マークアップ言語で表された第１のファイルを、マークアップ言語で表された第２のファイルに変換するファイル変換装置であって、
前記マークアップ言語は、１つ以上の欄よりなる表を表現可能であり、
前記第１のファイルは、入れ子の下位の表を含む欄を備える入れ子の上位の表を有し、
前記表を表すタグ、又は、１つ以上の該欄を表すタグの少なくとも一方について、該タグの削除及び変更の少なくとも１つを行う変換部を備えるファイル変換装置。
【請求項２】
請求項１記載のファイル変換装置であって、
前記削除又は変更の少なくとも一方の対象となる欄について、前記変換後の表示位置の情報を入力する位置情報入力部を備え、
前記変換部は、前記第２のファイルに、該情報を含めるファイル変換装置。
【請求項３】
マークアップ言語で表された第１のファイルを、マークアップ言語で表された第２のファイルに変換するファイル変換装置であって、
前記マークアップ言語は、１つ以上の欄よりなる表と、該欄に対応付けられた、該欄ごとの所定の情報要素とを表現可能であり、
前記第１のファイルは、入れ子の下位の表を含む情報要素に係る欄を備える入れ子の上位の表を有し、
前記下位の表を展開し、該下位の表の欄を、前記上位の表の欄に変換する変換部を備えるファイル変換装置。
【請求項４】
請求項３記載のファイル変換装置であって、
前記表は、縦方向及び横方向に１つ以上配列された基本領域を有し、
前記欄は、その縦方向の行幅及び横方向の列幅が、前記基本領域の配列数で規定され、１つ以上の所定の前記基本領域と対応付けられているファイル変換装置。
【請求項５】
請求項３記載のファイル変換装置であって、
前記変換部は、内部に別の表を含まない下位の表について前記変換を行うファイル変換装置。
【請求項６】
請求項３記載のファイル変換装置であって、
前記表全体の列幅が１であるか否かを検出する検出部を備え、
前記変換部は、前記列幅が１である場合に、前記表を表すタグ、又は、１つ以上の該欄を表すタグの少なくとも一方について、該タグの削除及び変更の少なくとも１つを行うファイル変換装置。
【請求項７】
請求項３記載のファイル変換装置であって、
前記下位の表全体に対応付けられた所定の属性情報に応じて、前記変換後の欄ごとに対応付けられた属性情報を作成する属性情報作成部を備えるファイル変換装置。
【請求項８】
請求項７記載のファイル変換装置であって、
前記属性情報作成部は、前記表の大きさに係る前記属性情報を除いて、前記作成を行うファイル変換装置。
【請求項９】
請求項４記載のファイル変換装置であって、
前記変換に先立って、いずれの前記基本領域もいずれか１つの前記欄と前記対応を有するように、前記欄の大きさの修正と新たな前記欄の追加との少なくとも一方を行う修正部を備えるファイル変換装置。
【請求項１０】
請求項４記載のファイル変換装置であって、
前記縦方向又は横方向の少なくとも一方において、前記下位の表の前記幅数と、前記上位の表において該下位の表を含む欄に対する配列数の一方を選択する選択部と、
該選択された数に基づいて、前記幅数及び配列数の少なくとも一方を変更する変更部とを備えるファイル変換装置。
【請求項１１】
請求項３記載のファイル変換装置であって、
前記第１のファイルにおける表のデータは、
前記表の開始又は終了を表す表特定タグと、
１つ以上の前記欄の開始又は終了位置を特定する区分タグとを有し、
前記表特定タグと、該表特定タグの直前又は直後の前記区分タグとが囲う情報要素の少なくとも一方を前記表の外部に移動する移動部を備えるファイル変換装置。
【請求項１２】
請求項３記載のファイル変換装置であって、
前記上位の表の欄には、前記下位の表に含まれないその他の情報要素を含み、
前記変換部は、該その他の情報要素を、前記下位の表から変換された欄と異なる、前記上位の表の１つ以上の欄に変換するファイル変換装置。
【請求項１３】
請求項１２記載のファイル変換装置であって、
前記第１のファイルは、該ファイルの２箇所の所定の属性タグであって、該属性タグが囲む前記情報要素の所定の属性を特定する属性タグを有し、
前記属性タグが囲む情報要素については、前記変換後の欄でも所定の属性タグに囲まれるように、前記変換後の欄の終端及び始端の少なくとも一方に前記属性タグを追加する属性タグ追加部を備えるファイル変換装置。
【請求項１４】
請求項１２記載のファイル変換装置であって、
前記第１のファイルは、前記下位の表を含む上位の表の欄に対応付けて、所定の属性を表す属性情報を有し、
前記変換部は、前記属性情報に相当する属性を、前記変換後の欄に与えるファイル変換装置。
【請求項１５】
請求項１２記載のファイル変換装置であって、
前記変換部は、前記上位の表の欄の前記配列数に応じて、前記その他の情報要素に係る変換後の欄の前記配列数を設定するファイル変換装置。
【請求項１６】
請求項４記載のファイル変換装置であって、
前記変換後の欄に対応付けられる基本領域を、前記配列の縦又は横方向に追加する基本領域操作部と、
前記変換後の欄が前記追加される基本領域に対応付けられるように、前記変換後の欄の前記規定される配列数を調整する対応調整部とを備えるファイル変換装置。
【請求項１７】
請求項１６記載のファイル変換装置であって、
前記基本領域操作部は、前記変換より過去の前記変換に係る欄を含む表について前記追加を行い、
該追加に応じ、前記過去の変換に係る欄の前記基本領域との前記対応を再設定する再設定部を備えるファイル変換装置。
【請求項１８】
請求項３記載のファイル変換装置であって、
前記下位の表のデータを表すタグ及び、該表の１つ以上の欄を表すタグの少なくとも１つを削除するファイル変換装置。
【請求項１９】
請求項３記載のファイル変換装置であって、
前記変換部は、前記下位の表の欄ごとに、
該下位の表の欄が該下位の表のうちで占める位置と、
該下位の表が前記上位の表の欄のうちで占める位置と、
前記上位の表の欄が前記上位の表のうちで占める位置との少なくとも１つに応じて、
該下位の表の欄のデータを、前記上位の表のデータにおける所定の部位に移動させるファイル変換装置。
【請求項２０】
マークアップ言語で表された第１のファイルを、マークアップ言語で表された第２のファイルに変換するファイル変換方法であって、
前記マークアップ言語は、１つ以上の欄よりなる表を表現可能であり、
前記第１のファイルは、入れ子の下位の表を含む欄を備える入れ子の上位の表を有し、
前記表を表すタグ、又は、１つ以上の該欄を表すタグの少なくとも一方について、該タグの削除及び変更の少なくとも１つを行う工程を備えるファイル変換方法。
【請求項２１】
コンピュータに、マークアップ言語で表された第１のファイルを、マークアップ言語で表された第２のファイルに変換させるためのコンピュータプログラムであって、
前記マークアップ言語は、１つ以上の欄よりなる表を表現可能であり、
前記第１のファイルは、入れ子の下位の表を含む欄を備える入れ子の上位の表を有し、
前記表を表すタグ、又は、１つ以上の該欄を表すタグの少なくとも一方について、該タグの削除及び変更の少なくとも１つを行う機能を前記コンピュータに実現させるためのコンピュータプログラム。
【請求項２２】
マークアップ言語で表された第１のファイルを、マークアップ言語で表された第２のファイルに変換するファイル変換方法であって、
前記マークアップ言語は、１つ以上の欄よりなる表と、該欄に対応付けられた、該欄ごとの所定の情報要素とを表現可能であり、
前記第１のファイルは、入れ子の下位の表を含む情報要素に係る欄を備える入れ子の上位の表を有し、
前記下位の表を展開し、該下位の表の欄を、前記上位の表の欄に変換する工程を備えるファイル変換方法。
【請求項２３】
コンピュータに、マークアップ言語で表された第１のファイルを、マークアップ言語で表された第２のファイルに変換させるためのコンピュータプログラムであって、
前記マークアップ言語は、１つ以上の欄よりなる表と、該欄に対応付けられた、該欄ごとの所定の情報要素とを表現可能であり、
前記第１のファイルは、入れ子の下位の表を含む情報要素に係る欄を備える入れ子の上位の表を有し、
前記下位の表を展開し、該下位の表の欄を、前記上位の表の欄に変換する機能を前記コンピュータに実現させるためのコンピュータプログラム。
【請求項２４】
請求項２１，２３いずれか記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マークアップ言語で表された表を展開するファイル変換装置に関する。
【０００２】
【従来の技術】
従来、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＸＨＴＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  ＨＴＭＬ）等のマークアップ言語が実用となっている。ＨＴＭＬでは、文章ファイルにタグを挿入することで、文章の体裁を指定することができる。例えば、特定の文字に特定のフォントを利用させたり、画像を所定の位置に表示させたりすること等を指定できる。かかるＨＴＭＬのファイルは、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）での情報提供等に利用されている。
【０００３】
マークアップ言語では、一般に表形式で情報を構造化することができる。例えば、ＨＴＭＬ等では、表のデータを特定する＜ｔａｂｌｅ＞等のタグを、行のデータを特定する＜ｔｒ＞等のタグや、各欄のデータを特定する＜ｔｄ＞等のタグと組み合わせて利用することで、表形式に構造化しつつ情報提供を行うことができる。かかる表は、上位の表の欄の内部に、更に入れ子の下位の表を有する場合がある。
【０００４】
一方、マークアップ言語の処理装置の形態に種々のものが利用されるようになってきている。例えば、携帯電話等の携帯端末の他、近年では、テレビのチューナーや印刷装置、セットトップボックス等がマークアップ言語の処理装置である場合もある。例えば、マークアップ言語による情報提供がデジタル放送を介してセットトップボックス等に行われる場合がある。また、マークアップ言語のファイルを解析して印刷を行う印刷装置が利用される場合がある。
【０００５】
【特許文献１】
特公２００２−３５１７３５公報
【０００６】
【発明が解決しようとする課題】
しかし、入れ子になった表の構造を処理することは煩雑な作業であった。
例えば、マークアップ言語により記述された入れ子の表を印刷する場合、入れ子の下位の表の処理結果に応じて、上位の表を処理しなければならない。下位の表の体裁に応じて、その表を含む欄全体の体裁を定めてゆく必要があるためである。かかる処理は、処理量が大きく、かつ複雑な処理である。
【０００７】
また、マークアップ言語の処理装置の能力が低い場合もある。係る場合、入れ子になった表の使用が禁止されたり、表の構造の処理が、極めて長い処理時間を要したり、不能になってしまったりする。例えば、印刷装置がＨＴＭＬ等のファイルの構造を直接解析して印刷を行う場合や、携帯端末のような処理能力が低い装置がＨＴＭＬ等のファイルの内容を表示させる場合である。
【０００８】
このような処理負担を軽減するために、入れ子のない単層の表のみを含むＨＴＭＬファイルを用意することも考えられる。しかしながら、入れ子の表を含むＨＴＭＬファイルとは別に、このようなファイルを作成するのは多大な負担である。
【０００９】
本発明は、上述の課題を解決するためになされたものであり、入れ子の表を簡易に展開するファイル変換装置を提供することを目的とする。
【００１０】
【課題を解決するための手段およびその作用・効果】
上記課題の少なくとも一部を解決するために、本発明では、次の構成を適用した。
本発明のファイル変換装置は、
マークアップ言語で表された第１のファイルを、マークアップ言語で表された第２のファイルに変換するファイル変換装置であって、
前記マークアップ言語は、１つ以上の欄よりなる表を表現可能であり、
前記第１のファイルは、入れ子の下位の表を含む欄を備える入れ子の上位の表を有し、
前記表を表すタグ、又は、１つ以上の該欄を表すタグの少なくとも一方について、該タグの削除及び変更の少なくとも１つを行う変換部を備えることを要旨とする。
【００１１】
例えば、本発明のファイル変換装置は、第１のマークアップ言語がＸＨＴＭＬ等である場合において、表全体のデータを特定する＜ｔａｂｌｅ＞及び＜／ｔａｂｌｅ＞の各タグと、表の欄の行のデータを特定する＜ｔｒ＞及び＜／ｔｒ＞の各タグとを削除するとともに、表の個々の欄のデータを特定する＜ｔｄ＞及び＜／ｔｄ＞や＜ｔｈ＞及び＜／ｔｈ＞の各タグを各々＜ｄｉｖ＞及び＜／ｄｉｖ＞に変更するものとしてもよい。ここに、＜ｔａｂｌｅ＞及び＜／ｔａｂｌｅ＞は表を表すタグであり、＜ｔｒ＞及び＜／ｔｒ＞は１つ以上の欄を表すタグであり、＜ｔｄ＞及び＜／ｔｄ＞や＜ｔｈ＞及び＜／ｔｈ＞は１つの欄を表すタグである。また、＜ｄｉｖ＞及び＜／ｄｉｖ＞は、ＸＨＴＭＬにおいて情報要素のブロックを特定するタグである。なお、変換部は、表を表すタグを削除するとともに、その表の欄を表すタグの変更を行うものとしてもよい。
【００１２】
このようにすることで、表を、表以外の形式に変換することができる。かかる変換を通じて、マークアップ言語における入れ子の表を、入れ子のない表（以下、単層の表と称する）に変換することができる。変換後の表のデータを利用することで、印刷や表示等の処理の簡便を図ることができる。
【００１３】
なお、上述のタグ削除・変更に係る表は、入れ子の最下位の表であってもよいし、最下位の表の直近の上位の表であってもよい。また、入れ子の最上位の表であってもよいし、最上位の表の直近の下位の表であってもよい。
【００１４】
なお、タグの削除や変更は、例えば、順次入れ子になった３個以上の表に順次施すものとしてもよい。このとき、入れ子の最上位の表から順次削除等を施すものとしてもよいし、最下位の表から施すものとしてもよいし、最上位及び最下位の表以外のその他の表から施すものとしてもよい。
【００１５】
なお、本発明のファイル変換装置において、タグ削除等に係る表全体のデータに対応付けられた属性情報を、タグ削除等の前後や、削除等と並行して、表の各欄のデータに対応付けられたものに変換するものとしてもよい。
【００１６】
マークアップ言語としては、種々のマークアップ言語を適用することができる。例えば、前述のＨＴＭＬやＸＨＴＭＬ等を適用してもよい。また、文書の処理や管理、通信の便宜を図ることを主目的として設計された、ＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）といったマークアップ言語を適用してもよい。なお、第１及び第２のファイルのマークアップ言語は同一のものでもよいし、類似するものでもよいし、異なるものでもよい。例えば、第２のファイルのマークアップ言語の規約の少なくとも一部は、第１のファイルのマークアップ言語の規約を簡略化したものであってもよい。
【００１７】
また、マークアップ言語の表は、表示用に限られない。例えば、情報検索用に構造化してデータを格納するデータベースの表であってもよい。
【００１８】
ファイル変換装置は、ファイル変換に専用の装置であってもよいし、その他の機能を併せ持つ装置であってもよい。その他の機能を併せ持つ場合としては、パーソナルコンピュータやテレビのチューナ、印刷装置、セットトップボックス、携帯電話その他の携帯情報処理装置であるときを挙げることができる。
【００１９】
なお、表の欄の内部には、入れ子の下位の表を複数有する場合があってもよい。
【００２０】
本発明のファイル変換装置において、
前記削除又は変更の少なくとも一方の対象となる欄について、前記変換後の表示位置の情報を入力する位置情報入力部を備え、
前記変換部は、前記第２のファイルに、該情報を含めるものとしてもよい。
【００２１】
このようにすることで、変換後の各欄の位置を指定することができる。位置の指定は、エディッタ等によりファイルの内容をユーザが直接変更するものとしてもよい。例えば、変換後の欄を特定するタグ（前述の場合における＜ｄｉｖ＞）に、「ｓｔｙｌｅ＝“ｌｅｆｔ：ｘ座標；ｔｏｐ：ｙ座標”」等の属性データが追加されるものとしてもよい。このとき、ファイル変換装置は、ＨＴＭＬ等におけるコメント文の利用等により、属性データを追加すべき部位をユーザに視覚的に示すものとしてもよい。また、ファイル変換装置は、単なるエディッタを利用したインタフェースでなく、実際の表形式の表示態様が示されるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供するものとしてもよい。
【００２２】
本発明の第２のファイル変換装置は、
マークアップ言語で表された第１のファイルを、マークアップ言語で表された第２のファイルに変換するファイル変換装置であって、
前記マークアップ言語は、１つ以上の欄よりなる表と、該欄に対応付けられた、該欄ごとの所定の情報要素とを表現可能であり、
前記第１のファイルは、入れ子の下位の表を含む情報要素に係る欄を備える入れ子の上位の表を有し、
前記下位の表を展開し、該下位の表の欄を、前記上位の表の欄に変換する変換部を備えることを要旨とする。
【００２３】
このようにすることで、マークアップ言語における入れ子の表を、単層の表に変換することができる。下位の表の展開にあたっては、例えば、下位の表を表す＜ｔａｂｌｅ＞及び＜／ｔａｂｌｅ＞のタグを削除するものとしてもよい。
【００２４】
ここで、情報要素には、入れ子の下位の表や文字データのほかに、画像（背景画像や単なる模様を含む）や、いわゆるクリッカブルマップ、いわゆるハイパーリンク等を含むものとしてもよい。
【００２５】
本発明の第２のファイル変換装置において、
前記表は、縦方向及び横方向に１つ以上配列された基本領域を有し、
前記欄は、その縦方向の行幅及び横方向の列幅が、前記基本領域の配列数で規定され、１つ以上の所定の前記基本領域と対応付けられているものとしてもよい。
【００２６】
かかる場合として例えば、ＨＴＭＬやＸＨＴＭＬ等の表において、属性データを付した＜ｔｄ  ｃｏｌｓｐａｎ＝２＞等のタグを利用することで、欄の大きさを規定する態様が挙げられる。属性データ「ｃｏｌｓｐａｎ＝２」が付された欄は、横方向に２列の基本領域を対応付けられる。同様に属性データ「ｒｏｗａｓｐａｎ＝２」は、縦方向に２行の基本領域を対応付けさせるための属性データである。このようにすることで、異なる大きさの欄が混在する表を比較的容易に扱うことができる。
【００２７】
なお、縦方向及び横方向に１つ以上の基本領域が配列された表としては、縦方向又は横方向の少なくとも一方については、１行又は１列しか基本領域が配列されていない表を含む。
【００２８】
本発明の第２のファイル変換装置において、
前記変換部は、内部に別の表を含まない下位の表について前記変換を行うものとしてもよい。
【００２９】
このようにすることで、処理の簡便を図ることができる。ファイル変換装置は、内部に別の表を含まない下位の欄についての変換処理のみを行うものとしてもよいし、内部に別の表を含む下位の欄についての変換処理も行うものとしてもよい。
【００３０】
本発明の第２のファイル変換装置において、
前記表全体の列幅が１であるか否かを検出する検出部を備え、
前記変換部は、前記列幅が１である場合に、前記表を表すタグ、又は、１つ以上の該欄を表すタグの少なくとも一方について、該タグの削除及び変更の少なくとも１つを行うものとしてもよい。
【００３１】
このようにすることで、表を、表以外の形式に変換することができる。かかる変換を通じて、マークアップ言語における入れ子の表を、単層の表に変換することができる。
【００３２】
上述のタグ削除・変更に係る表は、入れ子の最下位の表であってもよいし、最下位の表の直近の上位の表であってもよい。また、入れ子の最上位の表であってもよいし、最上位の表の直近の下位の表であってもよい。
【００３３】
本発明の第２のファイル変換装置において、
前記下位の表全体に対応付けられた所定の属性情報に応じて、前記変換後の欄ごとに対応付けられた属性情報を作成する属性情報作成部を備えるものとしてもよい。
【００３４】
例えばＨＴＭＬ等において、下位の表の＜ｔａｂｌｅ＞タグ内部の属性情報を、変換後の各欄の＜ｔｄ＞タグ内部に転写するものとしてもよい。
【００３５】
このようにすることで、下位の表の欄と当該属性情報との対応付けを、変換後のファイルにおいても維持することができる。
【００３６】
本発明の第２のファイル変換装置において、
前記属性情報作成部は、前記表の大きさに係る前記属性情報を除いて、前記作成を行うものとしてもよい。
【００３７】
このようにすることで、変換後のデータの冗長性を少なくしたり、変換後のデータの文法上の違式を防いだりすることができる。表の大きさに係る属性情報は、表全体に対応付けられる場合にのみ利用可能であったり、文法に沿っていたりすることがあるためである。例えば、表全体の横方向のサイズを特定する属性情報については、各欄ごとに対応付けて記憶されても利用価値がない場合がある。
【００３８】
本発明の第２のファイル変換装置において、
前記変換に先立って、いずれの前記基本領域もいずれか１つの前記欄と前記対応を有するように、前記欄の大きさの修正と新たな前記欄の追加との少なくとも一方を行う修正部を備えるものとしてもよい。
【００３９】
このように、変換処理に先立って上記の修正が行われることで、変換処理を簡便に行うことができる。上記の修正が行われたファイルについての変換処理では、各欄と基本領域との関係を容易に把握できるためである。
【００４０】
ファイル変換装置は、例えば、いずれの欄とも対応付けられてない基本領域について、新しく作成した欄や、既存の欄にその基本領域を対応付けるものとしてもよい。既存の欄にその基本領域を対応付ける場合は、その欄の大きさを変更するものであってもよい。また、ファイル変換装置は、１つの基本領域に対応付けられた複数の欄について、特定の１つの欄の他はその対応付けを解除するものとしてもよい。
【００４１】
なお、既存の欄に基本領域を対応付ける修正は、その欄に対応付けられた属性データを修正することで行ってもよい。例えば、属性データｃｏｌｓｐａｎ等の増加により、その欄の列幅等が修正されるものとしてもよい。また、対応付けを解除する修正は、属性データｃｏｌｓｐａｎ等の減少により、欄の列幅等の減少が行われるものとしてもよい。
【００４２】
本発明の第２のファイル変換装置において、
前記縦方向又は横方向の少なくとも一方において、前記下位の表の前記幅数と、前記上位の表において該下位の表を含む欄に対する配列数の一方を選択する選択部と、
該選択された数に基づいて、前記幅数及び配列数の少なくとも一方を変更する変更部とを備えるものとしてもよい。
【００４３】
このようにすることで、上位の表の欄の大きさを規定する基本領域と、下位の表全体の大きさを規定する基本領域とを共通化させることができる。この結果、下位の表の幅数や上位の表の欄の配列数の変更により、下位の表の各欄の位置や大きさを上位の表の欄内で任意に調整し、上位の表の欄に下位の表を適合することができる。
【００４４】
ここに、上位の表の欄の配列数の変更は、上位の表全体の基本領域の幅数を変更するものとなることが望ましい。また、上位の表の欄の配列数の変更は、その欄の＜ｔｄ＞タグ内部等に有する、その欄に対応付けられた属性データを変更しないものであってもよい。例えばその欄が、下位の表の欄から変換された複数の欄等の集まりに変換される場合もあるためである。
【００４５】
ここで、上述の処理では、幅数又は配列数の大きい方の数が選択されることが望ましい。この場合、上述の「変更」は、選択されなかった側の数を、選択された数そのものに変更するものとしてもよいし、選択された数から所定差だけ大きい数に変更するものとしてもよいし、所定差だけ小さい数に変更するものとしてもよい。ここに所定差は、後で詳述するように、上位の表の欄に含む、当該下位の表以外の情報要素に応じて特定される値であってもよい。例えば、下位の表によりその上側及び下側に２分割される情報要素がある場合には、所定差は２としてもよい。なお、上述の選択は、かかる所定差を考慮しつつ行うものとしてもよい。例えば、配列数及び幅数から配列数が選択されるのは、配列数が幅数よりも２以上大きい場合であるものとしてもよい。
【００４６】
本発明の第２のファイル変換装置において、
前記第１のファイルにおける表のデータは、
前記表の開始又は終了を表す表特定タグと、
１つ以上の前記欄の開始又は終了位置を特定する区分タグとを有し、
前記表特定タグと、該表特定タグの直前又は直後の前記区分タグとが囲う情報要素の少なくとも一方を前記表の外部に移動する移動部を備えるものとしてもよい。
【００４７】
例えば、ＨＴＭＬ等において、＜ｔａｂｌｅ＞又は＜／ｔａｂｌｅ＞タグと、そのタグの直後又は直前の＜ｔｒ＞又は＜／ｔｒ＞タグの間に存在するデータを、その＜ｔａｂｌｅ＞タグ等が特定する表のデータの外部に移動するものとしてもよい。
【００４８】
このようにすることで、下位の表の欄を上位の表の欄に変換する処理を簡便に行うことができる。移動部によるデータ移動後のファイルは、変換処理が容易なものとなっているためである。なお、当該移動は、＜ｔａｂｌｅ＞や＜／ｔａｂｌｅ＞等の表特定タグの移動により実現するものとしてもよい。
【００４９】
本発明の第２のファイル変換装置において、
前記上位の表の欄には、前記下位の表に含まれないその他の情報要素を含み、前記変換部は、該その他の情報要素を、前記下位の表から変換された欄と異なる、前記上位の表の１つ以上の欄に変換するものとしてもよい。
【００５０】
このようにすることで、上位の表の欄に下位の表以外のその他の情報要素を含む場合でも、その情報要素を勘案しつつ、変換前の当該上位の表の欄に相当するデータを第２のファイルに含めることができる。
【００５１】
ここで、その他の情報要素は、下位の表の上下左右その他の周辺部に表示されるものであってもよい。この場合、下位の表と、その他の情報要素との位置関係に応じて変換処理が行われることが望ましい。
【００５２】
なお、前述の適合処理は、その他の情報要素から変換して生じる欄を勘案して行うことが望ましい。例えば、下位の表の上側及び下側の情報要素を各々２つの欄に変換する場合、上位の表の欄の縦方向の配列数が、下位の表の行幅数に２を加えた数に変更され得るものとしてもよい。このようにすることで、上位の表の欄内で、下位の表と下位の表の上側及び下側の情報要素との位置や大きさを任意に調整することができる。
【００５３】
本発明の第２のファイル変換装置において、
前記第１のファイルは、該ファイルの２箇所の所定の属性タグであって、該属性タグが囲む前記情報要素の所定の属性を特定する属性タグを有し、
前記属性タグが囲む情報要素については、前記変換後の欄でも所定の属性タグに囲まれるように、前記変換後の欄の終端及び始端の少なくとも一方に前記属性タグを追加する属性タグ追加部を備えるものとしてもよい。
【００５４】
ここに所定の属性タグは、マークアップ言語におけるいわゆる開始タグ及び終了タグであってもよい。例えば、ＨＴＭＬにおける、表示書体を指定する＜ｂ＞及び＜／ｂ＞等である。
【００５５】
このようにすることで、情報要素を囲む属性タグが、前記変換後の２つの欄のデータに各々分離されてしまうときでも、所望の第２のファイルを得ることができる。例えば、開始タグと終了タグとが異なる２つの欄のデータに含まれるものとなった場合には、開始タグを有するデータの終端に終了タグを置き、終了タグを有するデータの始端に開始タグを追加することが望ましい。なお、１つの欄について、始端への開始タグの追加と、終端への終了タグの追加との両者を行う場合が含まれるものとしてもよい。
【００５６】
本発明の第２のファイル変換装置において、
前記第１のファイルは、前記下位の表を含む上位の表の欄に対応付けて、所定の属性を表す属性情報を有し、
前記変換部は、前記属性情報に相当する属性を、前記変換後の欄に与えるものとしてもよい。
【００５７】
ここに上位の表の所定の属性タグは、マークアップ言語における＜ｔｄ  ｓｔｙｌｅ＝“ｃｏｌｏｒ：ｒｅｄ”＞タグにおける属性データ「ｓｔｙｌｅ＝“ｃｏｌｏｒ：ｒｅｄ”」等であってもよい。かかる属性データは、その＜ｔｄ＞タグが特定する欄に含む下位の表等の情報要素について、所定の属性を特定する。ファイル変換装置は、それらの情報要素から変換した上位の表の各欄について、「ｓｔｙｌｅ＝“ｃｏｌｏｒ：ｒｅｄ”」等の属性データを各々付すことが望ましい。
【００５８】
このようにすることで、上位の表の欄内部の情報要素の属性を、その情報要素の変換後の各欄でも維持することができる。
【００５９】
本発明の第２のファイル変換装置において、
前記変換部は、前記上位の表の欄の前記配列数に応じて、前記その他の情報要素に係る変換後の欄の前記配列数を設定するものとしてもよい。
【００６０】
このようにすることで、その他の情報要素に係る変換後の欄の位置や大きさを、当該情報要素を含む上位の表の欄の内部で任意に調整することができる。
【００６１】
ここに、前述の適合処理等で上位の表の当該欄の列又は行の数が変更された場合には、変更後の数が前記設定に利用されることが望ましい。
【００６２】
本発明の第２のファイル変換装置において、
前記変換後の欄に対応付けられる基本領域を、前記配列の縦又は横方向に追加する基本領域操作部と、
前記変換後の欄が前記追加される基本領域に対応付けられるように、前記変換後の欄の前記規定される配列数を調整する対応調整部とを備えるものとしてもよい。
【００６３】
ここで、ＨＴＭＬ等を扱う場合の基本領域操作部や対応調整部は、ｃｏｌｓｐａｎ等の数値を変更するものとしてもよい。また、基本領域操作部は、＜ｔｒ＞及び＜／ｔｒ＞といったタグを追加するものとしてもよい。
【００６４】
このようにすることで、変換後の欄の位置や大きさを、上位の表の欄の内部で任意に調整することができる。
【００６５】
対応調整部や基本領域操作部は、前述の適合処理に利用するものとしてもよい。例えば、選択部が下位の表の幅数を選択する場合に、基本領域操作部による追加処理が利用されるものとしてもよい。
【００６６】
本発明の第２のファイル変換装置において、
前記基本領域操作部は、前記変換より過去の前記変換に係る欄を含む表について前記追加を行い、
該追加に応じ、前記過去の変換に係る欄の前記基本領域との前記対応を再設定する再設定部を備えるものとしてもよい。
【００６７】
このようにすることで、追加処理に応じて生じた自由度の増加に応じて、過去の変換に係る欄の基本領域との対応付けを再設定することができる。欄と基本領域との対応付けの自由度は、追加処理に応じて増加する。
【００６８】
過去の変換に係る各欄は、前述の適合処理等を通じて、上位の表の基本領域に各々対応付けられている。再設定部等を備えるファイル変換装置によれば、前記追加処理が行われた場合に生じる基本領域の自由度の増加に応じて、過去の変換に係る欄の基本領域との対応付けを再設定することができる。
【００６９】
ここで、上記再設定は、下位の表の最左欄のデータについて行われるものとしてもよい。例えば、最左欄からの変換後の欄に対応付けられた基本領域の個数を減少させるものであってもよい。最左欄が見出し欄のみである表等では、最左欄に対応する基本領域は相対的に少ない方が望ましいときがあるためである。
【００７０】
なお、下位の表の欄から変換された上位の表の欄は、さらなる変換処理により、更に上位の表の欄に変換され得る。この場合における、前記更に上位の表の前記追加処理に応じた前記再設定も同様である。直接の下位の表では最左欄ではないが、さらに下位の表においては最左欄であった欄についても同様である。
【００７１】
本発明の第２のファイル変換装置において、
前記下位の表のデータを表すタグ及び、該表の１つ以上の欄を表すタグの少なくとも１つを削除するものとしてもよい。
【００７２】
このようにすることで、下位の表のデータを、表を表現するデータでないものとすることができる。ここに、削除されるタグは、ＨＴＭＬ等における＜ｔａｂｌｅ＞，＜／ｔａｂｌｅ＞，＜ｔｒ＞，＜／ｔｒ＞の各タグの少なくとも一部を含むものとしてもよい。
【００７３】
本発明の第２のファイル変換装置において、
前記変換部は、前記下位の表の欄ごとに、
該下位の表の欄が該下位の表のうちで占める位置と、
該下位の表が前記上位の表の欄のうちで占める位置と、
前記上位の表の欄が前記上位の表のうちで占める位置との少なくとも１つに応じて、
該下位の表の欄のデータを、前記上位の表のデータにおける所定の部位に移動させるものとしてもよい。
【００７４】
このようにすることで、変換後の欄を、変換前の欄に相当するものとして記憶することができる。具体的には、変換前のその欄の位置に応じて記憶することができる。
【００７５】
なお、変換後のファイルの所定の表示を行った場合には、変換前の下位の表全体に相当する表示が含まれるものとしてもよい。例えば、変換前の下位の表の各欄に相当する表示等が全体としてまとまって、変換前の下位の表全体に相当する表示を構成するものとしてもよい。
【００７６】
本発明は、上述のファイル変換装置としての構成の他、ファイルの変換方法の発明として構成することもできる。また、かかる方法を実現するコンピュータプログラム、およびそれらのプログラムを記録した記録媒体、それらのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。
【００７７】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読みとり可能な種々の媒体を利用できる。
【００７８】
【発明の実施の形態】
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
Ａ．全体構成：
Ａ１．ファイル変換装置：
Ａ２．マークアップ言語：
Ａ３．機能ブロック構成：
Ｂ．簡易変換：
Ｃ．表の変換処理：
Ｃ１．全体の流れ：
Ｃ２．ブロックへの変換：
Ｄ．マージ処理：
Ｄ１．準備処理：
Ｄ２．統合処理：
Ｄ２ａ．上位の表に作成する欄の把握：
Ｄ２ｂ．下位の表の欄の行数等の増加：
Ｄ２ｃ．基本領域の追加：
Ｄ２ｄ．属性情報の調整：
Ｄ２ｅ．各欄のデータの移動：
Ｄ３．見直し処理：
Ｅ．第２実施例：
【００７９】
Ａ．全体構成：
Ａ１．ファイル変換装置：
図１は、ファイル変換装置１００を示す説明図である。ファイル変換装置１００は、所定のファイル変換ソフトウェアを実行するパーソナルコンピュータにより構成される。なお、ファイル変換装置１００は、所定の変換ソフトウェアを実行する種々の装置として構成可能である。例えばファイル変換装置１００は、プリンタやテレビのチューナであるものとしてもよい。また、ファイル変換装置１００は、所定の変換ハードウェアを備えるものとしてもよい。
【００８０】
ファイル変換装置１００は、ＨＴＭＬのファイルを、所定のＬＨＴＭＬ（Ｌｉｇｈｔ  ＨＴＭＬ）のファイルに変換する機能を有する。ここに、ＬＨＴＭＬは、簡潔な処理となるようタグの種類や、データの構造を制限したマークアップ言語である。例えば、ＨＴＭＬでは入れ子構造の表が認められているのに対し、ＬＨＴＭＬでの表は入れ子構造が認められていない。
【００８１】
ファイル変換装置１００は、種々の内容のＨＴＭＬのファイルを、ＬＨＴＭＬのファイルに変換する。変換されたＬＨＴＭＬのファイルは、携帯電話等の携帯端末のように処理能力の低い装置で表示されたり、印刷装置へ印刷を依頼する場合に利用されたりする。
【００８２】
Ａ２．マークアップ言語：
図２は、ＨＴＭＬのファイルの一例を示す説明図である。図２では、上段にＨＴＭＬのファイルのデータ構成を示し、下段にそのファイルが表現する表を概念的に示した。図２では、下段で示すように、下位の表１３０が上位の表１２０に含まれる入れ子構造について示している。
【００８３】
図２では、ＨＴＭＬのファイルを行ごとにＮｏ．を付して示した。ＨＴＭＬでは、＜ｔａｂｌｅ＞及び＜／ｔａｂｌｅ＞の開始・終了タグにより表を表現する。図２でＮｏ．１〜１３のデータは、１つの表１２０を表現する表のデータである。ここで、図２の表１２０は、欄Ａ１，Ａ２，Ｂを有する。ここに、欄Ｂは実線で示す領域により構成されている。なお、Ｎｏ．１の＜ｔａｂｌｅ＞タグに付された属性データ「ｓｔｙｌｅ＝“ｔｅｘｔ−ｄｅｃｏｒａｔｉｏｎ：ｕｎｄｅｒｌｉｎｅ”」（図中では「ｕｎｄｅｒｌｉｎｅ」により簡略化して図示）については後述する。
【００８４】
ＨＴＭＬでは、＜ｔｒ＞及び＜／ｔｒ＞のタグで囲って横方向のデータ（以下「行のデータ」と呼ぶ）が特定される。表１２０において１行目は欄Ａ１，Ａ２より構成され、２行目は欄Ｂより構成される。図２の上段のデータにおけるＮｏ．２〜１１及びＮｏ．１２のデータは、表１２０の２つの行のデータである。各データはその順序（上から下）に応じて表のデータの内部に配列される。
【００８５】
また、ＨＴＭＬでは、＜ｔｄ＞及び＜／ｔｄ＞の開始タグ及び終了タグで囲って表の各欄のデータが特定される。各欄のデータは、欄の順序（左から右）に応じて、＜ｔｒ＞等が特定する各行のデータ内部に配列される。図２の上段のデータの場合、欄Ａ１，Ａ２のデータは各々Ｎｏ．３〜９及びＮｏ．１０に配列されており、欄ＢのデータはＮｏ．１２内に存在する。なお、図２では、欄の内容の表示要素としてその欄の名前を付している。
【００８６】
欄Ａ１のデータには、Ｎｏ．５〜８に入れ子の下位の表１３０のデータを含む。このため下段の図においても、上位の表１２０の欄Ａ１の内部には下位の表１３０が含まれている。下位の表１３０のデータは、上位の表１２０のデータと同様に、行ごとに、欄ｍ１，ｍ２及び欄ｎ１，ｎ２のデータを配列して構成されている。
【００８７】
ＨＴＭＬの表は、縦方向及び横方向に１つ以上配列された基本領域を有する。図２の上位の表１２０では、方眼状に縦横に配列された基本領域ａ１，ａ２，ｂ１，ｂ２を有する場合を示した。図２では、横方向に２個、縦方向に２個の幅数で基本領域が各々配列されている。横方向に並んだ基本領域ａ１，ａ２及び基本領域ｂ１，ｂ２は各々１つの行を構成する。また、縦方向に並んだ基本領域ａ１，ｂ１及び基本領域ａ２，ｂ２は各々１つの列を構成する。
【００８８】
表の各欄は各々１つ以上の基本領域と対応付けられている。図２の場合、欄Ａ１とＡ２とは各々基本領域ａ１とａ２と対応付けられている。また、欄Ｂには基本領域ｂ１，ｂ２の２つの基本領域が対応付けられている。
【００８９】
ここで、属性データｃｏｌｓｐａｎについて説明する。図２の欄Ｂのデータにおいては、＜ｔｄ＞タグ内部に「ｃｏｌｓｐａｎ＝２」なる属性データが含まれている。これは、欄Ｂを２列の基本領域ｂ１，ｂ２に対応付ける旨を指定するデータである。また、欄Ａ１，Ａ２のデータではｃｏｌｓｐａｎの属性データが省略されている。かかる場合、ファイル変換装置１００は、「ｃｏｌｓｐａｎ＝１」が省略されているものとして取り扱う。
【００９０】
横方向の列幅についての属性データｃｏｌｓｐａｎと同様に、属性データｒｏｗｓｐａｎは縦方向の行幅の指定に利用される。例えば、属性データ「ｒｏｗｓｐａｎ＝２」を＜ｔｄ＞タグ内部に付すことで、その＜ｔｄ＞タグの欄を縦方向に２行の基本領域と対応付けることができる。
【００９１】
ＨＴＭＬでは、このようにして表の各欄の行幅・列幅が規定されることで、表全体の行幅・列幅が規定されることとなる。
【００９２】
なお、ＨＴＭＬのタグ内部では大文字と小文字で原則区別がない。例えば、＜ｔａｂｌｅ＞と＜ＴＡＢＬＥ＞は同じデータである。そこで、以下の説明で参照する図面中では、ＨＴＭＬのデータの特定部分について、大文字を利用して図示する場合がある。
【００９３】
なお、ＬＨＴＭＬは、表を表現できる点でＨＴＭＬと同様であるが、入れ子の表が許されない点でＨＴＭＬと相違する。なお、以下で特に説明する文法以外については、ＬＨＴＭＬは原則的にＨＴＭＬと同様のマークアップ言語であるものとして説明する。
【００９４】
Ａ３．機能ブロック構成：
図１には、ファイル変換装置１００が実現する機能ブロック構成を併せて示している。ファイル変換装置１００はファイル変換ソフトウェアを蓄積している。図示する各機能ブロックは、ファイル変換装置１００がファイル変換ソフトウェアを実行することでソフトウェア的に実現するものである。なお、図示する機能ブロックの全部又は一部はハードウェア的に実現しても構わない。
【００９５】
ファイル入力部１０１は、ＨＴＭＬのファイルを入力する。前述の通り、ＨＴＭＬのファイルには入れ子になった表のデータを含む。
【００９６】
ユーザ入力部１０２は、ファイル変換装置１００に備えられたキーボード１００ｃやリモコン等の入力装置により種々のコマンドを入力する。
【００９７】
表処理部１０６は、入れ子のある表を、入れ子のない表に変換する。表処理部１０６は、かかる変換を行うために、構造特定部１０７とタグ操作部１０８とデータ移動部１０９とを有し、これらを利用して変換を行う。
【００９８】
構造特定部１０７は、ＨＴＭＬファイルが有する入れ子の表の構造を特定する。例えば、＜ｔａｂｌｅ＞〜＜／ｔａｂｌｅ＞の開始・終了タグで囲われた表全体のデータや、＜ｔｒ＞〜＜／ｔｒ＞で囲われた行のデータや、＜ｔｄ＞〜＜／ｔｄ＞で囲われた１つの欄のデータを特定する。また、構造特定部１０７は、これらの開始・終了タグが特定するデータ相互の関係を特定することができる。例えば、図２の場合において、Ｎｏ．１の＜ｔａｂｌｅ＞タグに対応する表１２０の内部に含まれる表のタグとして、Ｎｏ．５の＜ｔａｂｌｅ＞タグを特定することができる。
【００９９】
タグ操作部１０８は、タグの削除・追加・修正その他のタグ操作を行う。ここで、タグの内部には、所定の属性を表す属性データが含まれる場合がある。例えば、表の内部の文字に下線を付したい場合に、「ｓｔｙｌｅ＝“ｔｅｘｔ−ｄｅｃｏｒａｔｉｏｎ：ｕｎｄｅｒｌｉｎｅ”」なる属性データを含めた＜ｔａｂｌｅ  ｓｔｙｌｅ＝“ｔｅｘｔ−ｄｅｃｏｒａｔｉｏｎ：ｕｎｄｅｒｌｉｎｅ”＞なるタグを利用することができる（図２の表１２０参照：図２では図示の便宜上から属性データを「ｕｎｄｅｒｌｉｎｅ」により簡略化して図示）。タグ操作部１０８は、属性データの削除・追加・修正を行う機能も有する。
【０１００】
データ移動部１０９は、ファイル内部でデータを移動する機能を有する。具体的には、後述のように、下位の表１３０の各欄のデータを、上位の表１２０のデータにおける所定の部位に移動させる機能を有する。
【０１０１】
文法記憶部１０５は、ＨＴＭＬの文法を記憶する。前述の表処理部１０６と、表処理部１０６が有する構造特定部１０７等は、文法記憶部１０５の記憶内容を参酌しつつ前述の各種の処理を行う。
【０１０２】
基本処理部１０４は、表処理部１０６によって入れ子が展開されたファイルに種々の処理を行うことで、ＬＨＴＭＬへの変換を最終的に完了させる。例えば基本処理部１０４は、ＨＴＭＬの各タグや属性データごとに、タグ等の削除や変更等の処理を行う。一例を挙げると、背景色指定を行うＨＴＭＬ形式の属性データｂｇｃｏｌｏｒ＝“ｇｒｅｅｎ”を、ＬＨＴＭＬ形式の属性データｓｔｙｌｅ＝ｂａｃｋｇｒｏｕｎｄ−ｃｏｌｏｒ：ｇｒｅｅｎに変更する。また、斜体文字を指定する＜ｉ＞及び＜／ｉ＞等のタグについては＜ｓｐａｎ  ｓｔｙｌｅ＝“ｆｏｎｔ−ｓｔｙｌｅ：ｉｔａｌｉｃ；”＞及び＜／ｓｐａｎ＞に変更する。なお、処理規則記憶部１０３は、基本処理部１０４が上述の各種の処理を行うための処理規則を記憶している。
【０１０３】
基本処理部１０４によりＬＨＴＭＬへの変換が完了されたファイルは、出力部１１０により出力される。ここに、出力部１１０は、ＬＨＴＭＬのファイルを放送してもよいし、印刷依頼のために印刷装置に送付してもよいし、画面等へ出力してもよいし、ファイル変換装置１００が備えるデータ記憶装置等への記憶を行うものとしてもよい。また、ファイル変換装置１００はネットワークを介してファイル変換を行うサーバであり、出力部１１０は変換依頼を行ったクライアントへのファイル返送等を行うものとしてもよい。
【０１０４】
なお、実施例で基本処理部１０４は、説明の便宜上、表処理部１０６が処理した結果のファイルを処理対象にするものとしたが、かかる場合に限定されることはない。例えば、基本処理部１０４の上述のタグ変更等の処理の全部又は一部は、表処理部１０６が処理を行う前に行われるものとしてもよい。
【０１０５】
Ｂ．簡易変換：
図３は、簡易変換処理を示すフローチャートである。表処理部１０６は、入れ子の表の変換にあたり、図３に示す簡易変換処理と、後述の図５で示す表の変換処理とを選択的に実行する。ユーザは、いずれの処理を行うかを指定することができる。以下では、図２のファイルを対象に簡易変換処理を行う場合について説明する。
【０１０６】
ステップＳａ１でファイル変換装置１００はＨＴＭＬのファイルを入力する。ステップＳａ２では入力されたファイルの表の最上位の表とその欄を特定する。図２の場合、表１２０と、表１２０の欄Ａ１，Ａ２，Ｂとを各々特定する。
【０１０７】
図４は、簡易変換処理で特定された各欄を示す説明図である。図４では、図３のステップＳａ２で特定された表１２０の欄Ａ１，Ａ２，Ｂが各々示されている。ここに図４は、図２のデータについての簡易変換処理を示したものである。図４の上段には簡易変換処理が施されたデータの状態を概念的に示し、また、図４の下段にはそのデータの具体的内容を示している。
【０１０８】
ステップＳａ３でファイル変換装置１００は、表１２０の＜ｔａｂｌｅ＞，＜／ｔａｂｌｅ＞，＜ｔｒ＞，＜／ｔｒ＞の各タグを削除するとともに、＜ｔｒ＞及び＜／ｔｒ＞を＜ｄｉｖ＞及び＜／ｄｉｖ＞に変更する。＜ｄｉｖ＞及び＜／ｄｉｖ＞は、内部に囲む表示要素を、１つのまとまったブロックとして表現するタグである。図４の下段では、削除された＜ｔａｂｌｅ＞，＜／ｔａｂｌｅ＞，＜ｔｒ＞，＜／ｔｒ＞の各タグに取消し線を付し、変更されたタグについては大文字を利用してこれを示した。
【０１０９】
ステップＳａ４でファイル変換装置１００は、表１２０の＜ｔａｂｌｅ＞タグ１２０ｔ内部の属性データを、各欄の＜ｄｉｖ＞タグの内部に転写する。図２の場合、「ｓｔｙｌｅ＝“ｔｅｘｔ−ｄｅｃｏｒａｔｉｏｎ：ｕｎｄｅｒｌｉｎｅ；”」なる属性データ（図中では「ｕｎｄｅｒｌｉｎｅ」により簡略化して図示）が表１２０の＜ｔａｂｌｅ＞タグ１２０ｔの内部に含まれるため、この属性データが欄Ａ１，Ａ２，Ｂの各欄の＜ｄｉｖ＞タグ内部に転写される。
【０１１０】
ただし、表１２０の全体にわたるサイズを特定する属性データ等については、転写を行わない。例えば、ＨＴＭＬにおける＜ｔａｂｌｅ＞タグ内部のｗｉｄｔｈやｈｅｉｇｈｔなどの属性データである。なお、実施例では説明の便宜上、ステップＳａ３の後にステップＳａ４を行うものとしたが、この順序は入れ替えてもよい。
【０１１１】
ステップＳａ５でファイル変換装置１００は、各ブロックの表示位置について、ユーザによる指定を入力する。図２では、欄Ａ１，Ａ２，Ｂについて各々、（０，０）と（４，０）と（０，３）との座標が指定された場合について示した。ファイル変換装置１００は、それぞれの座標を、各＜ｄｉｖ＞タグの内部に属性データとして付加する。
【０１１２】
図４では、指定された表示位置に基づき、欄Ａ２の＜ｄｉｖ＞タグ内部に、そのブロックの表示位置を特定するための属性データ「ｓｔｙｌｅ＝“ｌｅｆｔ：４；ｔｏｐ＝０；”」（図中では図示の便宜上から「ｐｏｓ＝４．０」により簡略化して図示）が付加されている。その他の欄に付加された属性データについても同様である。また、図４では図示の便宜上「ｓｔｙｌｅ＝“ｌｅｆｔ：Ｘ座標；ｔｏｐ：ｙ座標」なる属性データにより表示位置を指定するものとしたが、より詳細に指定するものとしてもよい。例えば、絶対座標又は相対座標のいずれで指定を行うかの別を表すデータや、座標の単位を表すデータを含むものとしてもよい。
【０１１３】
なお、位置の指定は、エディッタ等によりファイルの内容をユーザが直接変更するものとしてもよい。このとき、ファイル変換装置１００は、ＨＴＭＬ等におけるコメント文の利用等により、属性データを追加すべき部位をユーザに視覚的に示すものとしてもよい。また、ファイル変換装置１００は、単なるエディッタを利用したインタフェースでなく、実際の表形式の表示態様が示されるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供するものとしてもよい。
【０１１４】
図３の簡易変換処理は１つのファイルに対して繰り返し行われるものとしてもよい。例えば、図４の状態において、さらに、下位の表１３０に対して簡易変換処理が行われるものとしてもよい。
【０１１５】
Ｃ．表の変換処理：
Ｃ１．全体の流れ：
図５は、表の変換処理を示すフローチャートである。
ステップＳｂ１でファイル変換装置１００は、ファイルに入れ子の表があるか否かを調べる。入れ子になった表があれば、ステップＳｂ２以下の処理が実行される。ステップＳｂ２では、入れ子になった表のうち最下位の表を特定する。最下位の表とは、更にその内部に別の表を含まない表をいう。
【０１１６】
図６は、入れ子になった表の一例を示す説明図である。図６では、欄Ａ１，Ａ２，Ｂ１，Ｂ２を有する表Ｉが存在する。表Ｉの欄Ａ１は表ＩＩを含み、欄Ｂ２は表ＩＩＩを含む。また、表ＩＩは欄ｍ１ｎ１と欄ｍ２と欄ｎ２とを有し、欄ｍ１ｎ１は表ＩＶを有する。図６の状態で表ＩＩＩ，ＩＶは最下位の表である。
【０１１７】
ファイルが図６の状態である場合、図５のステップＳｂ２の処理でファイル変換装置１００は、表ＩＩＩ又は表ＩＶを最下位の表として特定する。
【０１１８】
ステップＳｂ３及びステップＳｂ４〜Ｓｂ６でファイル変換装置１００は、ステップＳｂ２で特定された最下位の表をその上位の表に統合する。ステップＳｂ４，Ｓｂ５，Ｓｂ６の内容は後述する。
【０１１９】
ファイル変換装置１００の処理は、ステップＳｂ３〜Ｓｂ６における統合処理の後、再びステップＳｂ１の処理に戻り、入れ子の表が残っている限りステップＳｂ２以下の処理を繰り返し行う。例えば、図６の場合において、表ＩＶが表ＩＩに統合された後は、表Ｉの欄Ａ１に表ＩＩが統合される。
【０１２０】
表の変換は、必ずしも最下位の表から順次行う必要はない。例えば、図６の場合でも、表ＩＶを内部に有する表ＩＩをそのまま表Ｉに統合するものとしてもよい。このとき、欄ｍ１ｎ１が、内部に表ＩＶを有する状態で表Ｉに統合されるものとしてもよい。
【０１２１】
Ｃ２．ブロックへの変換：
図５のステップＳｂ３でファイル変換装置１００は、入れ子の上下の表の列幅が１か否かを調べる。下位の表の列幅が１であれば、下位の表のブロック変換（ステップＳｂ４）を実行する。入れ子の下位の表の列幅が１でなく、上位の表の列幅が１であれば、上位の表のブロック変換（ステップＳｂ５）を実行する。入れ子の上下位の表が共に列幅２以上であれば、マージ処理（ステップＳｂ６）を実行する。
【０１２２】
図７は、下位の表のブロック変換の処理を示す説明図である。これは、図５のステップＳｂ４における処理を示したものである。上段では処理前のファイルの状態について、下段では処理後のファイルの状態について各々示した。
【０１２３】
下位の表１３０は列幅が１であるため、図５のステップＳｂ４の処理に付される。この結果、下位の表１３０の欄ｍ，ｎは、下段に大文字で示す通り、＜ｄｉｖ＞及び＜／ｄｉｖ＞により特定される２つのブロックに各々変換される。この変換は、前述の簡易変換処理（図３，４参照）と同様の処理で行うことができる。
【０１２４】
図８は、上位の表のブロック変換の処理を示す説明図である。これは、図５のステップＳｂ５における処理を示したものである。上段には変換前の状態を、下段には変換後の状態を各々示した。上位の表１２０は列数が１であるため、図５のステップＳｂ５の処理に付される。この結果、上位の表１２０の欄Ａ，Ｂは、下段に示す通り２つのブロックに変換されている。この変換は図７の場合と同様に行うことができる。なお、図８では上位の表１２０が、さらに上位の表１２０ｘに含まれる場合について示したが、表１２０が最上位の表である場合も同様である。
【０１２５】
Ｄ．マージ処理：
図５のステップＳｂ６では、入れ子の下位の表１３０を上位の表１２０へマージする。マージ処理では、下位の表１３０を各欄毎に展開し、上位の表１２０の欄として再構成する処理を行う。以下、係る処理を、単に下位の欄から上位の欄への変換と呼ぶことがある。
【０１２６】
図９は、マージ処理を示すフローチャートである。
ステップＳｃ１では、ステップＳｃ２の統合処理のための準備を行う。ステップＳｃ２では統合処理、即ち、下位の各欄を上位の欄に変換する処理を行う。ステップＳｃ３では、過去の統合処理の見直しを行う。各処理の詳細を示すフローチャートは図１０，１４，２２に示してものである。以下、図１０〜１３，１４〜２１，２２〜２３を各々参照しつつ、ステップＳｃ１，Ｓｃ２，Ｓｃ３の処理を説明する。
【０１２７】
Ｄ１．準備処理：
図１０は、準備処理を示すフローチャートである。これは図９のステップＳｃ１の処理である。
図１０のステップＳｄ１でファイル変換装置１００は、下位の表１３０について、＜ｔａｂｌｅ＞タグと、その＜ｔａｂｌｅ＞タグの直後の＜ｔｒ＞タグとの間に文があるか否かを調べる。かかる文が存在する場合、ステップＳｄ２で所定の移動処理を行う。
【０１２８】
図１１は、移動処理を示す説明図である。上段には処理前の状態を示し、下段には処理後の状態を示した。図１１の上段の左側図のデータおいて、下位の表１３０の＜ｔａｂｌｅ＞タグ１４１と、＜ｔａｂｌｅ＞タグ１４１の直後の＜ｔｒ＞タグ１４２との間には、「天気予報」という文１４０が存在する。文１４０は移動処理の対象の文であり、図１０のステップＳｄ２における移動処理に付される。図１１の上段の右側の概念図で示すように、かかる文１４０は、下位の表１３０の前の表示要素として取り扱われる。
【０１２９】
図１１の下段に示すように、ステップＳｄ２の移動処理では、かかる文１４０を、表１３０の外へ移動する。ただし、＜ｃａｐｔｉｏｎ＞タグから＜／ｃａｐｔｉｏｎ＞タグまでのデータのように、＜ｔａｂｌｅ＞〜＜／ｔａｂｌｅ＞タグの内部で本来的に必要なデータは移動しない。図１１の下段左側図の移動対象の文１４０のように、ファイル中で移動先の部位は、文１４０を含む表の＜ｔａｂｌｅ＞タグ１４１の直前である。なお、かかる移動は、＜ｔａｂｌｅ＞タグ１４１を移動することで実現するものとしてもよい。また、＜／ｔｒ＞及び＜／ｔａｂｌｅ＞の間の文を＜／ｔａｂｌｅ＞の直後に移動してもよい。
【０１３０】
次に図１０のステップＳｄ３でファイル変換装置１００は、基本領域を共有する２つの欄が存在するか否かを調べる。かかる２つの欄が存在する場合、ステップＳｄ４で共有解消の処理を実行する。ここに、基本領域を共有する２つの欄とは、１つの基本領域に対応付けられた２つの欄を意味する。
【０１３１】
図１２は、基本領域の共有解消処理を示す説明図である。上段には処理前の状態を示し、下段には処理後の状態を示している。図１２で各基本領域は、破線により区分される各領域ａ１，ａ２，ｂ１，ｂ２である。また、図１２の表は、基本領域ａ２，ｂ２で構成される欄αと、基本領域ｂ１，ｂ２で構成される欄βとを有する。また、欄α及び欄βに対応付けられた基本領域の範囲については、各々、ハッチングによりこれを示している。
【０１３２】
図１２上段の欄α，βは基本領域ａ２を共有している。図１２の下段に示したように、図１０のステップＳｄ４では、欄βのｃｏｌｓｐａｎを１に減少させることにより基本領域の共有を解消する。図１２では欄βについて修正を行う場合について例示したが、欄αのｒｏｗｓｐａｎを修正対象としてもよいし、いずれを修正対象とするかユーザが選択可能としてもよい。
【０１３３】
次に、図１０のステップＳｄ５でファイル変換装置１００は、いずれの欄にも対応付けられていない基本領域（以下、未対応基本領域と呼ぶ）があるか否かを調べる。未対応基本領域がある場合にはステップＳｄ６で欄の追加を行う。
【０１３４】
図１３は、欄追加処理を示す説明図である。上段には処理前の状態を示し、下段には処理後の状態を示した。図１３の上段では、基本領域ｂ３に対応付けられた欄は存在しないため、基本領域ｂ３は未対応基本領域となっている。図１３の下段に示すように、図１０のステップＳｄ６の欄追加処理では、かかる基本領域ｂ３に対応付けた欄Ｂ３を作成する処理を行う。図１３では、欄Ｂ３を追加するために新たに作成した＜ｔｄ＞及び＜／ｔｄ＞タグを大文字で示した。欄Ｂ３は全く表示要素を含まないダミーの欄としてもよいし、何らかの表示要素を含むものとしてもよい。
【０１３５】
図１３で説明した処理（図１０のステップＳｄ６）の態様には種々のものを適用することが可能である。例えば、欄Ｂの追加処理に代えて、欄Ａ３のｒｏｗｓｐａｎや欄Ｂ２のｃｏｌｓｐａｎの修正処理が行われるものとしてもよい。かかる修正処理により、未対応基本領域ｂ３を、欄Ａ３又は欄Ｂ２に対応付けられたものとすることができる。
【０１３６】
また、図１２，１３で説明した処理（図１０のステップＳｄ３，Ｓｄ４，Ｓｄ５，Ｓｄ６）の態様には種々のものを適用することが可能である。例えば、全ての基本領域が、各々唯一の欄と対応付けられている状態に近づける修正を行う種々の処理を適用し得る。
【０１３７】
Ｄ２．統合処理：
図１４は、統合処理を示すフローチャートである。これは、図９のステップＳｃ２の処理である。この処理により、下位の表１３０の欄を上位の表１２０の欄に変換する処理が行われる。
【０１３８】
Ｄ２ａ．上位の表に作成する欄の把握：
図１４のステップＳｅ１でファイル変換装置１００は、変換後の欄構成を把握する。
図１５は、欄構成の把握の一例を示す説明図である。図１５で上段の図は変換前の下位の表１３０等の状態を示し、下段の図は変換後の欄構成を示している。
【０１３９】
図１５の上段の図で欄１２１は、入れ子の上位の表の１つの欄でありり、下位の表１３０を含んでいる。欄１２１には、下位の表１３０の前段の表示要素、下位の表１３０、及び下位の表１３０の後段の表示要素が含まれる。下位の表１３０は、欄Ｍ１，Ｍ２，Ｎの３つの欄を有する。
【０１４０】
ファイル変換装置１００は、下段に示す通り、下位の表１３０を、上位の表の３つの欄１３０ｃとして構成すべきと把握する。またファイル変換装置は、３つの欄１３０ｃと別に、前段の表示要素及び後段の表示要素に応じて、欄３００，３０１を各々構成すべきものと把握する。ここに、変換前における上位の欄１２１は、前段及び後段の表示要素の欄３００，３０１と３つの欄１３０ｃとの全体に変換される。なお、ファイル変換装置１００は、前段の表示要素に応じた欄３００の＜／ｔｄ＞と、後段の表示要素に応じた欄３０１の＜ｔｄ＞を各々を追加する。
【０１４１】
Ｄ２ｂ．下位の表の欄の幅数等の増加：
図１４のステップＳｅ２，Ｓｅ３，Ｓｅ４，Ｓｅ５の処理でファイル変換装置１００は、欄１２１の列幅と、下位の表１３０全体の基本領域の列幅とをそろえる適合処理を行う。また、欄１２１の行幅についても同様に下位の表１３０の基本領域の行幅をそろえる適合処理を行う。
【０１４２】
図１４のステップＳｅ２でファイル変換装置１００は、欄１２１の列幅が下位の表１３０の列幅より大きい場合に、下位の表の幅数増加が必要と判断し、ステップＳｅ３での幅数の増加処理を実行する。
【０１４３】
図１６は、下位の表１３０の幅数を増加する処理例を示す説明図である。これは、図１４のステップＳｅ３における処理について示したものである。図１６で、上段には処理前の状態を、下段には処理後の状態を各々示した。
【０１４４】
図１６の上位の欄１２１はｃｏｌｓｐａｎ＝３であり、図中に破線で示した３列の基本領域と対応付けられている。これに対し、下位の表１３０の列幅数は２である。かかる場合、図１４のステップＳｅ３の処理により、下位の表１３０の列幅が、下段の一点鎖線で示すように２から３に増加される。表１３０の列幅の修正は、各欄Ｍ２及び欄Ｎのｃｏｌｐｓｎを増加させることで行われる。
【０１４５】
また、図１４のステップＳｅ３においてファイル変換装置１００は、下位の表１３０の列幅の増加と同様に、前段及び後段の各表示要素の各欄３００，３０１に属性データ「ｃｏｌｓｐａｎ＝３」を設定する。このようにすることで、各欄の列数を、欄１２１の列数に適合させることができる。
【０１４６】
上述の例では、下位の表１３０の最左端の欄Ｍ１のｃｏｌｓｐａｎ等は変更しないものとしたが、かかる場合に限定されることはない。また、下位の表１３０の列幅を２以上増加させるときには、例えば欄Ｍ１及びＭ２の両者のｃｏｌｓｐａｎが変更されるもの等としてもよい。
【０１４７】
上記と同様にファイル変換装置１００は、上位の欄１２１の行幅が、ステップＳｅ１で把握した変換後の各欄の合計行幅より大きい場合（ステップＳｅ２）、変換後の欄の行幅を増加する処理を行う（ステップＳｅ３）。図１６では、上位の欄１２１の行幅（ｒｏｗｓｐａｎ＝５）が、合計行幅１＋２＋１＝４よりも大きい場合の処理例を示した。ここで、行幅の修正対象は、前段の欄３００でもよいし、後段の欄３０１でもよいし、欄Ｍ１等でもよい。また、複数の欄が修正対象とされてもよい。
【０１４８】
Ｄ２ｃ．基本領域の追加：
次に図１４のステップＳｅ４，Ｓｅ５の処理について説明する。ファイル変換装置１００は、欄１２１の列幅が下位の表１３０の列幅より小さいと判断される場合（図１４のステップＳｅ４）に、ステップＳｄ５で、上位の表１２０に対する基本領域追加処理を実行する。
【０１４９】
図１７は、上位の表に基本領域を追加する処理例を示す説明図である。これは、図１４のステップＳｅ５での処理について示したものである。図１７において、上段では処理前の状態を、下段では処理後の状態を各々示した。
【０１５０】
図１７の場合には、下位の表の列幅数３は、上位の欄１２１の列幅２よりも大きい。このためファイル変換装置１００は、図１７の下段に示すように、上位の欄１２１の属性データｃｏｌｓｐａｎを３に増加する。なお、ファイル変換装置１００は、上位の欄１２１のｃｏｌｓｐａｎの増加と併せて、前段及び後段の表示要素の欄３００，３０１のｃｏｌｓｐａｎの増加を行う。
【０１５１】
ファイル変換装置１００は、同様に、上位の欄１２１の行幅が前述の合計行幅より小さい場合にも（図１４のステップＳｅ４）、上位の表１２０への基本領域の追加を行う（ステップＳｅ５）。図１７では、欄１２１のｒｏｗｓｐａｎを３から４に増加することで、上位の欄１２１の行幅を合計行幅１＋２＋１＝４に一致させる場合を示した。
【０１５２】
図１８は、基本領域追加処理のうちで、欄１２１周辺の欄に係る部分を示す説明図である。ファイル変換装置１００は、図１４のステップＳｅ５における基本領域追加処理で、欄１２１の周辺の欄のｃｏｌｓｐａｎ等の変更も併せて行う。図１８で上段には追加前の状態を、下段には追加後の状態を各々示した。
【０１５３】
変更前の状態で上位の欄１２１は列幅２、行幅３である。欄１２１の下には、欄αを含む、列幅１の２つの欄１２５が存在する（図中の一点鎖線枠）。また、欄１２１の左側には欄βを含む、行幅１の３つの欄１２６が存在する（図中の破線枠）。
【０１５４】
ここで、先に説明したステップＳｅ５の処理により、欄１２１が列幅３、行幅４にそれぞれ増加させるものとする。このときファイル変換装置１００は、図１８の下段に示すように、欄１２１のｃｏｌｓｐａｎ等の変更と併せて、欄αのｃｏｌｓｐａｎ及び欄βのｒｏｗｓｐａｎを各々２に増加させる。なお、図１８では、欄１２５の最右欄α及び欄１２６の最下欄βを修正対象とする場合について示したが、かかる場合に限定されることはない。修正対象の欄は任意に選択可能である。
【０１５５】
図１８の下段には、変更後のデータの具体的構成を併せて示した。欄１２５に対応するデータの範囲はデータ範囲１２５ｄである。また、欄１２６に対応するデータの範囲は、データ範囲１２６ｄである。ここに、データ範囲１２６ｄは中抜きの部分（欄１２１に対応するデータ）を除いた範囲である。ファイル変換装置１００は、データ範囲１２５ｄ，１２６ｄに含まれる各欄のデータのうちから、各々、欄α及び欄βのデータを各々特定し、ｃｏｌｓｐａｎ及びｒｏｗｓｐａｎをそれぞれ変更する。なお、欄βのｒｏｗｓｐａｎを増加するときには、文法上の制約により、図１８の概念図及びデータ構成図において大文字で示した＜ｔｒ＞及び＜／ｔｒ＞タグの追加が行われる。
【０１５６】
以上、図１４のステップＳｅ１〜Ｓｅ５の説明を終えた。これらの処理により、ファイル変換装置１００は、下位の表１３０等からの変換後の各欄の位置や大きさを上位の欄１２１内で調整することができる。変換後の各欄等の合計行幅及び合計列幅と、上位の欄１２１の行幅及び列幅との適合がとられる。
【０１５７】
Ｄ２ｄ．属性情報の調整：
次にファイル変換装置１００は、属性データの調整を行う（図１４のステップＳｅ６）。調整対象となる属性データとしては、（ｉ）終了タグで構成される属性データ；（ｉｉ）ａｂｌｅ＞タグ内部の属性データ；（ｉｉｉ）上位の欄１２１の＜ｔｄ＞タグ内部の属性データ；が挙げられる。
【０１５８】
図１９は、開始タグ及び終了タグの追加を示す説明図である。上段には追加前のファイルの状態について、下段には追加後のファイルの状態について各々示した。ここで、＜ｕ＞及び＜／ｕ＞の開始・終了タグは、間に囲む表示要素にアンダーラインを付すべき旨を特定するタグである。図１９の上段の例では、＜ｕ＞及び＜／ｕ＞で囲まれる範囲、即ち前段の表示要素の後半部分と、後段の表示要素の前半部分とにアンダーラインが付される。
【０１５９】
図１４のステップＳｅ６でファイル変換装置１００は、変換後の各欄でもアンダーラインが適切に付されるように、＜／ｕ＞及び＜ｕ＞の追加を行う。前段の表示要素を含む欄３００では、開始タグ＜ｕ＞に対応する終了タグ＜／ｕ＞を欄の終端部に追加する。後段の表示要素を含む欄３０１では、終了タグ＜／ｕ＞に対応する開始タグ＜ｕ＞を欄の始端部に追加する。なお、図１９では＜ｕ＞及び＜／ｕ＞を例にとって説明したが、ファイル変換装置１００は、開始タグと終了タグで囲む形で特定される種々の属性について同様の処理を施す。
【０１６０】
次に、下位の表１３０の＜ｔａｂｌｅ＞タグが有する属性データの転写について説明する。これは、前述の簡易変換処理における「ｓｔｙｌｅ＝“ｔｅｘｔ−ｄｅｃｏｒａｔｉｏｎ：ｕｎｄｅｒｌｉｎｅ；”」の転写（図４参照：ただし、属性データは「ｕｎｄｅｒｌｉｎｅ」により簡略化して図示していた）と同様の処理である。図１９では、下位の表１３０の＜ｔａｂｌｅ＞タグが有する属性データ「ｓｔｙｌｅ＝“ｔｅｘｔ−ｄｅｃｏｒａｔｉｏｎ：ｕｎｄｅｒｌｉｎｅ；”」を、変換後の各欄１３０ｃの＜ｔｄ＞タグの属性データ「ｓｔｙｌｅ＝“ｔｅｘｔ−ｄｅｃｏｒａｔｉｏｎ：ｕｎｄｅｒｌｉｎｅ；”」に転写する例を示した。ここに図１９では、図示の便宜上から、属性データ「ｓｔｙｌｅ＝“ｔｅｘｔ−ｄｅｃｏｒａｔｉｏｎ：ｕｎｄｅｒｌｉｎｅ；”」を「ｕｎｄｅｒｌｉｎｅ」により簡略化して示している。
【０１６１】
次に、上位の欄１２１の＜ｔｄ＞タグ内部の属性データの転写について説明する。この場合の転写については、図１５に一例を示している。図１５では、上位の欄１２１の＜ｔｄ＞タグの属性データ「ｓｔｙｌｅ＝“ｔｅｘｔ−ｄｅｃｏｒａｔｉｏｎ：ｕｎｄｅｒｌｉｎｅ；”」が、変換後の各欄３００，３０１の＜ｔｄ＞タグ内部に転写される場合について示した。ただし図中では、図示の便宜上から、属性データ「ｓｔｙｌｅ＝“ｔｅｘｔ−ｄｅｃｏｒａｔｉｏｎ：ｕｎｄｅｒｌｉｎｅ；”」を「ｕｎｄｅｒｌｉｎｅ」により簡略化して示している。上位の欄１２１の属性データの転写の場合は、前段及び後段の表示要素の変換後の欄３００，３０１への転写を行う。
【０１６２】
上述した属性の転写処理において、＜ｔａｂｌｅ＞タグ内部のｗｉｄｔｈやｈｅｉｇｈｔ等、下位の表１３０や、上位の欄１２１の全体にわたるサイズを特定するの属性データについては転写を行わない。なお、＜ｔａｂｌｅ＞タグ内部等の属性データが特定する表１３０の全体にわたるサイズ等を勘案して、変換後の各欄の個々のサイズを特定する属性データを付すものとしてもよい。
【０１６３】
Ｄ２ｅ．各欄のデータの移動：
以上で説明した処理によりｃｏｌｓｐａｎの調整等が行われただけでは、マークアップ言語の文法の規約上、変換後の各欄の位置・配列等は、変換前の下位の表１３０の各欄等の位置・配列と大きく異なるものとなってしまったり、文法上の異式が生じてしまったりする。図１４のステップＳｅ７でファイル変換装置１００は、変換前の位置・配列に相当する位置・配列を実現するように、マークアップ言語の文法規約に応じて、各欄のデータをファイル内の所定の部位に移動する。
【０１６４】
図２０は、データの移動処理を示すフローチャートである。移動処理は、図１４のステップＳｅ７で行われる処理である。
また、図２１は、移動処理の処理例を示す説明図である。図２１において、上段には移動前のファイルの状態を、下段には移動後のファイルの状態を各々示した。
【０１６５】
図２１の上段の概念図において、統合対象の下位の表１３０は欄（２）〜（５）より構成される。これらの各欄に応じて上位の表１２０に作成される欄が、下段の概念図における表１２０内部のＩＩ，ＶＩ，Ｖ，ＶＩＩＩの各欄である。また、上段の概念図における上位の表１２０は欄（１），（６），（７），（８）、及び、下位の表１３０を有する欄１２１を有する。欄（１），（６），（７），（８）は、変換後における下段の概念図では各々欄Ｉ，ＩＩＩ，ＩＶ，ＶＩＩに相当する。
【０１６６】
なお、以下では、上位の欄１２１における前段及び後段の表示要素（図１５参照）については考えないものとして説明を行うが、これらの表示要素からの欄３００，３０１を上位の表１２０に生成する場合も同様である。
【０１６７】
移動前のファイルにおけるデータ構成図で示すように、欄（１）〜（８）のデータは、この順序で配列されている。ファイル変換装置１００は移動後のファイルにおいて、欄（１）〜（８）のデータを、図２１下段における欄Ｉ〜ＶＩＩＩの順序で配列する必要がある。上段の欄の記号を用いて表現すれば、（１）→（２）→（６）⇒（３）→（４）→（７）⇒（８）→（５）の順序となる。
【０１６８】
下位の表１３０の各欄（２）〜（５）のデータについては、移動前のファイルではひとまとまりに隣接して＜ｔａｂｌｅ＞及び＜／ｔａｂｌｅ＞に囲まれている。しかし、移動後のファイルでは、ひとまとまりとなって隣接していない。例えば下位の表１３０の欄（２）（すなわちＩＩ）及び欄（３）（すなわちＩＶ）のデータの間には欄（６）（すなわちＩＩＩ）のデータが存在する。
【０１６９】
ただし、移動前のファイルにおける欄（２）と、（３）及び（４）と、（５）との３つのデータ集合ｄ２，ｄ３４，ｄ５は、各データ集合ごとに、移動後のファイルでもひとまとまりとなっている。
【０１７０】
図２０のステップＳｆ１でファイル変換装置１００は、下位の表１３０の各＜ｔｒ＞及び＜／ｔｒ＞に囲まれたデータ集合ｄ２，ｄ３４，ｄ５を特定する。
【０１７１】
次にステップＳｆ２でファイル変換装置１００は、移動対象の各データ集合毎に、そのデータ集合の移動先の部位を特定する。図２１でデータ集合ｄ２，ｄ３４，ｄ５の移動先の部位は各々、上位の表１２０の行のデータ１５１，１５２，１５３の内部における部位Ｐ２，Ｐ３４，Ｐ５である。
【０１７２】
移動先の部位の特定のためファイル変換装置１００は、まず、上位の表１２０の行のデータ１５１，１５２，１５３を特定する。ファイル変換装置１００は、欄１２１のデータ１２１ｄがデータ１５１の内部に存在することに基づいて、このデータ１５１から始まる３つのデータ１５１，１５２，１５３を移動先として特定することができる。３つの行としたのは、移動対象のデータ集合ｄ２，ｄ３４，ｄ５が３つだからである。
【０１７３】
ここで、データ１５１の内部には、上位の表１２０の欄（１）及び（６）が含まれている。また、データ１５２には欄（７）のデータが含まれ、データ１５３には欄（８）のデータが含まれている。これらは、上位の表１２０の従来よりの欄のデータであり、移動処理の対象ではないデータである。
【０１７４】
次にファイル変換装置１００は、上位の表１２０の行のデータ１５１，１５２，１５３内部における各移動先の部位ｐ２，ｐ３４，ｐ５を、データ１５１における欄１２１のデータ１２１ｄの位置に基づいて特定する。図２１の例で上位の欄１２１は、＜ｔｄ＞のｃｏｌｓｐａｎ値を数えることにより、データ１５１の行で、左から２列目の基本領域に位置することが分かる。ファイル変換装置１００は、移動先のデータ１５１，１５２，１５３において各々、左から２列目の基本領域の位置に相当する部位ｐ２，ｐ３４，ｐ５を移動先の部位として特定する。
【０１７５】
移動先の部位の特定は、ａ）上位の表１２０における欄１２１の位置；ｂ）下位の表１３０における各欄の位置；などが参酌されるものとしてもよい。また、欄１２１内部での下位の表１３０の位置等も参酌されるものとしてもよい。上段及び下段の表示要素がある場合では、その旨も参酌されることが望ましい。
【０１７６】
以上説明したステップＳｆ１，Ｓｆ２の処理によりファイル変換装置１００は、移動対象のデータ集合ｄ２，ｄ３４，ｄ５と、各々のデータの移動先の部位ｐ２，ｐ３４，ｐ５とを特定することができる。
【０１７７】
ステップＳｆ３でファイル変換装置１００は、下位の表１３０の＜ｔａｂｌｅ＞タグ等を削除する。このとき削除されるタグは、図２１の上段で斜体の小文字を利用して示した各タグである。下位の表１３０については、＜ｔａｂｌｅ＞，＜／ｔａｂｌｅ＞，＜ｔｒ＞，＜／ｔｒ＞の各タグが削除される。また、上位の欄１２１については、＜ｔｄ＞及び＜／ｔｄ＞の各タグが削除される。この後、ステップＳｆ４でファイル変換装置１００は、ステップＳｆ１で特定された各データ集合ｄ２，ｄ３４，ｄ５を、各々ステップＳｆ２で特定された部位ｐ２，ｐ３４，ｐ５に移動させる処理を行う。
【０１７８】
先に説明した基本領域追加処理（図１７〜１８で説明した図１４のステップＳｅ５）では、説明の便宜上、欄１２１の＜ｔｄ＞タグのｃｏｌｓｐａｎ等の数値を変更するものとした（図１７参照）が、これは必須ではない。欄１２１の＜ｔｄ＞タグは最終的に図２０のステップＳｆ３で削除されるためである。基本領域追加処理では、欄１２１に対応付けられた基本領域についての変更が実質的に行われていれば足りる。例えば、図１８で説明した、欄１２１以外の欄についての、属性データ変更等の処理が行われていれば足りる。
【０１７９】
Ｄ３．見直し処理：
図２２は、統合結果の見直し処理を示すフローチャートである。また、図２３は、統合結果の見直し処理の処理例を示す説明図である。この処理は、図９のステップＳｃ３における処理である。前述のように表の統合処理（図９のステップＳｃ２）では、基本領域追加処理（図１４のステップＳｅ５）により上位の表１２０の基本領域が変更され得る。以下で説明する処理では、かかる変更により生じた基本領域の自由度の増加に応じて、過去の統合処理の見直しを行う。
【０１８０】
図２３のＳＴＥＰ１は当初の状態を示している。この例で上位の表１２０は、下位の表１３０ａを欄Ａ２Ａ３に含み、下位の表１３０を欄Ｂ２に含む。ここに図２３の破線は表１２０の基本領域を表している。
【０１８１】
次にＳＴＥＰ２では、前述の統合処理（図９のステップＳｃ２）により、欄Ａ２Ａ３の下位の表１３０ａが上位の表１２０に統合されたとする。下位の表１３０ａの欄ｍ１，ｍ２は、上位の表１２０の欄ｍ１，ｍ２に変換されている。変換後の欄ｍ１，ｍ２は表１２０の基本領域の単位で列幅１に設定されている。
【０１８２】
次にＳＴＥＰ３で、下位の表１３０ｂについて再度、統合処理（図９のステップＳｃ２）が行われたとする。下位の表１３０ｂの欄ｘ１，ｘ２は、上位の表１２０の欄ｘ１，ｘ２に変換されている。
【０１８３】
ＳＴＥＰ３における上位の表１２０では、下位の表１３０ｂの統合に伴い、基本領域の列幅が３から４に増加される。このため、欄ｍ１のｃｏｌｓｐａｎも１から２に増加される。
【０１８４】
ＳＴＥＰ３での統合処理（図９のステップＳｃ２）に続く図２２の処理（図９のステップＳｃ３）では、上位の表１２０の基本領域の列幅の増加に応じた処理が行われる。
【０１８５】
まず、図２２のステップＳｇ１でファイル変換装置１００は、下位の表からの統合により生じた欄であって、今回の統合処理でｃｏｌｓｐａｎが増加した欄を特定する。図２３のＳＴＥＰ３の場合、欄ｍ１を特定する。次にステップＳｇ２では、欄ｍ１が、統合前の下位の表１３０ａにおける最左の欄であるか否かを調べる。最左の欄でなければ何も行わずに処理を終了するが、最左の欄であればステップＳｇ３，Ｓｇ４の処理を実行する。
【０１８６】
ステップＳｇ３，Ｓｇ４の処理を説明するために、これらの処理を行った後の状態を図２３のＳＴＥＰ４に示した。ステップＳｇ３でファイル変換装置１００は、最左の欄ｍ１のｃｏｌｓｐａｎを減じる。ステップＳｇ４でファイル変換装置１００は、欄ｍ１の右隣の欄ｍ２のｃｏｌｓｐａｎを増じる。
【０１８７】
なお、表１２０を更に上位の表に統合する場合、欄ｍ１等は、更なる変換処理により、表１２０より更に上位の表の欄に変換される。ここで、更に上位の表の基本領域に係る見直し処理では、直接の下位の表１２０で最左の欄でなかった欄ｍ１（ＳＴＥＰ４の状態）についてもステップＳｇ３，Ｓｇ４の処理が行われるものとしてもよい。例えば、ステップＳｇ２の判断で、表１２０より更に下位の表１３０ａにおける欄ｍ１（ＳＴＥＰ１の状態）は最左の欄であったことが検知されるものとしてもよい。
【０１８８】
また、図２２の見直し処理はファイル変換装置１００に必須ではない。例えば、表の最左欄の表示要素の量が他の欄より統計的に少ない場合にのみ図２２の見直し処理が行われるものとしてもよい。
【０１８９】
本実施例におけるファイル変換装置１００によれば、ＨＴＭＬにおける入れ子の表を、入れ子のない形式に変換することができる。
【０１９０】
上位の欄１２１には、２個以上の下位の表が含まれるものとしてもよい。例えば、図１５の上段の概念図において、前段及び後段の表示要素の少なくとも一方に、下位の表１３０と別の表を含むものとしてもよい。このとき、前段の表示要素等の変換後の欄に、別の下位の表が含まれるものとしてもよい。また、複数の下位の表について、その欄を一度に上位の表１２０の欄に変換してもよい。例えば、前述の合計行幅や合計行数が、複数の下位の表に応じて計算されるものとしてもよい。
【０１９１】
Ｅ．第２実施例：
第２実施例では、下位の表の各欄のデータの移動処理（図１４のステップＳｅ７：図２０，２１で詳細に説明）に係る変形例を示す。第２実施例では、下位の表の各欄等のデータ移動処理を、その下位の表ごとに図１４のステップＳｅ７で行うことはない。データ移動処理は、複数の下位の表に係る移動処理を一括して行う。
【０１９２】
図２４は、２つの下位の表１３０Ｐ，１３０Ｖを含む上位の表１２０を示す説明図である。図２４の表１２０は、欄Ｐ１に下位の表１３０Ｐを、欄Ｖ１に下位の表１３０Ｖを各々含む。また、欄Ｐ１，Ｖ１には各々、表１３０Ｐ，１３０Ｖの前後に、前段及び後段の表示要素を有する。ファイル変換装置１００は、上位の表１２０の欄として、表１３０Ｐの各欄に応じた４つの欄と、表１３０Ｖの各欄に応じた６つの欄と、欄Ｐ１，Ｖ１の前段及び後段の表示要素に応じた４つの欄とを作成する。
【０１９３】
まず、下位の表１３０Ｐ，１３０Ｖのうちで表１３０Ｖが統合処理の対象に選択される（図５のステップＳｂ２）ものとする。表１３０Ｖに係る統合処理（図１４）の結果、図２４で図示するように、欄Ｖ１は、ｃｏｌｓｐａｎが２にｒｏｗｓｐａｎが５に各々設定されている（図１４のステップＳｅ５：図１７の説明を参照）。このとき、欄Ｖ１の左側に隣接する欄Ｐ１のｒｏｗｓｐａｎも５に設定される（図１８の説明を参照）。なお、上位の表１２０における基本領域の区分は、図２４で破線により示している。ここで、ｒｏｗｓｐａｎ等の設定後に、表１３０Ｖの各欄等のデータを移動すること（図１４のステップＳｅ７）は第２実施例では行われない。この処理は後刻に別途行われる。
【０１９４】
次に、残された下位の表１３０Ｐが統合処理の対象に選択される（図５のステップＳｂ２）ものとする。表１３０Ｐに係る統合処理では、後段の表示要素の欄３０１Ｐのｒｏｗｓｐａｎを２に設定する等の処理が行われる。ただし、表１３０Ｖの場合と同様、表１３０Ｐの各欄のデータの移動処理（図１４のステップＳｅ７）はこの時点では行われない。この処理は後刻に別途行われる。
【０１９５】
以上により、上位の欄Ｐ１，Ｖ１と、下位の表１３０Ｐ，１３０Ｖの各欄等とのｃｏｌｓｐａｎ等の設定を終えることとができた。この時点では、下位の表１３０Ｐ，１３０Ｖの各欄のデータは各々ひとまとまりになっている（図２１の上段参照）。この後にファイル変換装置１００はデータの移動処理を行う。この処理は、第１実施例におけるデータ移動処理（図２０，２１）とほぼ同様である。ただし、複数の上位の欄Ｐ１，Ｖ１に係る処理を一括して行う点で第１実施例の場合と相違する。
【０１９６】
図２０のステップＳｆ１においてファイル変換装置１００が特定する、移動単位となるデータ集合は、第２実施例では、複数の上位の欄Ｐ１，Ｖ１にわたるデータ集合である。図２４の場合、欄Ｐ１，Ｖ１のｒｏｗｓｐａｎが５であるから、５つのデータ集合が特定される。具体的には、前段表示要素の欄３００Ｐ（欄Ｐ１内）及び前段表示要素の欄３００Ｖ（欄Ｖ１内）のデータからなるデータ集合と、欄ｍ１，ｍ２（欄Ｐ１内）及び欄ｓ１，ｓ２（欄Ｖ１内）のデータからなるデータ集合と、欄ｎ１，ｎ２（欄Ｐ１内）及び欄ｔ１，ｔ２（欄Ｖ１内）のデータからなるデータ集合と、後段の表示要素の欄３０１Ｐ（欄Ｐ１内）及び欄ｕ１，ｕ２（欄Ｖ１内）のデータからなるデータ集合と、後段の表示要素の欄３０１Ｖ（欄Ｖ１内）のデータからなるデータ集合との、５つのデータ集合である。
【０１９７】
ステップＳｆ２おける移動先の部位の特定と、ステップＳｆ４における移動処理とは第１実施例の場合と同様に行うことができる。また、ステップＳｆ３における＜ｔａｂｌｅ＞タグ等の削除も第１実施例の場合と同様に行うことができる。ただし、複数の表１３０Ｐ，１３０Ｖのタグが一括して削除等の対象になる点で第１実施例の場合と相違する。
【０１９８】
なお、第２実施例の場合でも、統合結果の見直し処理（図２２，２３で詳細に説明する図９のステップＳｃ３）を活用することができる。
【０１９９】
なお、図２４では、移動処理にかかる上位の欄Ｐ１，Ｖ１が隣接している場合について示したが、隣接していない場合も同様である。また、図２４では、移動処理にかかる上位の欄Ｐ１，Ｖ１が横方向に並んでいる場合について示したが、欄Ｐ１，Ｖ１が縦方向に並ぶ場合や、欄Ｐ１，Ｖ１が斜め方向に並ぶ場合も、欄Ｐ１，Ｖ１に係るデータの一括移動処理を行うことができる。
【０２００】
また、図２４の場合において、欄Ｐ２又はＶ２の少なくとも一方に下位の表を含むときなど、上位の表１２０に３つ以上の下位の表を含む場合もある。そのような場合、上位の表１２０に含む全ての下位の表についてのデータ移動処理を一括して行ってもよいし、所定の一部の下位の表についての移動処理のみが一括して行われてもよい。所定の一部の下位の表についての処理のみが一括して行われる場合、その移動処理に係る表以外の下位の表のｃｏｓｌｐａｎ等の設定は、その移動処理の後に行われるものとしてもよい。
【０２０１】
以上、実施例に基づき本発明にかかるファイル変換装置を説明してきたが、上述した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得る。
【図面の簡単な説明】
【図１】ファイル変換装置１００を示す説明図である。
【図２】ＨＴＭＬのファイルの一例を示す説明図である。
【図３】簡易変換処理を示すフローチャートである。
【図４】簡易変換処理で特定された各欄を示す説明図である。
【図５】表の変換処理を示すフローチャートである。
【図６】入れ子になった表の一例を示す説明図である。
【図７】下位の表のブロック変換の処理を示す説明図である。
【図８】上位の表のブロック変換の処理を示す説明図である。
【図９】マージ処理を示すフローチャートである。
【図１０】準備処理を示すフローチャートである。
【図１１】移動処理を示す説明図である。
【図１２】基本領域の共有解消処理を示す説明図である。
【図１３】欄追加処理を示す説明図である。
【図１４】統合処理を示すフローチャートである。
【図１５】欄構成の把握の一例を示す説明図である。
【図１６】下位の表１３０の幅数を増加する処理例を示す説明図である。
【図１７】上位の欄１２０に基本領域を追加する処理例を示す説明図である。
【図１８】基本領域追加処理のうちで、欄１２１の周辺の欄に係る部分を示す説明図である。
【図１９】開始タグ及び終了タグの追加を示す説明図である。
【図２０】データの移動処理を示すフローチャートである。
【図２１】移動処理の処理例を示す説明図である。
【図２２】統合結果の見直し処理を示すフローチャートである。
【図２３】統合結果の見直し処理の処理例を示す説明図である。
【図２４】２つの下位の表１３０Ｐ，１３０Ｖを含む上位の表１２０を示す説明図である。
【符号の説明】
１００…ファイル変換装置
１００ｃ…キーボード
１０１…ファイル入力部
１０２…ユーザ入力部
１０３…処理規則記憶部
１０４…基本処理部
１０５…文法記憶部
１０６…表処理部
１０７…構造特定部
１０８…タグ操作部
１０９…データ移動部
１１０…出力部
１２０…上位の表
１２０ｔ…表１２０の＜ｔａｂｌｅ＞タグ
１２１…下位の表を有する欄
１２５…基本領域の行が欄１２１と一致する欄
１２６…基本領域の列が欄１２１と一致する欄
１３０…下位の表
１３０ａ，１３０ｂ…下位の表
１３０ｃ…下位の表１３０から変換した上位の表の各欄
１４０…移動対象の文
１４１…文１４０を含む表の＜ｔａｂｌｅ＞タグ
１４２…＜ｔａｂｌｅ＞タグ１４１に隣接する＜ｔｒ＞タグ
１５１，１５２，１５３…上位の表１２０の行のデータ
ｄ２，ｄ３４，ｄ５…移動対象のデータ集合
ｐ２，ｐ３４，ｐ５…データ集合ｄ２，ｄ３４，ｄ５の移動先の部位
１２１ｄ…欄１２１ｄのデータ
３００…前段の表示要素の変換後の欄
３０１…後段の表示要素の変換後の欄
【図１】
2004252655.tif 000003
【図２】
2004252655.tif 000004
【図３】
2004252655.tif 000005
【図４】
2004252655.tif 000006
【図５】
2004252655.tif 000007
【図６】
2004252655.tif 000008
【図７】
2004252655.tif 000009
【図８】
2004252655.tif 000010
【図９】
2004252655.tif 000011
【図１０】
2004252655.tif 000012
【図１１】
2004252655.tif 000013
【図１２】
2004252655.tif 000014
【図１３】
2004252655.tif 000015
【図１４】
2004252655.tif 000016
【図１５】
2004252655.tif 000017
【図１６】
2004252655.tif 000018
【図１７】
2004252655.tif 000019
【図１８】
2004252655.tif 000020
【図１９】
2004252655.tif 000021
【図２０】
2004252655.tif 000022
【図２１】
2004252655.tif 000023
【図２２】
2004252655.tif 000024
【図２３】
2004252655.tif 000025
【図２４】
2004252655.tif 000026