(57)【要約】【課題】レコードの内容を表す項目がツリー構造を有する複雑な構造の表をＸＭＬデータに変換可能な表−ＸＭＬ変換装置を得ること。【解決手段】対象データのデータ構造を定義するデータ構造定義情報と、対象データのデータ構造を構成する各構成要素に対応するデータ値情報とを含む表を読込み、表をＸＭＬデータに変換する表−ＸＭＬ変換装置１であって、データ構造定義情報からＸＭＬデータの文書構造であるＸＭＬデータ構造を解釈するデータ構造定義解釈部１３と、データ値情報とデータ構造定義解釈部１３によって解釈されたＸＭＬデータ構造とを関連付けしてＸＭＬデータを生成するＸＭＬデータ生成部１４と、を備える。【選択図】        図２
2005339019.tif 000002
【特許請求の範囲】
【請求項１】
対象データのデータ構造を定義するデータ構造定義情報と、前記対象データのデータ構造を構成する各構成要素に対応するデータ値情報とを含む表データを読込み、前記表データをＸＭＬデータに変換する表−ＸＭＬ変換装置であって、
前記データ構造定義情報からＸＭＬデータの文書構造であるＸＭＬデータ構造を解釈するデータ構造定義解釈手段と、
前記データ値情報と前記データ構造定義解釈手段によって解釈された前記ＸＭＬデータ構造とを関連付けしてＸＭＬデータを生成するＸＭＬデータ生成手段と、
を備えることを特徴とする表−ＸＭＬ変換装置。
【請求項２】
前記表データは、表データが記述されるデータ領域と、該データ領域の範囲を示すデータ領域指定領域を含み、
読込んだ表データから前記データ領域指定領域を抽出し、表データ中における前記データ領域を抽出するデータ領域抽出手段をさらに備えることを特徴とする請求項１に記載の表−ＸＭＬ変換装置。
【請求項３】
前記表データは、セルが縦横に規則的に配列されたワークシートにおいて、前記表データに入力されるレコードの内容を示す項目を前記ワークシート内のセルを階層構造に構成した前記データ構造定義情報を表すタグエリアと、前記表データに入力されるレコードとして前記データ構造定義情報の項目に対応する位置のセルに記述された前記データ値情報を表すデータエリアとによって構成され、
前記データ構造定義解釈手段は、前記タグエリアのセルに格納される項目をタグ名とするＸＭＬデータ構造を作成し、
前記ＸＭＬデータ生成手段は、前記タグエリアのセルに格納される項目に対応する位置の前記データエリアのセルに格納されるデータ値情報を要素内容として、前記ＸＭＬデータ構造の対応する要素に挿入することを特徴とする請求項２に記載の表−ＸＭＬ変換装置。
【請求項４】
前記データ構造定義解釈手段は、前記タグエリアのセルに記述されるデータ構造定義情報の表記方法と、前記データエリアのセルに格納されるデータ値情報の種類とを対応付けし、この対応付けに基づいて前記ＸＭＬデータ構造を解釈することを特徴とする請求項３に記載の表−ＸＭＬ変換装置。
【請求項５】
前記タグエリアは、互いに関連のある下位の項目のセルを１つのグループとし、この１つのグループに属する項目が入力されたセルよりも上位のセルを結合した結合セルを用いて、前記セルの階層構造を表現し、
前記データ構造定義解釈手段は、前記タグエリアのセルの階層構造に基づいて、前記ＸＭＬデータ構造を生成することを特徴とする請求項３に記載の表−ＸＭＬ変換装置。
【請求項６】
前記データ構造定義解釈手段は、前記データエリアにセルを結合した結合セルの有無によって、異なるＸＭＬデータ構造を生成することを特徴とする請求項３に記載の表−ＸＭＬ変換装置。
【請求項７】
前記表データは、複数の表データに分割して構成され、分割元の表データと分割先の表データとの間の対応構造を示す対応情報を有し、
前記データ構造定義解釈手段は、前記対応情報に基づいて前記分割された複数の表データから１つのＸＭＬデータ構造を生成することを特徴とする請求項３に記載の表−ＸＭＬ変換装置。
【請求項８】
前記タグエリアの対応するセルに入力される内容に応じてデータ値情報が何も入力されないセルである空白セルが前記データエリアに存在し、前記空白セルのＸＭＬデータへの変換様式が複数存在する場合に、
前記表データは、前記空白セルに前記変換様式を示す変換様式情報を格納し、
前記ＸＭＬデータ生成手段は、前記空白セルに格納される前記変換様式情報に基づいて、前記空白セルを前記ＸＭＬデータに変換することを特徴とする請求項３に記載の表−ＸＭＬデータ変換装置。
【請求項９】
読込んだ前記表データが、ＸＭＬデータを生成することが可能な構造を有しているか否かのチェックを行う表データ形式チェック手段をさらに備えることを特徴とする請求項３に記載の表−ＸＭＬ変換装置。
【請求項１０】
前記データエリアに結合セルが存在する場合に、前記結合セルをそのままの状態でＸＭＬデータ構造を生成するか、または前記結合セルの結合を解除した状態でＸＭＬデータ構造を生成するかの選択を行なう結合セル変換処理選択手段をさらに備えることを特徴とする請求項６に記載の表−ＸＭＬ変換装置。
【請求項１１】
対象データのデータ構造を定義するデータ構造定義情報と、前記対象データのデータ構造の各構成要素に対応するデータ値情報とを含む表データをＸＭＬデータに変換する表−ＸＭＬ変換方法であって、
前記表データを読込む表データ読込工程と、
読込んだ前記表データの前記データ構造定義情報からＸＭＬデータにおける文書構造であるＸＭＬデータ構造を生成するデータ構造定義解釈工程と、
前記表データのデータ値情報と生成された前記ＸＭＬデータ構造とを関連付けしてＸＭＬデータを生成するＸＭＬデータ生成工程と、
を含むことを特徴とする表−ＸＭＬ変換方法。
【請求項１２】
前記表データ読込工程は、読込んだ表データから表データが記述されるデータ領域の範囲を示すデータ領域指定領域を読込み、前記表データ内のデータ領域を抽出することを特徴とする請求項１１に記載の表−ＸＭＬ変換方法。
【請求項１３】
前記データ構造定義解釈工程は、縦横に規則的にセルが配列されたワークシートに、前記表データに入力されるレコードの内容を示す項目を前記ワークシート内のセルを階層構造に構成した前記データ構造定義情報を表すタグエリアと、前記表データに入力されるレコードとして前記データ構造定義情報の項目に対応する位置のセルに記述された前記データ値情報を表すデータエリアとによって構成される表データから、前記タグエリアの各セルに格納される項目をタグ名とするＸＭＬデータ構造を作成し、
前記ＸＭＬデータ生成工程は、前記タグエリアのセルに格納される項目に対応する位置の前記データエリアのセルに格納されるデータ値情報を要素内容として、前記ＸＭＬデータ構造の対応する要素に挿入することを特徴とする請求項１２に記載の表−ＸＭＬ変換方法。
【請求項１４】
前記データ構造定義解釈工程は、前記タグエリアのセルに記述されるデータ構造定義情報の表記方法と前記データエリアのセルに格納されるデータ値情報の種類とを対応付けし、この対応付けに基づいて前記ＸＭＬデータ構造を解釈することを特徴とする請求項１３に記載の表−ＸＭＬ変換方法。
【請求項１５】
前記データ構造定義解釈工程は、互いに関連のある前記タグエリアの下位の項目のセルを１つのグループとし、この１つのグループに属する項目が入力されたセルよりも上位のセルを結合した結合セルを用いて、前記セルの階層構造を表現する前記データ構造定義情報に基づいて、前記ＸＭＬデータ構造を生成することを特徴とする請求項１３に記載の表−ＸＭＬ変換方法。
【請求項１６】
前記データ構造定義解釈工程は、前記データエリアにセルを結合した結合セルの有無によって、異なるＸＭＬデータ構造を生成することを特徴とする請求項１３に記載の表−ＸＭＬ変換方法。
【請求項１７】
複数の表データに分割して構成され、分割された表データ間の対応構造を示す対応情報を有する表データを読込んだ場合に、
前記データ構造定義解釈工程は、前記対応情報に基づいて前記分割された複数の表データから１つの前記ＸＭＬデータ構造を生成することを特徴とする請求項１３に記載の表−ＸＭＬ変換方法。
【請求項１８】
前記ＸＭＬデータ生成工程は、
前記タグエリアの対応するセルに入力される内容に応じてデータ値情報が何も入力されないセルである空白セルが前記データエリアに存在し、前記空白セルのＸＭＬデータへの変換様式が複数存在する場合に、前記空白セルに格納された前記変換様式を示す変換様式情報に基づいて、前記空白セルを前記ＸＭＬデータに変換することを特徴とする請求項１３に記載の表−ＸＭＬデータ変換方法。
【請求項１９】
前記表データ読込工程は、読込んだ前記表データが、ＸＭＬデータを生成することが可能な構造を有しているか否かのチェックを行うことを特徴とする請求項１３に記載の表−ＸＭＬ変換方法。
【請求項２０】
前記データ構造定義解釈工程は、前記データエリアに結合セルが存在する場合に、前記結合セルをそのままの状態でＸＭＬデータ構造を生成するか、または前記結合セルの結合を解除した状態でＸＭＬデータ構造を生成するかの選択を行なうことを特徴とする請求項１６に記載の表−ＸＭＬ変換方法。
【請求項２１】
請求項１１〜２０のいずれか一つに記載された方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、表データをＸＭＬデータに変換するための表−ＸＭＬ変換装置、方法およびその方法をコンピュータに実行させるためのプログラムに関するものである。
【背景技術】
【０００２】
ＸＭＬ（eXtensible Markup Language）データを作成する際に、データ構造を定義する情報としては、通常、ＸＭＬのスキーマ言語であるＸＭＬ SchemaやＤＴＤ(Document Type Definition)などを用い、データ値情報としてはＸＭＬインスタンスを用いるのが一般的である。しかし、スキーマ言語は、ＸＭＬに不慣れな操作者には難しく、そのための専用のソフトウェアアプリケーションを使用する場合が多い。
【０００３】
ところで、表データは、設定データやパラメータデータなどの種々のデータの記述や管理が容易であることから多く利用されている。しかし、異なるアプリケーション間でのデータのやり取りや異なるコンピュータシステム間でのデータのやり取りで表データを利用する場合には、操作者が表データを見ながら直接入力したり、予め定められたテンプレート形式に対応したデータに変換して入力したりしなければならず、煩雑である。そこで、設定データやパラメータデータなどが記述された表データを汎用性の高い形で利用できることが望ましい。
【０００４】
特許文献１においては、表計算ソフトウェア用の表データをＸＭＬに変換し、これにスタイルシートを適用してＨＴＭＬ（HyperText Markup Language)を作成するようにしたＨＴＭＬデータ作成方法が開示されている。具体的には、入力された表データおよび適用すべき個別適用型ＸＳＬ（eXtensible Stylesheet Language）に基づき表データを該表データの１レコードのみを含むレコード数分のＸＭＬに変換し、これら複数のＸＭＬに個別に個別適用型ＸＳＬを適用して、個別適用型ＨＴＭＬを作成すること、また、入力された表データおよび適用すべき全体適用型ＸＳＬに基づき表データを該表データの全レコードを含む１つのＸＭＬに変換し、この１つのＸＭＬに全体適用型ＸＳＬを適用して、全体適用型ＨＴＭＬを作成することが開示されている。
【０００５】
【特許文献１】特開２００１−１０９７４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１によれば、変換対象の表データの項目に記述できるデータは、ＸＭＬデータにおいて１階層分のデータであり、ツリー構造を構成するような複雑な項目を有する表データを変換することができないという問題点があった。
【０００７】
この発明は、上記に鑑みてなされたものであって、レコードの内容を表す項目がツリー構造を有する複雑な構造の表データをＸＭＬデータに変換可能な表−ＸＭＬ変換装置、方法およびその方法をコンピュータに実行させるためのプログラムを得ることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、この発明にかかる表−ＸＭＬ変換装置は、対象データのデータ構造を定義するデータ構造定義情報と、前記対象データのデータ構造を構成する各構成要素に対応するデータ値情報とを含む表データを読込み、前記表データをＸＭＬデータに変換する表−ＸＭＬ変換装置であって、前記データ構造定義情報からＸＭＬデータの文書構造であるＸＭＬデータ構造を解釈するデータ構造定義解釈手段と、前記データ値情報と前記データ構造定義解釈手段によって解釈された前記ＸＭＬデータ構造とを関連付けしてＸＭＬデータを生成するＸＭＬデータ生成手段と、を備えることを特徴とする。
【０００９】
つぎの発明にかかる表−ＸＭＬ変換方法は、対象データのデータ構造を定義するデータ構造定義情報と、前記対象データのデータ構造の各構成要素に対応するデータ値情報とを含む表データをＸＭＬデータに変換する表−ＸＭＬ変換方法であって、前記表データを読込む表データ読込工程と、読込んだ前記表データの前記データ構造定義情報からＸＭＬデータにおける文書構造であるＸＭＬデータ構造を生成するデータ構造定義解釈工程と、前記表データのデータ値情報と生成された前記ＸＭＬデータ構造とを関連付けしてＸＭＬデータを生成するＸＭＬデータ生成工程と、を含むことを特徴とする。
【００１０】
つぎの発明にかかるプログラムは、上記の発明に記載された方法をコンピュータに実行させるためのプログラムであり、そのプログラムがコンピュータ読み取り可能となり、これによって、上記の発明のいずれか一つの動作をコンピュータによって実行することができる。
【発明の効果】
【００１１】
この発明によれば、表の構造を表すデータ構造定義情報を、表を用いて表現することによって、ＸＭＬに精通していないユーザでも、スキーマ言語を用いずに表ファイルに格納される表をＸＭＬデータに変換する作業を容易にすることができるという効果を有する。
【発明を実施するための最良の形態】
【００１２】
以下に、添付図面を参照して、この発明にかかる表−ＸＭＬ変換装置、方法およびその方法をコンピュータに実行させるためのプログラムの好適な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態１．
最初に、この発明で変換元となる表とこの表が作成されるワークシートについて説明する。図１−１〜図１−２は、表の構成の一例を模式的に示す図である。表は、スプレッドシート（表計算ソフトウェア）によって作成されるデータファイルで管理され、スプレッドシート内の１以上のワークシート１００に作成される。ワークシート１００は、セル１０１が縦横に配列した構成を有しており、セル１０１の横方向の配列を行といい、縦方向の配列を列という。このワークシート１００内のセル１０１に文字列や数値を入力して配置することによって表１２０が作成される。なお、この発明では、１枚のワークシートには１つの表のみが作成されるものとする。なお、表は特許請求の範囲における表データに対応している。
【００１４】
表１２０は、タグエリア１２１とデータエリア１２２とから構成される。タグエリア１２１には、表のデータ構造を定義するデータ構造定義情報が格納される。具体的には、タグエリア１２１には、表のデータエリア１２２に格納されるレコードの内容を示す項目が設定される。このタグエリア１２１は、従来の特許文献１では１行のみで構成されていたが、この発明では１行に限られず複数の行で構成されていてもよい。つまり、この発明では、構成要素（項目）がツリー構造を有する複雑な構成の場合にも対応することができる。データエリア１２２には、データ構造の各構成要素に対応するデータ値情報が格納される。具体的には、タグエリア１２１がツリー構造をなしている場合にその最下位の層の項目に対応するレコードが格納される。なお、この明細書ではタグエリア１２１とデータエリア１２２から構成される領域をデータ領域１２３と呼ぶものとする。
【００１５】
ワークシート１００には、表１２０（データ領域１２３）以外に、データ領域指定領域１１０が形成される。このデータ領域指定領域１１０は、ワークシート１００中に作成されたデータ領域１２３の位置（範囲）を示すものである。データ領域指定領域１１０は、タグエリアとデータエリアのそれぞれの範囲を指定するものであり、タグエリアの開始行、終了行、開始列、終了列と、データエリアの開始行、終了行、開始列、終了列についての情報を認識することができれば、どのような記述形態でもよい。図１−１の例では、タグエリアの開始行、終了行、開始列、終了列と、データエリアの開始行、終了行、開始列、終了列が指定されるようになっている。なお、ワークシートにおける行と列の特定方法は表計算ソフトウェア（スプレッドシート）の種類によって異なって定められるものであるが、この発明では、行については最上位の行を１行目として、下に向かうにしたがって昇順に各行に行番号をふり、列については最も左側の列を１列目として、右に向かうにしたがって昇順に各列に列番号をふるものとする。
【００１６】
図１−１の例では、タグエリア開始行は９行目であり、タグエリア終了行は１１行目であり、タグエリア開始列は１列目であり、タグエリア終了列は４列目であることが、データ領域指定領域１１０に指定されている。すなわち、図１−１の左下方に示されるように、表１２０のタグエリア１２１は９行１列のセルから１１行４列のセルまでの範囲に記述されている。また、データエリア開始行は１２行目であり、データエリア終了行は１３行目であり、データエリア開始列は１列目であり、データエリア終了列は４列目であることが、データ領域指定領域に指定されている。すなわち、図１−１の左下方に示されるように、表１２０のデータエリア１２２は１２行１列のセルから１３行４列のセルまでの範囲に記述されている。以上のような規則にしたがって、この発明による表が作成されるものとする。このデータ領域指定領域１１０でワークシート１００中のデータ領域１２３が指定されることによって、データ領域１２３以外のセルに数値や文字列が入力されていても、それらはＸＭＬデータへの変換対象とはならない。つまり、データ領域１２３中に存在するセルに入力される値のみがＸＭＬデータへと変換される。
【００１７】
つぎに、この発明にかかる表−ＸＭＬ変換装置と表−ＸＭＬ変換方法の詳細について説明する。図２は、この発明にかかる表−ＸＭＬ変換装置の概略構成を示すブロック図である。表−ＸＭＬ変換装置１は、表計算ソフトウェアなどで作成された表ファイルを読込む表ファイル読込部１１と、読込んだ表ファイルからデータ領域を抽出するデータ領域抽出部１２と、表のデータ構造が定義されたデータ構造定義情報からＸＭＬデータの構造であるＸＭＬデータ構造を解釈するデータ構造定義解釈部１３と、データ値情報とＸＭＬデータ構造とを対応付けして、表ファイル中の表をＸＭＬ形式のデータに変換するＸＭＬデータ生成部１４と、これらの各処理部を制御する制御部１５と、を備えて構成される。
【００１８】
表ファイル読込部１１は、表−ＸＭＬ変換装置１の操作者（以下、ユーザという）によって作成される表ファイルまたは外部の装置から入力される表ファイルを読込む機能を有する。読込む表ファイルは、スプレッドシート（表計算ソフトウェア）で編集可能な表である。
【００１９】
データ領域抽出部１２は、読込んだ表ファイルのワークシート１００中におけるデータ領域１２３（表１２０）を、より具体的にはデータ構造定義情報が定義されるタグエリア１２１とデータ値情報が格納されるデータエリア１２２とを、抽出する機能を有する。データ領域１２３は、上述したようにワークシート１００中のデータ領域指定領域１１０に指定されているので、データ領域抽出部１２はこのデータ領域指定領域１１０を参照することで、タグエリア１２１とデータエリア１２２とからなるデータ領域１２３を抽出することができる。
【００２０】
データ構造定義解釈部１３は、表ファイルのワークシート１００中におけるタグエリア１２１の構造（すなわち、データ構造定義情報）をＸＭＬデータの構造として解釈して、表からＸＭＬデータへの変換を行うためのＸＭＬデータ構造を生成する機能を有する。具体的には、タグエリア１２１内のセルに記述される構成要素（以下、セルデータともいう）には、セルデータ同士の間に親子関係（包含関係）や兄弟関係（並列関係）が存在するので、タグエリア１２１全体のセルデータ間の関係を表すとツリー構造状となる。一方、ＸＭＬデータは、ツリー構造状を有するデータを記述することが可能なマークアップ言語である。そこで、データ構造定義解釈部１３は、タグエリア１２１に格納されるセルデータ同士の関係に基づいて、ＸＭＬデータの構造を解釈する。
【００２１】
ここで、タグエリア１２１内のセルデータにおける親子兄弟関係について説明する。タグエリア１２１内における親子関係は、行の上下関係のことを意味するものであり、行番号が小さい（ワークシート１００中の行のうち上方向に存在する）セルほど階層が上位（親）となる。また、タグエリア１２１内における兄弟関係は、同じ行に存在するグルーピングされたセル１０１のうち、列番号が小さい（ワークシート中の列のうち左方向に存在する）ものを兄とするものである。親子関係を記述する際に、上位に存在するデータに相当するセルは、たとえばセル同士を結合した結合セルを作成して、下位に存在するデータに相当するセルと同じ幅かまたはそれ以上の幅となるように記述することによって、データ間の親子関係（上下関係および包含関係）が生成される。このデータの親子関係をタグエリア１２１内のセルデータについて繰り返すことで、複数階層の親子関係の記述を可能とする。また、兄弟関係を記述する際に、同じ親要素を有し、同じタグエリア１２１内の同じ行に存在するようにセルデータを記述することによって、これらのセルデータ間の兄弟関係（並置関係）が生成される。このようなセルデータの親子兄弟関係によって、内容を詳細に分類することが可能な表が作成される。
【００２２】
図３−１は、ワークシートに作成される表の一例を示す図である。この表は、上述したように、タグエリア１２１と、データエリア１２２とから構成される。タグエリア１２１内のセルデータには、データエリア１２２に格納されるデータに対して付される項目が入力される。この図３−１では、タグエリア１２１のセルデータには、"＜"と"＞"で囲まれる文字列が項目として格納されている。
【００２３】
この図３−１で、１行目のタグエリア１２１のセルデータ＜Ａ＞が入力されるセルの幅は、２行目のセルデータ＜Ｂ＞，＜Ｃ＞，＜Ｄ＞が入力されるそれぞれのセルの幅を足し合わせたものと等しくなっている。すなわち、セルデータ＜Ａ＞は、セルデータ＜Ｂ＞，＜Ｃ＞，＜Ｄ＞の親要素となっており、セルデータ＜Ｂ＞，＜Ｃ＞，＜Ｄ＞は、セルデータ＜Ａ＞の子要素となっている。また、２行目のセルデータ＜Ｂ＞が入力されるセルの幅は、３行目のセルデータ＜Ｅ＞，＜Ｆ＞が入力されるそれぞれのセルの幅を足し合わせたものと等しくなっているので、セルデータ＜Ｂ＞は、セルデータ＜Ｅ＞，＜Ｆ＞の親要素となっている。同様に、セルデータ＜Ｃ＞はセルデータ＜Ｇ＞の親要素であり、セルデータ＜Ｄ＞はセルデータ＜Ｈ＞の親要素となっている。以上の関係をツリー構造で表現したものが、図３−２である。この図３−２のツリー構造の各ノードの配置は、図３−１のタグエリア１２１におけるセルデータの配置と同じものとなっている。また、各ノードに記述される文字列は、対応するタグエリアのセルデータの内容、すなわち項目となっている。
【００２４】
図４−１は、ＸＭＬデータにおける要素の構造を示す図であり、図４−２〜図４−４は、ＸＭＬデータの構造の一部の例を示す図である。図４−１に示されるように、ＸＭＬデータは、一般的に開始タグ、要素内容、終了タグから構成され、これらをまとめて要素という。ＸＭＬでは、開始タグと終了タグ（以下、区別する必要がない場合には、タグという）には任意の文字列を設定することができるので、この発明では、タグに設定される文字列は、表のタグエリアのセルデータに格納される内容（項目）としている。また、図４−２や図４−３に示されるように、ＸＭＬでは、要素を入れ子構造とすることで親子関係を表現することができ、また、図４−４に示されるように、入れ子構造中で要素を並列配置することで兄弟関係を表現することができる。たとえば、図４−３のＸＭＬデータに示されるように、ある要素Ａの中に他の要素Ｂが含まれる構造を有する場合には、要素Ａは要素Ｂの親であり、要素Ｂは要素Ａの子であることを表している。また、図４−４のＸＭＬデータに示されるように、ある要素Ａの中に他の要素Ｂ，Ｃが含まれるとともに、要素Ｂと要素Ｃとの間に親子関係がない場合には、要素Ａは要素Ｂ，Ｃの親であり、要素Ｂ，Ｃは要素Ａの子であり、要素Ｂと要素Ｃとは兄弟関係にあることを表している。このようにして、ＸＭＬデータでも、ＸＭＬデータを構成する要素間の関係をツリー構造で表現することができる。
【００２５】
以上に説明してきたように、表のタグエリアとＸＭＬデータは、ともにツリー構造として表現することができるので、データ構造定義解釈部１３は、タグエリアのデータ構造からＸＭＬデータ構造を生成する。つまり、タグエリアのツリー構造をＸＭＬデータのツリー構造として定義する処理を行う。なお、この発明で、ＸＭＬデータ構造とは、要素内の要素内容を削除したタグの配列のみのものをいう。ＸＭＬでは、タグには任意の文字列を設定することができるので、この発明では、データ構造定義解釈部１３は、タグに設定する文字列を、表のタグエリアのセルデータに格納される内容（項目）としている。図５は、図３−１に示される表のタグエリアからデータ構造定義解釈部によって解釈されるＸＭＬデータ構造を示す図である。この図５に示されるように、タグエリアの親子兄弟関係がＸＭＬデータ構造に反映されるとともに、各セルデータの内容（項目）がＸＭＬデータ構造のタグ名に使用されている。
【００２６】
ＸＭＬデータ生成部１４は、データ構造定義解釈部１３によって表のタグエリア１２１から解釈されたＸＭＬデータの構造と、表ファイルのワークシート１００中におけるデータエリア１２２のセルに入力されるデータ値とを関連付けして、ＸＭＬデータを生成する機能を有する。具体的には、表１２０においてはタグエリア１２１内の最下位のセルデータとデータエリア１２２のある行における各セルとの間で、同じ列に存在するタグエリアのセルデータとデータエリアのセルのデータ値（入力内容）とが対応するので、この対応をＸＭＬデータ構造に持ち込むことで、ＸＭＬデータを生成する。
【００２７】
ＸＭＬデータ生成部１４によるＸＭＬデータへの変換を行うために、ワークシート１００のデータエリア１２２へのデータの記述方法に関しては制限がある。たとえば、データ領域指定領域１１０で領域指定したデータエリア１２２の範囲内では、原則的に同じ行に存在するデータは同じデータ群に属し、データ構造定義情報から生成された階層構造に適応したＸＭＬデータを構成する。すなわち、同じ行に存在するデータは１つのレコードを構成する。ただし、対象とする同一行のセルに行方向の結合セルが含まれる場合には、結合セルが含まれる複数行の範囲内に存在するデータを同じデータ群に属するものとみなし、１行のデータからＸＭＬデータを作成する場合と同様に、結合セルが含まれる複数行にわたって存在するデータにより、データ構造定義情報から生成された階層構造に適応したＸＭＬデータを構成する。
【００２８】
また、データエリア１２２へデータ群を入力する際には、データを入力する行内において、タグエリア１２１に記述された階層構造の最下位の層に相当するセルと同じ列のセルを入力セルとしてデータを記述する。さらに、データエリア１２２内に存在する結合セルは同一データ群を記述するものなので、縦方向の結合に限られる。
【００２９】
このＸＭＬデータ生成部１４によるＸＭＬデータの生成方法の概要を、図面を参照しながら説明する。たとえば、図３−１に示されるデータ構造を有する表１２０において、データエリア１２２のセルに入力されるデータ値情報は、タグエリア１２１の最下位（３行目）のセルデータの内容にそれぞれ対応付けられている。たとえば、データエリア１２２内の４行１列から５行１列の結合セルに入力されるデータ「ｐ」は、タグエリア１２１内の３行１列のセルデータの項目「＜Ｅ＞」に対応し、同様にデータエリア１２２内の４行２列〜４行４列のセルにそれぞれ入力されるデータ「ｑ１」、「ｒ１」、「ｓ１」および５行２列〜５行４列のセルにそれぞれ入力されるデータ「ｑ２」、「ｒ２」、「ｓ２」は、タグエリア１２１内の３行２列〜３行４列のセルデータの項目「＜Ｆ＞」，「＜Ｇ＞」，「＜Ｈ＞」にそれぞれ対応している。そこで、ＸＭＬデータ生成部１４は、上記タグエリア１２１の最下位のセルデータに対応するＸＭＬデータ構造の要素を特定し、データエリア１２２の各セルに入力されるデータ値情報を、特定したＸＭＬデータ構造の要素の要素内容に入力して、ＸＭＬデータを生成する。図６は、このようにして生成されたＸＭＬデータを示している。
【００３０】
ここで、表−ＸＭＬ変換装置１の動作処理手順について説明する。図７は、この発明による表−ＸＭＬ変換装置の表−ＸＭＬ変換方法の処理手順を示すフローチャートである。まず、表−ＸＭＬ変換装置１の表ファイル読込部１１は、表計算ソフトウェア（スプレッドシート）で管理可能な表ファイルを読み込む（ステップＳ１１）。ついで、データ領域抽出部１２は、読み込んだ表ファイル中のワークシート１００からデータ領域指定領域１１０を検索し、データ領域指定領域１１０からワークシート１００内のタグエリア１２１とデータエリア１２２からなるデータ領域１２３を取得する（ステップＳ１２）。ここで、データ領域指定領域１１０は、ワークシート１００中の所定の位置に作成しておくようにしてもよいし、データ領域指定領域が記述されていることを示す文字列を予め定めておき、その文字列に続けてデータ領域指定領域１１０を記述するようにしてもよい。
【００３１】
ついで、データ構造定義解釈部１３は、抽出したタグエリア１２１からそのセルデータにおける親子兄弟関係であるデータ構造定義情報を把握し、このデータ構造定義情報に基づいてタグエリア１２１のセルデータに入力される値（内容）をタグ名とするＸＭＬデータ構造を作成する（ステップＳ１３）。そして、ＸＭＬデータ生成部１４は、ステップＳ１２で抽出したデータエリア１２２に格納されるデータ値情報と、ステップＳ１３で作成したＸＭＬデータ構造情報との対応付けを行って、ＸＭＬデータを生成し（ステップＳ１４）、表１２０をＸＭＬデータに変換する処理が終了する。
【００３２】
なお、ワークシート１００には、表１２０と、表１２０が形成されるデータ領域１２３を示すデータ領域指定領域１１０とが含まれていれば、ユーザによって多様な形式の表を作成することができる。
【００３３】
この実施の形態１によれば、表の構造を表すデータ構造定義情報を、表を用いて表現することによって、ＸＭＬに精通していないユーザでも、表ファイルに格納される表をＸＭＬデータに変換する作業を容易にすることができるという効果を有する。これは、ＸＭＬデータを生成する際にデータ構造を定義する情報は、通常、ＸＭＬのスキーマ言語であるＸＭＬ SchemaやＤＴＤなどを用いるが、ＸＭＬに不慣れなユーザには難しいので、そのために従来必要であった専用のソフトウェアアプリケーションを用意する必要がなくなる。つまり、内容にしたがって構造的に表現された表における項目をそのままＸＭＬデータの構造として用いるので、ＸＭＬに精通していないユーザでもスキーマ言語を用いずにＸＭＬデータを生成することが可能となる。
【００３４】
実施の形態２．
実施の形態１では、表をスプレッドシート中の１つのワークシート内に作成した場合、すなわち表ファイル中に表が１つのみしか存在しない場合、のＸＭＬデータへの変換について説明した。しかし、表ファイルは、１つの表から構成されるとは限らず、複数の表から構成されていてもよい。この実施の形態２では、表ファイルが複数の表から構成される場合について説明する。
【００３５】
たとえば、１つの表で記述するには複雑になってしまうような場合や、または１つの表ではデータ領域の範囲が広くなってしまいユーザに見難くなってしまうような場合には、表が記述されるデータ領域を分割して複数の表にしてもよい。この場合には、表のどの部分のデータがどの表に分割されたのかを明確にしておく必要がある。以下に、表を分割する場合について例を挙げて説明する。
【００３６】
図８−１は、１つの表で記述した場合の表の一例であり、図８−２は、その表から生成されるＸＭＬデータを示す図であり、図９−１は、図８−１の表に記述したと同じ内容のデータを２つの表に分割して記述した場合の例を示す図であり、図９−２は、２つの表から生成されるＸＭＬデータを示す図である。ただし、図８−１と図９−１において、データ領域指定領域は図示を省略している。
【００３７】
最初に、図８−１の例で示されるように１つの表で記述した場合の表１３０は、タグエリア１３１とデータエリア１３２からなる。このタグエリア１３１のデータ構造から実施の形態１で説明したようにＸＭＬデータ構造が作成され、作成したＸＭＬデータ構造にデータエリア１３２から得られるデータ値情報を入力して、図８−２に示されるＸＭＬデータ１３５が生成される。なお、図８−１のデータエリア１３２には２つのレコードが入力されているが、セルデータ「＜Ｂ＞」，「＜Ｃ＞」に対応するデータエリア１３２のセル１３４は、縦方向（行方向）に結合されている。
【００３８】
この図８−１のタグエリア１３１において、セルデータ「＜Ｂ＞」，「＜Ｃ＞」，「＜Ｄ＞」はセルデータ「＜Ａ＞」の子要素であり、セルデータ「＜Ｂ＞」，「＜Ｃ＞」は子要素をもたないが、セルデータ「＜Ｄ＞」については子要素および孫要素（子要素の子要素のこと）を有する複雑なデータ構造となっている。全体として、セルデータ「＜Ａ＞」からみるとタグエリアは４階層のデータ構造を有している。そこで、図９−１の例では、１階層目〜２階層目までを第１の表としてｒｏｏｔシート１４０に記述し、３階層目〜４階層目を第２の表として包含シート１５０に記述して、図８−１の表１３０を２つに分割している。１つの表を２つの表に分割して記述する場合には、１つのワークシートには１つの表のみを記述する。この明細書では、１つの表を複数の表に分割する場合には、１つの表におけるタグエリアの最上位の項目を含む表が記述されるワークシートをｒｏｏｔシートと名づけ、ｒｏｏｔシートに包含されるワークシートを包含シートと名づけることにする。なお、包含シートに作成される表がさらに分割される場合には、ｒｏｏｔシートに関連付けされるワークシートから下位の構成要素が記述されるワークシートまで順に、第１の包含シート、第２の包含シート、・・・、第ｎの包含シート（ｎは自然数で、スプレッドシートに含まれるワークシートの数−１である）と名づけることにする。また、ワークシート名は通常ワークシートの表示領域の下部に設けられる見出し部に入力される。
【００３９】
図８−１の表１３０を２つに分割すると、図９−１に示されるように２つのワークシート１４０，１５０に表が記述される。ワークシート１４０はｒｏｏｔシートであり、表１３０のタグエリア１３１における１階層目〜２階層目までの表が記述される。すなわち、ワークシート１４０のタグエリア１４１には、セルデータ「＜Ａ＞」と、その子要素であり互いに兄弟関係にあるセルデータ「＜Ｂ＞」，「＜Ｃ＞」，「＜Ｄ＞」が記述される。データエリア１４２のタグエリア１４１の「＜Ｂ＞」，「＜Ｃ＞」に対応するレコードにはそれぞれ「ｐ」，「ｑ」が入力されるが、「＜Ｄ＞」に対応するレコードには「＜ｒ＞」が入力される。この「＜ｒ＞」は、図８−１における領域１３３に記述される表の内容に対応している。また、見出し部１５３には、ワークシート名「ｒｏｏｔ」が表示されている。
【００４０】
ワークシート１５０は、包含シートであり、図８−１の表１３０の領域１３３の内容が記述される。ここでは、ｒｏｏｔシート１４３のデータエリア１４２における「＜ｒ＞」の内容が包含シートに記述される。表同士の関連付けは、ワークシート名によって行なうものとすると、ｒｏｏｔシート１４０のデータエリア１４２における「＜ｒ＞」が包含シート１５０のワークシート名となる。そのため、包含シート１５０の見出し部１５３には「＜ｒ＞」と表示されている。これによって、ｒｏｏｔシート１４０と包含シート１５０との間の関連付けが行われる。つまり、表−ＸＭＬ変換装置１のデータ構造定義解釈部１３は、ワークシート１４０のデータエリア１４２のセル１４４に入力されたワークシート名を検知すると、そのワークシート名と同じ文字列を見出し部１５３に有するワークシート１５０を検索し、検索したワークシート１５０の表を読込む処理を行う。なお、この図９−１に示される包含シート１５０のワークシート名「＜ｒ＞」は一例であり、他の文字列などで代用してもよい。
【００４１】
包含シート１５０も、タグエリア１５１とデータエリア１５２とを有する。タグエリア１５１には、ｒｏｏｔシート１４０のセルデータ「＜Ｄ＞」の子要素および孫要素が記述される。すなわち、セルデータ「＜Ｄ＞」の子要素であり互いに兄弟関係にあるセルデータ「＜Ｅ＞」，「＜Ｆ＞」と、セルデータ「＜Ｅ＞」の子要素であり互いに兄弟関係にあるセルデータ「＜Ｇ＞」，「＜Ｈ＞」と、セルデータ「＜Ｆ＞」の子要素であるセルデータ＜Ｉ＞が記述される。データエリア１５２には、タグエリア１５１に記述されたセルデータのうち最下層に記述されたセルデータ「＜Ｇ＞」，「＜Ｈ＞」，「＜Ｉ＞」に対応するデータ値が記述される。
【００４２】
データ構造定義解釈部１３によるＸＭＬデータ構造の解釈と、ＸＭＬデータ生成部１４によるＸＭＬデータの生成では、ｒｏｏｔシート１４０のデータエリア１４２のセル１４４の部分に、包含シート１５０のタグエリア１５１とデータエリア１５２とを挿入して、ＸＭＬデータ構造とＸＭＬデータを作成する。このように作成されたＸＭＬデータ１６０の内容が図９−２に示されている。
【００４３】
図８−２と図９−２の例では、タグ＜Ｄ＞によって囲まれる要素の記述方法に両者の間で差がある。表を分割しない図８−２の場合には、セルデータ「＜Ｄ＞」に対応する部分は２レコード分であるので、レコードごとにタグ＜Ｄ＞によって囲まれる要素が２つ生じ、互いに並列に配置される。一方、表を分割する図９−２の場合には、包含シート１５０の表をｒｏｏｔシート１４０のデータエリア１４２のセル１４４に挿入する形を採るので、タグ＜Ｄ＞によって囲まれる要素には２レコード分のデータが含まれ、その結果、タグ＜Ｄ＞によって囲まれる要素は１つのみとなる。
【００４４】
このように実質的に同じ内容の表が、１つのワークシートに作成される場合と複数のワークシートに分割して作成される場合に、それぞれの表から作成される異なる構造のＸＭＬデータを、それぞれ非分割モードと分割モードと呼ぶことにすると、表−ＸＭＬ変換装置１のユーザによる、読み込んだ表ファイルを非分割モードのＸＭＬデータとするか分割モードのＸＭＬデータとするかの選択に基づいて、データ構造定義解釈部１３が、読込んだ表ファイルからＸＭＬデータ構造を生成するようにすることも可能である。このような構成によれば、複数のワークシートに分割して作成された表を、分割されない１つのワークシートに作成された表と同じ形式のＸＭＬデータを作成する非分割モードと、１つのワークシートに作成された表と異なる形式のＸＭＬデータを作成する分割モードのどちらにするかを、ユーザが選択可能となる。
【００４５】
この実施の形態２によれば、１つの表のタグエリアの構造が高次の階層構造を有するなど複雑な場合や、１つの表の容量が大きすぎる場合に、表を複数の表に分割し、ワークシート名によって分割した表を指定して表同士の関連付けを行い、また、分割元の表のセルに、分割された表が記述されているワークシート名を入力して、どの表のどの部分のデータがどの表に分割されたのかを指定するようにしたので、分割された表でもＸＭＬデータに変換することができるという効果を有する。これにより、容量の大きな表も分割することが可能となり、ユーザが処理しやすくなるとともに、分割した表同士の間の連携も複雑な処理を必要としない容易なものとなるという効果を有する。また、同じ内容の表であっても、ＸＭＬデータを生成する際に複数の解釈ができる場合に、そのうちのいずれかをユーザによって選択させて、装置による画一的な判断による変換ではなく、ユーザによる判断によってユーザの望む形式のＸＭＬデータを生成することができるという効果を有する。
【００４６】
実施の形態３．
この実施の形態３では、表のタグエリアとデータエリアにおける表記方法とデータ構成について説明する。最初に、タグエリアの表記方法について説明する。タグエリアのセルデータに設定することが可能なデータには、空白、属性名および要素名の３種類のものがある。以下、これらのタグエリアに設定可能なデータについて、表の構造を模式的に示す図１０を参照しながら説明する。この表１７０は、実施の形態３で説明するタグエリア１７１とデータエリア１７２における表記方法とデータ構成を含む構成を有している。
【００４７】
空白セルには、ＸＭＬデータにおける内容のテキストデータに相当する空白セル（以下、第１の空白セルという）と、表の構成上作成された空白セル（以下、第２の空白セルという）とがある。第１の空白セルは、要素名セルが下位にデータを持ち、かつ要素の内容にテキストデータがある場合に、その要素名セルの下位に作成されるセルである。この作成した空白セルに対応するデータエリアのセルには、上記要素の内容が有するテキストデータが入力される。図１０の例では、７行４列のセル１７３がこの第１の空白セルに相当する。なお、この第１の空白セルが作成されるのは該当する要素名セルがタグエリア１７１内で最下位の階層以外に存在する場合である。そのため、もし、最下位の階層に存在する要素名セルがテキストデータを有する場合には、空白セルを作成せずにそのまま対応するデータエリア１７２のセルにテキストデータを入力する。図１０の例では、７行５列〜７行８列までの要素名セル１７５〜１７８が最下位の階層に位置するセルに相当し、空白セルは作成されていない。
【００４８】
第２の空白セルは、セルに設定されたデータが下位にデータを持たないが、表の構成上タグエリアに行が存在してしまう場合に作成されるセルである。図１０の例では、７行３列のセル１７４がこの第２の空白セルに相当する。この第２の空白セル自身はデータとしての意味を持たないため、対応するデータエリアのセルは持たない。なお、上記第１の空白セルや後述する属性名セルは下位にデータを持たないので、それらのセルの下位にタグエリアの行が存在する場合には、第２の空白セルが設定される。
【００４９】
属性名セルは、セルデータに入力される構成要素が属性を有する場合に、その属性名がそのまま入力されるセルである。図１０の例では、６行３列のセル１７４がこの属性名セルに相当し、この属性名セルの値「Ｂ」が属性名を表している。この属性名セルに対応するデータエリア１７２のセルである８〜１０行３列の結合セル１７９に、属性値「ｐ１」が入力される。
【００５０】
要素名セルは、セルデータに入力される構成要素の名称（項目）である要素名が記号「＜」、「＞」付きで入力されるセルである。図１０の例では、「＜Ａ＞」、「＜Ｃ＞」、「＜Ｄ＞」、「＜Ｅ＞」、「＜Ｆ＞」、「＜Ｇ＞」、「＜Ｈ＞」がこの要素名セルに相当する。なお、要素名セルが内容として子要素をもたずテキストデータのみを持つ場合は、上記第１の空白セルのようにその要素名セルの下位にテキストデータに相当する空白セルを作成する必要はなく、対応するデータエリア１７２のセルにテキストデータを入力すればよい。図１０の例では、セルデータ＜Ｅ＞１７５、＜Ｆ＞１７６、＜Ｇ＞１７７、＜Ｈ＞１７８に対応するデータエリア１７２のセルであり、８行５列目〜１０行８列目までのセル１８０にテキストデータが入力される。
【００５１】
つぎに、タグエリアのデータ構成について説明する。タグエリアのセルにデータを設定する際の記述方法として、親子関係のセル、兄弟関係のセルおよび結合セルの記述方法がある。上述したように、タグエリアには、空白セル、属性名セル、要素名セルのいずれかのセルが設定されるが、ある親要素に対して複数の子要素がグルーピングされるようなデータ構造の場合には、それら複数の子要素に相当する子セルに対して、その上位のセルのすべてを結合して親セルを作成する。このとき、子セルになり得るのは、属性名セル、空白セル、要素名セルであるが、親セルになり得るのは通常は要素名セルのみである。ただし、データとしての意味を持たない空白セルが子セルとなる場合は、属性名セルや空白セルが親セルとなる場合もある。なお、タグエリアにおいて結合セルを作成できるのは、同じデータ値を持つセルであっても、縦方向に隣接するセルでは結合セルを作成できない。これは、タグエリア内に存在する結合は親子関係を記述することによるものである。
【００５２】
つぎに、データエリアの表記方法について説明する。データエリアのセルには、タグエリアに対応するデータが設定される。設定されるデータには、テキストデータ、属性値、包含シート、データ無し記号の４種類がある。テキストデータは、対象となる構成要素が内容にテキストデータを有する場合に、そのテキストデータの内容がそのまま入力される。属性値は、対象となる構成要素が属性を有する場合に、その属性値がそのまま入力される。包含シートは、対象となる表を複数のワークシートに分割して入力する場合に、分割された表部分に対応するセルに、実際の表が存在する包含シートの名称または包含シートを識別する情報が入力される。この明細書では、包含シートの名称を「＜」「＞」で囲んだものが入力される場合を例示している。
【００５３】
データ無し記号は、対象セルに対して設定するデータが存在しない場合に、明示的にデータがないことを示すために入力するものである。この明細書では、ＸＭＬデータへの変換時の方法により「・」「・・」「・・・」の３種類の中黒データで表現するものとする。なお、この中黒は一例であり、他の文字列などで代用してもよい。ここで、「・」は、ＸＭＬデータへの変換時に、要素ごと記述しないことを示している。また、「・・」は、ＸＭＬデータへの変換時に空要素タグを用いずに記述することを示している。すなわち、開始タグと終了タグを明示的に記述する。さらに、「・・・」は、ＸＭＬデータへの変換時に空要素タグを用いて記述することを示している。空要素タグは、たとえば＜Ａ／＞のような形式で記述されるタグである。なお、このデータ無し記号は、特許請求の範囲における変換様式情報に対応している。
【００５４】
以上のようなタグエリアとデータエリアの表記方法やデータ構成の規則に外れている場合に、表−ＸＭＬ変換装置において表の規則からの外れをチェックするようにしてもよい。この場合には、図２の表−ＸＭＬ変換装置１に、表が上記規則から外れていないかをチェックするとともに、規則から外れている場合にはＸＭＬデータへの変換を行わないようにする表データ形式チェック部を設けるようにすればよい。
【００５５】
この実施の形態３によれば、タグエリアで定義するデータの記述方法を複数設定することができ、記述方法によってＸＭＬデータを区別して、幅広いデータの記述を可能とすることができる。また、従来技術の特許文献１では、タグエリアに設定できる項目は、同じレベル（階層）のデータを羅列したデータグループに過ぎない記述方法であったが、この発明では、結合セルを用いることで階層構造を表現することが可能となるという効果を有する。さらに、データエリアで空白セルに相当するデータを設定した場合に、その記述方法により、作成するＸＭＬデータの記述方法を選択できるようにしたので、データの記述方法に多様性を持たせることができるという効果を有する。
【００５６】
実施の形態４．
この実施の形態４では、データエリアにおいて結合セルを使用した場合に、ＸＭＬデータ作成時に、データエリアに存在する結合セルに相当するタグエリアのセルデータの処理方法をユーザに選択可能な表−ＸＭＬ変換装置および方法について説明する。
【００５７】
図１１は、表−ＸＭＬ変換装置の実施の形態４の概略構成を示すブロック図である。この表−ＸＭＬ変換装置１ａは、図１に示される表−ＸＭＬ変換装置１おいて、データエリアに結合セルが存在する場合に、その結合セルの結合を解除してＸＭＬデータを生成するかまたはその結合を解除せずにそのままＸＭＬデータを生成するかの選択を、表−ＸＭＬ変換装置１ａのユーザに対して要求し、その選択結果をデータ構造定義解釈部１３に出力する結合セル変換処理選択部１６をさらに備える構成を有する。なお、図１と同一の構成要素については、同一の符号を付してその説明を省略している。
【００５８】
つぎに、結合セル変換処理選択部１６の動作について図１２のフローチャートを参照しながら説明する。結合セル変換処理選択部１６は、読込んだ表ファイルのデータエリアに結合セルが存在することを検出すると（ステップＳ２１）、ＸＭＬデータへの変換処理において、その結合セルの結合を解除（結合セルを分割し、それぞれのセルに同じデータを設定）した場合と同等の処理を行う展開モードと、結合セルの結合をそのまま残して処理を行う非展開モードのいずれかの処理を行なうべきかの選択画面を図示しない表示装置に表示する（ステップＳ２２）。図示しないキーボードやポインティングデバイスなどの入力装置によってユーザからのモードの選択が行なわれると（ステップＳ２３）、その選択結果をデータ構造定義解釈部１３に出力して（ステップＳ２４）、結合セル変換処理選択部１６による処理が終了する。その後、データ構造定義解釈部１３は、その選択結果に基づいてタグエリアのデータ構造から、ＸＭＬデータ構造を生成する。つまり、ユーザによって展開モードが選択された場合には、データ構造定義解釈部１３は結合セルの結合を解除した表に基づいてタグエリアのセルデータの親子兄弟関係を解釈し、ユーザによって非展開モードが選択された場合には、結合セルの結合を解除せずにその状態のままの表に基づいてタグエリアのセルデータの親子兄弟関係を解釈する。この後の処理は、上述した実施の形態１と同様であるので、説明を省略する。
【００５９】
図１３−１〜図１３−４は、結合セル変換処理選択部による処理の具体例を示す図である。表は、図１３−１の形式で入力されたものとする。この図１３−１に示される表１９０において、データエリア１９２のセル１９４は２行分のセルを結合した結合セルとなっているので、結合セル変換処理選択部１６は、展開モードか非展開モードのいずれでＸＭＬデータへの変換処理を行うかをユーザに選択させる。展開モードが選択された場合、セル１９４に対応するタグエリア１９１のセルデータ１９３に対応するＸＭＬデータ構造の要素を行ごとに作成する処理を行う。つまり、図１３−１に示される表１９０は、図１３−２に示される表２００の形式に変換されてから、ＸＭＬデータへと変換されることになる。具体的には、図１３−１のセル１９４の結合が解除されて、図１３−２の２つのセル２０３，２０４に分割された表２００に基づいてＸＭＬデータ構造が解釈され、ＸＭＬデータが生成される。その結果生成されるＸＭＬデータの内容が図１３−４に示されている。
【００６０】
一方、非展開モードが選択された場合、セル１９４に対応するタグエリア１９１のセルデータ１９３に対応するＸＭＬデータ構造の要素を、結合された行で作成する処理が実行される。つまり、図１３−１に示される表をそのままＸＭＬデータ構造に解釈して、ＸＭＬデータを生成する。その結果生成されるＸＭＬデータが図１３−３に示されている。
【００６１】
展開モードは、図１３−４に示されるように、同じデータ構造が繰り返されるようなＸＭＬデータを作成したい場合でも、変換元の表では結合セルを用いることによって入力を簡略化することができる。また、展開モードと非展開モードのいずれかの選択が可能となるので、ワークシートのデータエリアでは、結合セルを使用してデータの作成を行なってもよいし、結合セルを使用しないでデータの作成を行なってもよく、データエリアでの結合セル作成時の制限がなくなるという効果を有する。また、非展開モードは、重複するデータをまとめることでＸＭＬデータをコンパクトにすることができるという効果を有する。
【００６２】
この実施の形態４によれば、同じ内容の表であっても、ＸＭＬデータを生成する際に複数の解釈ができる場合に、そのうちのいずれかをユーザによって選択させて、装置による画一的な判断による変換ではなく、ユーザによる判断によってユーザの望む形式のＸＭＬデータを生成することができるという効果を有する。また、同じタグエリアのデータに対して、データエリアで結合セルを用いた記述をする場合としない場合とでは、データ構成の異なるＸＭＬデータを作成することができる。
【００６３】
なお、実施の形態１〜４の説明では、レコードが１行に列方向に記録される場合を示したが、これに限られる趣旨ではなく、レコードが１列に行方向に記録される場合にもこの発明を適用することができる。この場合には、上述した説明において行方向と列方向が入れ替わることになる。
【００６４】
また、実施の形態１〜４で示した表計算ソフトウェアで編集可能な表をＸＭＬデータに変換する表−ＸＭＬ変換方法をコンピュータに実行させるためのプログラムとすることも可能である。この表−ＸＭＬ変換方法をコンピュータに実行させるためのプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、フロッピー（登録商標）ディスク、ＤＶＤ（Digital Versatile DiscまたはDigital Video Disc）などのコンピュータで読み取り可能な記録媒体に記録されて提供される。また、実施の形態１〜４で示した表−ＸＭＬ変換方法をコンピュータに実行させるためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【産業上の利用可能性】
【００６５】
以上のように、この発明にかかる表−ＸＭＬ変換装置は、表計算ソフトウェアで編集可能な表を、ＸＭＬデータに変換する場合に有用であり、特に複雑な構造を有する表のＸＭＬデータへの変換に適している。
【図面の簡単な説明】
【００６６】
【図１−１】表が作成されるワークシートの構成の一例を模式的に示す図である。
【図１−２】表の構成の一例を模式的に示す図である。
【図２】この発明による表−ＸＭＬ変換装置の概略構成を示すブロック図である。
【図３−１】ワークシートに作成される表の一例を示す図である。
【図３−２】図３−１の関係をツリー構造で表現した図である。
【図４−１】ＸＭＬデータにおける要素の構造を示す図である。
【図４−２】ＸＭＬデータの構造の一部の例を示す図である。
【図４−３】ＸＭＬデータの構造の一部の例を示す図である。
【図４−４】ＸＭＬデータの構造の一部の例を示す図である。
【図５】図３−１に示される表のタグエリアから解釈されるＸＭＬデータ構造を示す図である。
【図６】図３−１から生成されたＸＭＬデータを示す図である。
【図７】この発明による表−ＸＭＬ変換装置の表−ＸＭＬ変換方法の処理手順を示すフローチャートである。
【図８−１】１つの表で記述した場合の表の一例を示す図である。
【図８−２】図８−１の表から生成されるＸＭＬデータを示す図である。
【図９−１】図８−１の表と同じ内容のデータを２つの表に分割して記述した場合の例を示す図である。
【図９−２】図９−１の２つの表から生成されるＸＭＬデータを示す図である。
【図１０】表の構造を模式的に示す図である。
【図１１】表−ＸＭＬ変換装置の実施の形態４の概略構成を示すブロック図である。
【図１２】結合セル変換処理選択部の動作処理手順を示すフローチャートである。
【図１３−１】結合セル変換処理選択部による処理の具体例を示す図である。
【図１３−２】結合セル変換処理選択部による処理の具体例を示す図である。
【図１３−３】結合セル変換処理選択部による処理の具体例を示す図である。
【図１３−４】結合セル変換処理選択部による処理の具体例を示す図である。
【符号の説明】
【００６７】
１，１ａ  表−ＸＭＬ変換装置
１１  表ファイル読込部
１２  データ領域抽出部
１３  データ構造定義解釈部
１４  ＸＭＬデータ生成部
１５  制御部
１６  結合セル変換処理選択部
【図１−１】
2005339019.tif 000003
【図１−２】
2005339019.tif 000004
【図２】
2005339019.tif 000005
【図３−１】
2005339019.tif 000006
【図３−２】
2005339019.tif 000007
【図４−１】
2005339019.tif 000008
【図４−２】
2005339019.tif 000009
【図４−３】
2005339019.tif 000010
【図４−４】
2005339019.tif 000011
【図５】
2005339019.tif 000012
【図６】
2005339019.tif 000013
【図７】
2005339019.tif 000014
【図８−１】
2005339019.tif 000015
【図８−２】
2005339019.tif 000016
【図９−１】
2005339019.tif 000017
【図９−２】
2005339019.tif 000018
【図１０】
2005339019.tif 000019
【図１１】
2005339019.tif 000020
【図１２】
2005339019.tif 000021
【図１３−１】
2005339019.tif 000022
【図１３−２】
2005339019.tif 000023
【図１３−３】
2005339019.tif 000024
【図１３−４】
2005339019.tif 000025