(57)【要約】【課題】  表形式のデータとマークアップ言語形式のデータとの間、或いは、異なるマークアップ言語形式間でのデータ変換を容易に行うことを可能とする。【解決手段】  表形式のテンプレート情報と第１のマークアップ言語形式の文書の構成情報との対応情報を登録するマッピングテーブルを利用して、表形式のテンプレート情報に所定の情報が入力されて生成された表形式データを、第１のマークアップ言語形式の文書データに変換することを特徴とする。【選択図】図１ａ
2005352774.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルで構成される表形式のテンプレート情報における、データ入力領域を識別する識別情報と、前記データ入力領域の開始位置との情報を少なくとも備える第１のテーブルと、
前記データ入力領域における入力項目と、前記入力項目に対応づけられた第１のマークアップ言語形式のタグを構成する要素と、前記データ入力領域における前記入力項目に対応するセルの位置との情報を少なくとも備える第２のテーブルと、
前記表形式のテンプレート情報に所定の入力データが入力されて生成された表形式データから、前記識別情報に基づいてデータ入力領域を選択する選択手段と、
選択された前記データ入力領域から、前記開始位置と、前記セルの位置とに基づいて、前記データ入力領域内のセルに入力された前記入力データを取得する第１の取得手段と、
取得された前記入力データを、前記タグを構成する要素と関連づけて一時記憶する第１の一時記憶手段と、
前記第１の一時記憶手段に記憶された前記入力データと前記タグを構成する要素から、前記表形式データに対応する前記第１のマークアップ言語形式のデータを生成する第１の生成手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１のテーブルは、前記領域におけるセルのタイプと、前記セルの増加方向と、データ入力の終了を判定するための終了条件の情報を更に備え、
前記セルのタイプが可変である場合に、前記セルの増加方向において前記終了条件が満たされるか否かを判定する判定手段を更に備え、
前記選択手段は、前記判定手段が前記終了条件が満たされると判定した場合に、前記表形式データにおける選択されていない他のデータ入力領域を選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２のテーブルは、前記入力項目に対応づけられた第２のマークアップ言語形式のタグを構成する要素を更に備え、
生成された前記表形式データに対応する第１のマークアップ言語形式のデータから、前記第１のマークアップ言語形式のタグを構成する要素に基づいて前記入力データを取得する第２の取得手段と
取得された前記第１のマークアップ言語形式のタグを構成する要素と前記入力データとを一時記憶する第２の一時記憶手段と、
前記第２の一時記憶手段に記憶された前記第１のマークアップ言語形式のタグを構成する要素を、前記第２のマークアップ言語形式のタグを構成する要素へ変換し、前記入力データと、前記第２のマークアップ言語形式のタグを構成する要素とから、前記表形式データに対応する前記第２のマークアップ言語形式のデータを生成する第２の生成手段と
を更に備えることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
複数のセルで構成される表形式のテンプレート情報における、データ出力領域を識別する識別情報と、前記データ出力領域の開始位置との情報を少なくとも備える第１のテーブルと、
前記識別情報と、前記データ出力領域における出力項目と、前記出力項目に対応づけられた第１のマークアップ言語形式のタグを構成する要素と、前記データ出力領域における前記出力項目に対応するセルの位置との情報を少なくとも備える第２のテーブルと、
表形式データを第１のマークアップ言語形式のデータとして表現する第１のマークアップ言語形式データから、前記識別情報に基づいて前記データ出力領域に対応データを選択する選択手段と、
選択された前記データから、前記タグを構成する要素により構成されるタグで囲まれた前記出力データを取得する取得手段と、
取得された前記出力データを、前記セル位置と関連づけて一時記憶する一時記憶手段と、
前記一時記憶手段に記憶された前記出力データのセル位置に基づいて前記表形式のテンプレート情報に前記データを出力して前記表形式データを生成する生成手段と
を備えることを特徴とする情報処理装置。
【請求項５】
前記第１のマークアップ言語形式は、ＸＢＲＬ形式又はＸＭＬ形式であることを特徴とする請求項１乃至４のいずれかに記載の情報処理装置。
【請求項６】
コンピュータを、請求項１乃至５のいずれかに記載の情報処理装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理装置の制御方法、コンピュータプログラム及び記憶媒体に関する。
【背景技術】
【０００２】
文書の一部をタグと呼ばれる特別な文字列で囲むことにより、文書の構造や修飾情報を文章中に記述してゆくマークアップ言語がある。代表的なマークアップ言語としてＳＧＭＬ(Standard Generalized Markup Language)、ＨＴＭＬ(Hyper Text Markup Language)、ＸＭＬ(Extensible Markup Language)がある。また企業の財務情報を公開するためのマークアップ言語としてＸＢＲＬ(Extensible Business Reporting Language）がある（非特許文献１参照。)。
【０００３】
これらのマークアップ言語形式のデータは、それぞれの言語形式の目的に応じた処理をコンピュータで行うには適しているが、目的外の処理、例えばデータを入力したり、表示、印刷したものを参照したりするのには適していない。このため、データの入力を市販の表計算ソフトウェアにて行い、この表形式のデータをマークアップ言語形式のデータに変換したり、マークアップ言語形式から表形式のデータに変換したりする技術が提案されている。
【０００４】
しかしこれらの技術は、表形式が事前に定めた固有形式のものであったり、例えば１行目が項目名、２行目以降がデータというような固定の構成に限定されたり（特許文献１参照。）、表計算ソフトウェアのマクロ機能を使用して実現していることにより使用できる表計算ソフトウェアやバージョンが限定されてしまう、といった問題点がある。
【特許文献１】特開2001-109741号公報（第６ページ、第２−３図）
【非特許文献１】XBRL Japan監修、坂上学・白田佳子編、「XBRLによる財務諸表作成マニュアル」、日本経済新聞社、2003年11月、p.6-24、p.188-220
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は表形式のデータとマークアップ言語形式のデータとの間、或いは、異なるマークアップ言語形式間でのデータ変換を容易に行うことを可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための本発明は、複数のセルで構成される表形式のテンプレート情報における、データ入力領域を識別する識別情報と、前記データ入力領域の開始位置との情報を少なくとも備える第１のテーブルと、前記データ入力領域における入力項目と、前記入力項目に対応づけられた第１のマークアップ言語形式のタグを構成する要素と、前記データ入力領域における前記入力項目に対応するセルの位置との情報を少なくとも備える第２のテーブルと、前記表形式のテンプレート情報に所定の入力データが入力されて生成された表形式データから、前記識別情報に基づいてデータ入力領域を選択する選択手段と、選択された前記データ入力領域から、前記開始位置と、前記セルの位置とに基づいて、前記データ入力領域内のセルに入力された前記入力データを取得する第１の取得手段と、取得された前記入力データを、前記タグを構成する要素と関連づけて一時記憶する第１の一時記憶手段と、前記第１の一時記憶手段に記憶された前記入力データと前記タグを構成する要素から、前記表形式データに対応する前記第１のマークアップ言語形式のデータを生成する第１の生成手段とを備えることを特徴とする。
【０００７】
また、上記課題を更に解決するための本発明は、前記第２のテーブルは、前記入力項目に対応づけられた第２のマークアップ言語形式のタグを構成する要素を更に備え、生成された前記表形式データに対応する第１のマークアップ言語形式のデータから、前記第１のマークアップ言語形式のタグを構成する要素に基づいて前記入力データを取得する第２の取得手段と取得された前記第１のマークアップ言語形式のタグを構成する要素と前記入力データとを一時記憶する第２の一時記憶手段と、前記第２の一時記憶手段に記憶された前記第１のマークアップ言語形式のタグを構成する要素を、前記第２のマークアップ言語形式のタグを構成する要素へ変換し、前記入力データと、前記第２のマークアップ言語形式のタグを構成する要素とから、前記表形式データに対応する前記第２のマークアップ言語形式のデータを生成する第２の生成手段とを更に備えることを特徴とする。
【０００８】
さらに、上記課題を更に解決するための本発明は、複数のセルで構成される表形式のテンプレート情報における、データ出力領域を識別する識別情報と、前記データ出力領域の開始位置との情報を少なくとも備える第１のテーブルと、前記識別情報と、前記データ出力領域における出力項目と、前記出力項目に対応づけられた第１のマークアップ言語形式のタグを構成する要素と、前記データ出力領域における前記出力項目に対応するセルの位置との情報を少なくとも備える第２のテーブルと、表形式データを第１のマークアップ言語形式のデータとして表現する第１のマークアップ言語形式データから、前記識別情報に基づいて前記データ出力領域に対応データを選択する選択手段と、選択された前記データから、前記タグを構成する要素により構成されるタグで囲まれた前記出力データを取得する取得手段と、取得された前記出力データを、前記セル位置と関連づけて一時記憶する一時記憶手段と、前記一時記憶手段に記憶された前記出力データのセル位置に基づいて前記表形式のテンプレート情報に前記データを出力して前記表形式データを生成する生成手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、表形式のデータとマークアップ言語形式のデータとの間、或いは、異なるマークアップ言語形式間でのデータ変換を容易に行うことが可能となる。
【発明を実施するための最良の形態】
【００１０】
本発明によるデータ変換システムのシステム構成の一例を図１ａに示す。図１ａにおいてデータ変換システム１００は、データ変換サーバ１０１、端末１０２、マッピングテーブルを格納する外部記憶装置１０３、表形式テンプレートを格納する外部記憶装置１０４、付加情報を格納する外部記憶装置１０５、表形式データを格納する外部記憶装置１０６、マークアップ言語形式データを格納する外部記憶装置１０７で構成されている。データ変換サーバ１０１はデータ変換のための処理部として、マークアップ言語形式生成部１０８、表形式変換部１０９およびマークアップ言語形式間変換部１１０を有する。
【００１１】
データ変換システム１００の構成形態は、スタンドアロンのコンピュータに限らず、データ変換サーバ１０１、端末１０２、外部記憶装置１０３から１０７を電気通信回線で接続したシステムであってもよい。
【００１２】
図１ａにおけるデータ変換システムをスタンドアロンの情報処理装置として構成した場合のハードウェア構成を図１ｂに示す。
【００１３】
１１１はＣＰＵで、ＲＡＭ（ランダムアクセスメモリ）１１２やＲＯＭ（リードオンリメモリ）１１５に格納されたプログラムやデータ等を用いて装置の制御を行うと共に、マークアップ言語形式生成部１０８、表形式変換部１０９及びマークアップ言語形式間変換部１１０として本発明に対応するデータ変換処理を行う。１１２はＲＡＭで、内部記憶装置１１７内に格納されたデータ変換処理プログラムやデータベース１１８に格納されているマッピングテーブル等の情報を読み込むエリアを備えると共に、ＣＰＵ１１１が各種の処理を実行する際に用いるワークエリアも備える。
【００１４】
１１３は利用者からの入力を受付ける入力部であり、キーボードやマウスなどで構成される。１１４は通信Ｉ／Ｆ（インタフェース）で、インターネットやＬＡＮ（ローカルエリアネットワーク）に接続するためのＩ／Ｆとして機能する。
【００１５】
１１５はＲＯＭで、情報処理装置全体の制御を行うプログラム（例えばブートプログラム等）等を格納する。１１６は表示画面としての表示部で、ＣＲＴや液晶画面により構成されている。
【００１６】
１１７は内部記憶装置で、主としてハードディスクで構成され、データ変換処理プログラムや各種アプリケーションデータを格納する。ここに格納されているデータは必要に応じてＲＡＭ１１２に読み出される。１１８は外部記憶装置であり、マッピングテーブル、表形式テンプレート、付加情報、表形式データ、マークアップ言語形式データを格納する。１１９は上述の各部を繋ぐバスである。
【００１７】
なお、本実施形態では、マークアップ言語としてＸＢＲＬ、表形式として汎用の表計算ソフトウェアにおいて利用される形式を使用した場合を例にして説明する。
【００１８】
データ変換システム１００の利用者は、データ変換のための事前準備として、処理対象とする表形式の構造を定義する表形式テンプレートを作成し外部記憶装置１０４に格納しておく。表形式の構造とは、データ値（入力される数値等）を設定する位置、表題の位置、空白領域の位置を表すものである。また、マークアップ言語形式の構造の定義及びデータ値についての表形式とマークアップ言語形式の対応の定義を行うマッピングテーブルを作成し外部記憶装置１０３に格納しておく。マークアップ言語形式の構造の定義とは、タグ名や属性を表すものである。データ値についての表形式とマークアップ言語形式の対応とは、データ値を設定する可変領域または固定領域の指定、可変方向、可変の終了条件、データ値を設定する位置とタグの関連、データ型を表すものである。
【００１９】
ここで、可変領域とは、当該領域に設定されるデータのセット数が２以上に変化する領域をいい、固定領域とは、当該領域に設定されるデータのセット数が単一に固定されている領域をいうものである。
【００２０】
表形式テンプレートの作成にあたっては、表計算ソフトウェアごとに予め準備された複数の標準テンプレートのシートから、いずれかを選定してこれをもとに変更してもよいし、新たなシートから作成してもよい。表形式テンプレートは表形式の構造を定義するものであり、マークアップ言語形式に関連するデータ値を設定するセルの他に、空白のセル、表題（タイトル）のセルを含む。マッピングテーブルの作成にあたっては、例えば、作成した表形式テンプレートの個々のセルを指定して、メニュー方式によりタグ名や属性情報を選択指定する方式や、シートそのものにタグ名や属性情報を記録する方式により行えばよい。
【００２１】
次に、具体的に表形式テンプレートの一例を図２を参照して説明する。図２は、日次株価情報を表示する表形式テンプレートの一例を示す図である。図２の表形式テンプレート２００に対応するマッピングテーブルの構成例を図３ａから図３ｃに示す。図２の表形式テンプレート２００は、年月日表示のための１つの固定領域２０１および銘柄２０３と値段表示（２０４〜２０７）のための可変領域２０２（各項目に対応する列が１つずつ用意され、行数が固定されていない）から構成されている。
【００２２】
本実施形態においては、これらのデータ設定領域をフォームと呼ぶこととする。図２においては、固定領域２０１と可変領域２０２との２つのフォームにより構成されている。なお、表形式テンプレートおよび／またはマッピングテーブルを格納する形式は、図２、図３ａから図３ｃに示す表形式であってもよいし、マークアップ言語形式（図示しない）であってもよい。図２において、"日時株価情報"、"年"、"月"、"日"、"銘柄"、"始値"、"高値"、"安値"、"終値"は、それぞれ表形式テンプレートにおける表題に相当する。
【００２３】
図３ａは、マッピングテーブルのうちの領域情報の例を示す図である。領域情報とは、データ値を設定する可変領域又は固定領域の指定、可変方向、可変の終了条件を定義する情報である。領域情報３０１において、「フォーム識別名」は、領域情報に含まれる各フォームを一意に特定するための識別子を表す。「タイプ」は、各フォームが固定、可変のいずれであるかを表す。「開始セル位置」は、表形式テンプレートにおいて各フォームの開始位置を表す。
【００２４】
また、「増加方向」は、表が可変の場合に、行・列のいずれの方向に増加するかを表す。「検索位置」は、「増加方向」で指定された方向と直交する方向における、行又は列の入力項目の有無を検索する際の検索対象となる行又は列数を表す。例えば、「増加方向」が"行"で「検索位置」が"１"であれば、当該セルは所定の項目に関連するデータが行方向に入力されていくこととなるが、かかる入力の有無を判定する際には、１列目のセルを対象とする。
【００２５】
「セル間隔」とは、データが入力されるセルの大きさを表す。例えば、「セル間隔」が"１"であれば、１セル単位にデータが入力されていることとなる。「終了条件」とは、データの入力が行われているセルがどこまでかを判定するための条件を示す。例えば、"空白"に設定されれば、ある行の次の行においてセルが空白となっている場合には、その列におけるデータ入力は終了していることとなる。また"５回"といったように、回数が設定されれば、最初のセルから５回までのセルが有効であり、５回を過ぎた時点で入力が終了したと判定される。
【００２６】
その他の値については、後述のマークアップ言語形式生成部の処理の個所において説明する。なお、領域情報３０１に含まれる項目は、図３ａに示すものに限られるものではない。ここに示す以外にも表形式テンプレートに含まれる情報があれば、それに対応する項目も当然に領域情報３０１に含まれるものである。
【００２７】
より具体的に、年月日表示のためのフォーム２０１は「フォーム識別名」の値として"Form1"、「フォームタグ名」の値として"年月日"、「タイプ」の値として"固定"、フォームの左上位置を示す「開始セル位置」の値としてセル番号により(行、列)の形式で(3,5)と設定されている。
【００２８】
値段表示のためのフォーム２０２は「フォーム識別名」の値として"Form2"、「フォームタグ名」の値として"株価情報"、「タイプ」に"可変"、「開始セル位置」の値として"（7,2）、"「増加方向」に"行"、「検索位置」に"1"、「セル間隔」に"1"、「終了条件」に"空白"の値がそれぞれ設定されている。
【００２９】
図３ｂは、各フォームを構成する情報（フォーム情報）のデータ構造の一例を記載したものである。フォーム情報とは、図３ａにおいて、「フォーム識別名」により識別された各フォームに入力された情報を、例えばタグなどのマークアップ言語形式データに変換するために必要とされる情報であり、各フォームにおける入力項目に対応づけられたマークアップ言語形式のタグを構成する要素等が含まれる。
【００３０】
図３ｂに示すフォーム情報３０２において、「接頭文字列」はＸＢＲＬのタグ名の先頭に付加する文字列である。「項目名」は「セル位置」のセルの値を表すためのＸＢＲＬのタグ名を構成する文字列である。「項目タグ名」は後述のXML形式を扱う場合にタグ名として使用する文字列である。「セル位置」は、フォームの左上の開始セル位置を(1,1)とした場合の相対位置を表す。例えば「フォーム識別名」が"Form1"であるものについては、図２のフォーム２０１に示すように左側に表題として"年"、"月"、"日"が設定されているので、「セル位置」にはデータ値を設定する列の位置としてそれぞれ"2"を指定している。「データ型」は、入力されるデータの属性を表す文字列である。データ型には、文字列型、金額型などが含まれる。
【００３１】
また、ＸＢＲＬでは、実際のデータを記述するにあたって、そのデータがどの会社のどの時期のものであり単位が何であるかといったデータの属性を表す情報としての付加情報を記述する。この情報を、本実施形態ではコンテキストと呼ぶ。「コンテキストID」はコンテキストを識別する文字列であり、図３ｂにおけるフォーム情報３０２はコンテキストＩＤ：ｃ０のコンテキストが対応づけられている。「ユニットID」は、入力データの「データ型」が金額型である場合に、入力される金額の通貨単位を識別するための文字列である。「グループ名」は複数の「項目名」をまとめて１組として扱うための文字列である。
【００３２】
図３ｃはグループ情報のデータ構造の一例を示す図である。グループ情報とは、フォーム情報３０２において入力された「グループ名」に関する情報である。図３ｃに示すグループ情報３０３において、「グループ名」は、図３ｂにおけるグループ名に対応する文字列であり、「グループタグ名」は当該「グループ名」に対応して、後述のXML形式を扱う場合にタグ名として使用する文字列である。「タプルID」はグループを識別するための文字列である。
【００３３】
［第１の実施形態］
本実施形態では、表形式のデータをマークアップ言語形式のデータに変換するデータ変換処理について説明する。
【００３４】
利用者が、以上のように表形式テンプレートに対応するマッピングテーブルを生成して事前準備を完了した後に、表計算ソフトウェアを利用して、図４に一例を示すデータを端末から、所定の表形式テンプレートについて入力し、表形式データとして外部記憶装置１０６に格納した後、この表形式データ１０６と対応するマッピングテーブル１０３を指定して、マークアップ言語形式生成部１０８を起動実行すると、マークアップ言語形式生成部１０８は、図５ａ及び図５ｂに示す処理の流れに沿ってマークアップ言語形式のデータを作成し、外部記憶装置１０７に格納する。
【００３５】
以下、図５ａ及び図５ｂのフローチャートに対応する処理を説明する。まず、図５ａのステップＳ５０１において、マッピングテーブル１０３、表形式データ１０６及び付加情報１０５を読み込む。本発明では、利用者が共通に使用するコンテキストや通貨の情報（非特許文献１参照）を、図６に一例を示す付加情報としてあらかじめ作成し外部記憶装置１０５に格納している。
【００３６】
図６に示す例においてコンテキストとしては、＜cdt:contextData contextRef="c0"＞＜xbrli:context id="c0"＞・・・      ＜/xbrli:context＞＜/cdt:contextData＞が、コンテキストＩＤ：ｃ０のコンテキストのデータ範囲を表し、＜xbrli:entity＞・・・＜/xbrli:entity＞は、データに関係する団体の情報が含まれることを意味し、＜xbrli:identifier scheme="qq2"＞c0＜/xbrli:identifier＞は、当該団体の識別子と、識別子を定義する規格を表している。
【００３７】
また、＜xbrli:period＞・・・＜/xbrli:period＞は、データが適用される期間若しくは期を表し、本実施形態における＜xbrli:forever＞＜/xbrli:forever＞は、期として、該当する日時や期間に依存しないとの意味を表している。
【００３８】
コンテキストに含まれる他の情報についても、上記と同様にして解釈されるものである。
【００３９】
さらに、図６に含まれる通貨の情報について、＜cdt:unitData unitRef="u0"＞＜xbrli:unit id="u0"＞・・・＜/xbrli:unit＞＜/cdt:unitData＞は、ユニットＩＤ：u0の通貨の情報のデータ範囲を示しており、＜xbrli:measure＞iso4217:JPY＜/xbrli:measure＞は、実際に指定される単位として、ＩＳＯ４２１７で定義される通貨単位コードのうち日本円が指定されていることを示している。通貨に含まれる他の情報についても、上記と同様にして解釈されるものである。
【００４０】
マークアップ言語形式生成部１０８は外部記憶装置（１０３、１０６及び１０５）からＲＡＭ１１２に、マッピングテーブル、表形式データおよび付加情報を読み込む。
【００４１】
ステップＳ５０２では、１個のフォームを処理対象とする。マークアップ言語形式生成部１０８は、図３ａから図３ｃに示すようなマッピングテーブルの内容をもとにして、未処理のフォームのうち１つを処理対象とする。
【００４２】
次に、ステップＳ５０３において、セル位置をもとに表形式データ中の値を得る。より具体的に図３ａから図３ｃを参照して説明すると、マークアップ言語形式生成部１０８は、領域情報３０１の「開始セル位置」の値（フォームの左上位置）とフォーム情報３０２の「セル位置」の値（フォームの左上からの相対位置）から、表形式におけるセルの位置を計算してセルごとに入力されているデータの値を得る。例えば、図３aの「フォーム識別名」の値"Form2"、「開始セル位置」の値"(7,2)"と図３bの「フォーム識別名」の値"Form2"、「セル位置」の値"(2,1)"からセルの位置を(7+2-1,2+1-1)＝(8,2)と計算して図４のセルの位置(8,2)のデータの値"Ａ社"を得る。
【００４３】
ステップＳ５０４では、データ値とマッピングテーブルの情報とを関連付けて記憶する。マークアップ言語形式生成部１０８は、フォーム情報３０２の「接頭文字列」、「項目名」、「項目タグ名」、「セル位置」、「データ型」、「コンテキストID」、「ユニットID」、「グループ名」などの値とステップＳ５０３で得たセルの値とを関連付けてデータ変換サーバ１０１内のＲＡＭ１１２に記憶する。ここで、ＲＡＭ１１２には、図１４ａに示すようにセルの値と関連づけて所定のデータが登録される。
【００４４】
ここで、対象とするフォームの「タイプ」の値が"可変"の場合には、増加方向にセル位置を変えて得た複数のセルの値についてコンテキストIDの値（例えば"c0"）が同一とならないように、領域情報の「コンテキストID開始番号」の値（例えば"1"）、「コンテキストID区切文字」の値（例えば"-"）、「コンテキストID増分」の値（例えば"1"）をもとにして異なるコンテキストIDを生成してＲＡＭ１１２に記憶する（例えば、"c0-1"、"c0-2"・・・）。ただし、あえて同一のIDにしたい場合には「コンテキストID増分」の値を"0"とすればよい。ユニットID、タプルIDについても同様である。
【００４５】
ステップＳ５０５では、図３ｂにおいて対象とするフォームについて未処理の「セル位置」の値が残っているかチェックし、未処理のものが残っていればステップＳ５０３へ戻って処理を継続する。未処理のものが無くなればステップＳ５０６へ進む。例えば図３ｂの「フォーム識別名」が"Form2"のフォームにおいては、「セル位置」の値で示すと"(2,1)"、"(2,2)"、"(2,3)"、"(2,4)"、"(2,5)"と５個の値が設定されているので、ステップＳ５０３における表形式データの取得処理を合計５回繰返して行うことになる。
【００４６】
次に、ステップＳ５０６では、可変処理を行う。この可変処理とは、領域情報３０１の「増加方向」に設定されている方向についてのデータ入力の有無を判定するための処理である。ここでの処理の詳細を、図５ｂに示すフローチャートを参照して説明する。
【００４７】
まず、マークアップ言語形式生成部１０８は、ステップＳ５１１において、図３aを参照して処理対象のフォームの「タイプ」の値をチェックし、値が"固定"の場合はステップＳ５１６へ移行する。ステップＳ５１６において、処理対象のフォームの処理が終了と判断し、図５のステップＳ５０７へ移行する。ここで、フォームの「タイプ」が"固定"の場合には、ステップＳ５０３からステップＳ５０５までの処理において、図３ｂに示される「セル位置」に入力されているデータ値の読み出しが既に完了されているためである。
【００４８】
一方、「タイプ」の値が"可変"の場合には、ステップＳ５１２へ移行して図３aの「終了条件」の値をチェックする。値が例えば"５回"のように回数指定であれば、ステップＳ５１３へ移行して、「終了条件」の値とそれまでの繰返し回数とを比較する。「終了条件」の値＜繰返し回数であれば、前述のステップＳ５１６へ移行する。そうでなければステップＳ５１７へ移行する。
【００４９】
ステップＳ５１２において、「終了条件」の値が回数指定でなければ、Ｓ５１４へ移行し、図３aの「増加方向」の値で指定された方向に、「セル間隔」の値だけ現在セル位置の値を変更する。例えば「開始セル位置」の値が"(7,2)"、「増加方向」の値が"行"、「セル間隔」の値が"1"であれば、ステップＳ５１４では現在セル位置の値については繰返しごとに行方向に１つ増加させ、(8,2)、(9,2)、・・・と変更してゆく。
【００５０】
そしてステップＳ５１５において、現在位置を基準にして、図３aの「検索位置」で指定されたセルの値と「終了条件」との値を比較し、一致した場合は前述のステップＳ５１６へ移行する。図３aに示す条件では、対象のセルの値が空白（入力なし）となっている場合に「終了条件」に一致となる。
【００５１】
一方、「終了条件」に一致しない場合はステップＳ５１７へ移行する。ステップＳ５１７において、繰返しと判断した後、ステップＳ５１８において、図３aの「コンテキストID増分」、「ユニットID増分」、「タプルID増分」の値を参照し、コンテキストID、ユニットID、タプルIDの値に反映する。その後、当該行に入力されているデータの読み出しを行うために図５のステップＳ５０３へ移行する。
【００５２】
ここで再び図５ａに戻って、ステップＳ５０７では、処理を終了するか否かの判定を行う。すべてのフォームについて処理が終了した場合にはステップＳ５０８へ移行する。一方、未処理のフォームが存在する場合には、ステップＳ５０２に戻って処理を継続する。
【００５３】
ステップＳ５０８では、記憶したデータをマークアップ言語形式のデータとして書き込む処理を行う。より具体的に、マークアップ言語形式生成部１０８は、ステップＳ５０４でＲＡＭ１１２に記憶していた情報とステップ５０１で読み込んだ付加情報とをもとにして、マークアップ言語形式のデータを作成して外部記憶装置１０７に書き込む。
【００５４】
この書込処理の結果の一例として、図４の表形式のデータについて処理を行った場合に作成されるＸＢＲＬ形式のデータの例を図７に示す。
【００５５】
例えば、図４のセル位置(3,6)の値"2002"については、図３ｂのフォーム情報３０２の「フォーム識別名」の値"Form1"、「接頭文字列」の値"jp-bs-0"、「項目名」の値"Year"、「コンテキストＩＤ」の値"c0"をもとにして図７の(イ)に示すデータ"＜jp-bs-0:Year  contextRef="c0"＞2002＜/jp-bs-0:Year＞"を作成している。
【００５６】
以上のように、表形式テンプレートに対応したマッピングテーブルを利用することにより、表形式テンプレートを用いてデータを入力して作成された表形式のデータを、所望のマークアップ言語形式データに変換することができる。
【００５７】
なお、上記においては、マークアップ言語としてＸＢＲＬを採用した場合について説明したが、変換しようとする言語はＸＢＲＬに限定されるものではない。即ち、マッピングテーブルに登録するデータを、各マークアップ言語形式に対応させればよい。
【００５８】
また、マッピングテーブルにより表形式とマークアップ言語形式の対応が定まるため、同一のデータについて、マッピングテーブルを複数準備することにより入力時の表形式と出力時の表形式を異なったものにしたり、用途に応じて複数の表形式で出力したりすることも可能である。
【００５９】
さらに、マッピングテーブルにおいて領域情報をフォームごとに保持するため、形式変更を容易におこなうことができる。また、マッピングテーブルによりマークアップ言語形式のタグ名を設定、変更できるため、利用者にとって意味のあるタグ名とすることができる。
【００６０】
また、本実施形態に対応するデータ変換システムでは、マッピングテーブルに変換ルールを保持するため、１つのシステムで複数のマークアップ言語形式や表形式を扱うことができる。
【００６１】
［第２の実施形態］
本実施形態では、マークアップ言語形式のデータを表形式のデータに変換するデータ変換処理について説明する。
【００６２】
例えば、利用者がマークアップ言語形式のデータ（例えば図７のＸＢＲＬ形式のデータ）、表形式テンプレートおよびマッピングテーブルを指定して、表形式変換部１０９を起動すると、表形式変換部１０９は、図８ａ及び図８ｂに一例を示す処理の流れに沿ってマークアップ言語形式のデータを表形式のデータに変換して、外部記憶装置１０６に格納する。
【００６３】
図８ａ及び図８ｂのフローチャートに対応する処理を以下に説明する。
【００６４】
まず、図８ａのステップＳ８０１において、マッピングテーブル、表形式テンプレート、マークアップ言語形式データを読み込む。表形式変換部１０９は外部記憶装置１０３、１０４及び１０７からＲＡＭ１１２に、マッピングテーブル、表形式テンプレートおよびマークアップ言語形式データをそれぞれ読み込む。
【００６５】
ステップＳ８０２では、１個のフォームを処理対象とする。表形式変換部１０９は図３ａから図３ｂのマッピングテーブルをもとにして、未処理のフォームのうちの１つを処理対象とする。
【００６６】
ステップＳ８０３では、マークアップ言語形式のデータを得る。表形式変換部１０９は、対象とするフォームについて、マッピングテーブルのフォーム情報３０２の「接頭文字列」、「グループ名」「項目名」の値から作成したタグ名をもとにしてマークアップ言語形式のデータを特定して値を得る。
【００６７】
例えば図３ｂのフォーム情報３０２の「フォーム識別名」が"Form1"の"値１"の「接頭文字列」の値"jp-bs-0"と「項目名」の値"Year"からタグ名"jp-bs-0:Year"を作成し、このタグ名をもとにして図７のＸＢＲＬ形式のデータ（イ）を特定し、タグ名"jp-bs-0:Year"に囲まれた値"2002"を得る。
【００６８】
ステップＳ８０４では、データ値とセルとを関連付けて記憶する。表形式変換部１０９は、マッピングテーブルの領域情報３０１の「開始セル位置」の値（フォームの左上位置）とフォーム情報３０２の「セル位置」の値（フォームの左上からの相対位置）から、表形式におけるセルの位置を計算し、ステップＳ８０３で得たデータ値と関連付けて図１４ｂに示すようにＲＡＭ１１２に記憶する。
【００６９】
ステップ８０５では、図３ｂにおいて対象とするフォームの未処理の「項目名」の値が残っているかチェックし、未処理のものが残っていればステップＳ８０３へ戻って処理を継続する。未処理のものが無くなればステップＳ８０６へ進む。例えば図３ｂの「フォーム識別名」が"Form1"のフォームにおいては、「項目名」の値で示すと"Year"、"Month"、"Day"と３個の値が設定されているので、合計3回の繰返しを行うことになる。
【００７０】
ステップＳ８０６では、可変処理を行う。この可変処理とは、フォームの「タイプ」が可変に設定されている場合に対応して、フォーム内のタグに囲まれる全てのデータを抽出するための処理である。ここでの処理の詳細は図８ｂのフローチャートを参照して説明する。
【００７１】
図８ｂにおいて、表形式変換部１０９は、ステップＳ８１１において、図３aを参照して処理対象のフォームの「タイプ」の値をチェックし、値が"固定"の場合はステップＳ８１６へ移行する。ステップＳ８１６において、処理対象のフォームの処理が終了と判断し、図８のステップＳ８０７へ移行する。ここで、フォームの「タイプ」が"固定"の場合には、ステップＳ８０３からステップＳ８０５までの処理において特定されたタグ名に対応するデータが既に取得されているためである。
【００７２】
一方、値が"可変"の場合には、ステップ８１２へ移行して図３aの「終了条件」の値をチェックする。値が例えば"５回"のように回数指定であれば、ステップＳ８１３へ移行して、「終了条件」の値とそれまでの繰返し回数とを比較する。「終了条件」の値＜繰返し回数であれば、前述のステップＳ８１６へ移行する。そうでなければステップＳ８１７へ移行する。
【００７３】
ステップＳ８１２において、「終了条件」の値が回数指定でなければ、Ｓ８１４へ移行し、図５ａのステップＳ８０３で特定したタグ名のデータが更に存在するかチェックする。そしてステップＳ８１５において、データが存在しない場合は、前述のＳ８１６へ移行する。データが存在する場合はステップＳ８１７へ移行する。
【００７４】
ステップＳ８１７において、繰返しと判断した後、ステップＳ８１８において、図３aの「増加方向」の値で指定された方向に、「セル間隔」の値だけ現在セル位置の値を変更する。例えば「開始セル位置」の値が"(7,2)"、「増加方向」の値が"行"、「セル間隔」の値が"1"であれば、現在セル位置の値については繰返しごとに行方向に１つ増加させ、(8,2)、(9,2)、・・・と変更してゆく。その後、繰返し処理のために図８のステップＳ８０３へ移行する。
【００７５】
ステップＳ８０７では終了か否かの判定を行う。すべてのフォームの処理を行っている場合にはステップＳ８０８へ移行し、未処理のフォームがあればステップＳ８０２に戻って処理を繰り返す。
【００７６】
ステップＳ８０８では、記憶したデータを表形式のデータとして書き込む。表形式変換部１０９は、ステップＳ８０４でＲＡＭ１１２に記憶していた情報とステップＳ８０１で読み出した表形式テンプレートをもとにして、表形式のデータを作成して外部記憶装置１０６に書き込む。
【００７７】
このようにして表形式変換部１０９は、例えば、図２の表形式テンプレート、図３ａから図３ｃのマッピングテーブルを使用して図７のＸＢＲＬ形式のデータから図４の表形式のデータへの変換を行うことができる。なお、表形式変換部１０９は、利用者の指定に従い、文字列がカンマによって区切られた形式のデータであるＣＳＶ(Comma Separated Value)形式のデータ(図示せず)を作成して外部記憶装置１０６に書き出すこともできる。
【００７８】
以上のように、本実施形態に対応する発明では、マークアップ言語形式データから表形式のデータへの変換を行うことができる。
【００７９】
［第３の実施形態］
本実施形態では、異なるマークアップ言語形式データ間でデータ変換を行う場合について説明する。
【００８０】
例えば、ＸＢＲＬ形式のデータは、コンピュータを利用して財務情報の流通、利用を行うのには適しているが、言語仕様が厳格であり、一般の企業で使用される勘定科目の名称とは異なるタグ名を使用しなければならなかったり、財務諸表に記載される勘定科目のリストや、財務諸表で扱うことのできる項目の辞書であるところのタクソノミー（例えば、非特許文献１参照）の知識が必要とされたりするため、そのままの形式で他の業務処理において利用するのには適さない。
【００８１】
これに対し、ＸＭＬにおいては、利用者が自由にタグ名を決めることができる。本発明においてもマッピングテーブルの「フォームタグ名」、「グループタグ名」、「項目タグ名」の値として利用者がタグ名を設定、変更できるようにしている。本発明によるマークアップ言語形式間変換部１１０の処理によりＸＢＲＬ形式のデータをＸＭＬ形式に変換すれば、他の業務処理における情報の利用が容易になる。また、他の処理で保持するデータからＸＭＬ形式のデータを作成し、本発明によるマークアップ言語形式間変換部の処理によりＸＢＲＬ形式に変換することもできる。
【００８２】
利用者が第１のマークアップ言語形式のデータおよびマッピングテーブルを指定して、マークアップ言語形式間変換部１１０を起動すると、マークアップ言語形式間変換部１１０は、図９に一例を示す処理の流れに沿って第１のマークアップ言語形式のデータを第２マークアップ言語形式のデータ変換して、外部記憶装置１０７に格納する。
【００８３】
以下において、図９のフローチャートを参照して、図７のＸＢＲＬ形式のデータを図１０のＸＭＬ形式のデータに変換するケースを例に、マークアップ言語形式間変換部が実施する処理について説明する。
【００８４】
ステップＳ９０１において、マッピングテーブル、第１のマークアップ言語形式データを読み出す。マークアップ言語形式間変換部１１０は外部記憶装置１０３及び１０７ａからＲＡＭ１１２に、マッピングテーブルおよび第１のマークアップ言語形式のデータを読み込む。
【００８５】
ステップＳ９０２では、マッピングテーブルをもとに１個のフォームを処理対象とする。マークアップ言語形式間変換部１１０は、マッピングテーブルの領域情報３０１から１個の「フォーム識別名」の値を得て、処理対象とする。例えば図３ａの領域情報３０１からフォーム識別名"Form1"を得て処理対象とし、「フォームタグ名」の値"年月日"と組み合わせて図１０の（ア）"＜年月日 id="Form1"＞"をＲＡＭ１１２に記憶する。
【００８６】
ステップＳ９０３では、項目名をもとに第１のマークアップ言語形式データの値を得る。マークアップ言語形式間変換部１１０はマッピングテーブルのフォーム情報３０２から１個の「項目名」の値（"ITMNM"とする）を得て、この値と「接頭文字列」の値（"PRFX"とする）をもとに、第１のマークアップ言語形式データのなかからタグ名"PRFX:ITMNM"のデータを求めて、タグ名に囲まれた値を得る。
【００８７】
例えば図３ｂのフォーム情報３０２から、項目名の値"Year"と「接頭文字列」の値"jp-bs-0"とをもとに、図７(イ)の"＜jp-bs-0:Year contextRef="c0"＞2002＜/jp-bs-0:Year＞"を求めて、タグ名に囲まれた値"2002"を得る。なお、このとき「グループ名」の値が設定されているなら、グループ情報３０３を参照し、「グループタグ名」、「タプルID」の値を得てＲＡＭ１１２に記憶する（例えば図１０の(ウ)参照）。
【００８８】
ステップＳ９０４では、タグ名、属性、値を関連つけて記憶する。マークアップ言語形式間変換部１１０はステップＳ９０３で得た「項目名」の値に対応する「項目タグ名」、「コンテキストID」、「ユニットID」の値およびタグ名に囲まれた値（例えば"2002"、"920"等）を関連付けて、図１４ｃのようにＲＡＭ１１２に記憶する。
【００８９】
ステップＳ９０５では、処理対象のフォームに他の「項目名」の値があればステップＳ９０３からの処理を繰り返す。他の「項目名」の値がない場合は、ステップＳ９０６へ移行して処理対象のフォームの「タイプ」の値をチェックし、値が"可変"なら、ステップＳ９０３からの処理を繰り返す。
【００９０】
一方、値が"可変"でない場合には、ステップＳ９０７へ移行して、処理を終了するか否かを判定する。具体的には、処理対象のフォームのすべての項目の処理を行ったかどうかを判定し、行った場合には、未処理の別のフォームを対象としてステップＳ９０２からの処理を繰り返す。一方、すべてのフォームの処理を行った場合にはステップＳ９０８へ移行する。
【００９１】
ステップＳ９０８では、記憶したデータを第２のマークアップ言語形式のデータとして書き込む。マークアップ言語形式間変換部１１０は、ステップＳ９０２、Ｓ９０３、Ｓ９０４でＲＡＭ１１２に記憶していた情報をもとにして、第２のマークアップ言語形式のデータを作成して外部記憶装置１０７ｂに書き込む。
【００９２】
マークアップ言語形式間変換部１１０は、ＸＢＲＬ形式からＸＭＬ形式へ変換する場合に使用したものと同じマッピングテーブルを利用して、図９に示した処理の流れと同様のやりかたでＸＭＬ形式からＸＢＲＬ形式へ変換することもできる。
【００９３】
また、ＸＢＲＬ形式とＸＭＬ形式以外のマークアップ言語形式についても、タグの対応付けをマッピングテーブルにおいて行うことにより、容易に言語形式の変換を行うことができる。
【００９４】
以上のように、本実施形態では、異なるマークアップ言語形式間で相互にデータ変換を行うことが可能となる。尚、同一の表形式データとマッピングテーブルから複数の異なるマークアップ言語形式データを生成する場合には、マークアップ言語形式生成部１０８の後にマークアップ言語形式変換部１１０を設けてデータ変換処理を更に実行してもよい。この場合、ステップＳ９０１の実行は行わなくてよい。
【００９５】
［第４の実施形態］
同一のデータについて、別の表形式テンプレートとマッピングテーブルを準備することにより出力時の表形式を異なったものにすることができる。図１１の他の表形式のテンプレート、図１２の他のマッピングテーブルは、図２、図３ａ乃至図３ｂのものに比べてフォームの位置、及び株価の高値、安値を表示しない点で異なっている。
【００９６】
「フォーム識別名」が"Form1"のフォームは、構造は変えずに開始セル位置だけを変更しているため、マッピングテープルの領域情報３０１の「開始セル位置」の値を変更するだけでよく、フォーム情報３０２の「セル位置」の値は変更されない。本発明ではフォームを採用することにより、容易な形式変更を可能としている。
【００９７】
利用者が図７のＸＢＲＬ形式のデータ、図１１の他の表形式のテンプレートおよび図１２の他のマッピングテーブルを指定して、表形式変換部を起動実行すると、表形式変換部は、図１３に示す他の表示形式のデータを書き出す。尚、同一のマークアップ言語形式データから複数の異なる表形式に変換する場合には、表形式変換部１０９におけるデータ変換処理を連続して実行してもよい。この場合、２回目以降の処理のステップＳ８０１においてマークアップ言語形式のデータを読み込まなくてよい。
【００９８】
以上のように、上記第１乃至第４の実施形態に対応する本発明では、同一のマークアップ言語形式のデータであっても、表形式テンプレートとマッピングテーブルを変更することにより、異なった表形式のデータを出力することができる。また、表形式テンプレートとマッピングテーブルを変更することにより、マークアップ言語形式のデータを介して、データ入力時とは異なった表形式のデータを出力することもできる。
【００９９】
［他の実施形態］
以上の処理（例えば上記実施形態に示したフローチャートに従った処理）をプログラムとしてＣＤ−Ｒ、ＲＯＭやＤＶＤ−ＲＯＭ、ＭＯ等のコンピュータで読み取り可能な記憶媒体に記憶させ、この記憶媒体に記憶されているプログラムをコンピュータに読み込ませる（インストール、もしくはコピーさせる）ことで、このコンピュータは以上の処理を行うことができる。よって、この記憶媒体も本発明の範疇にあることは明白である。
【図面の簡単な説明】
【０１００】
【図１ａ】本発明の実施形態に対応するデータ変換システムの構成の一例を示す図である。
【図１ｂ】本発明の実施形態に対応するデータ変換システムのハードウェア構成の一例を示す図である。
【図２】本発明の実施形態に対応する表形式テンプレートの一例を示す図である。
【図３ａ】本発明の実施形態に対応するマッピングテーブルにおける領域情報の一例を示す図である。
【図３ｂ】本発明の実施形態に対応するマッピングテーブルにおけるフォーム情報の一例を示す図である。
【図３ｃ】本発明の実施形態に対応するマッピングテーブルにおけるグループ情報の一例を示す図である。
【図４】本発明の実施形態に対応する表形式データの一例を示す図である。
【図５ａ】本発明の第１の実施形態に対応するデータ変換処理の一例に対応するフローチャートである。
【図５ｂ】本発明の第１の実施形態に対応する可変処理の一例に対応するフローチャートである。
【図６】本発明の実施形態に対応する付加情報の一例を示す図である。
【図７】本発明の実施形態に対応するＸＢＲＬ形式のデータの一例を示す図である。
【図８ａ】本発明の第２の実施形態に対応するデータ変換処理の一例に対応するフローチャートである。
【図８ｂ】本発明の第２の実施形態に対応する可変処理の一例に対応するフローチャートである。
【図９】本発明の第３の実施形態に対応するデータ変換処理の一例に対応するフローチャートである。
【図１０】本発明の第３の実施形態に対応するＸＭＬデータの一例に対応する図である。
【図１１】本発明の第４の実施形態に対応する表形式テンプレートの一例を示す図である。
【図１２ａ】本発明の第４の実施形態に対応するマッピングテーブルにおける領域情報の一例を示す図である。
【図１２ｂ】本発明の第４の実施形態に対応するマッピングテーブルにおけるフォーム情報の一例を示す図である。
【図１２ｃ】本発明の第４の実施形態に対応するマッピングテーブルにおけるグループ情報の一例を示す図である。
【図１３】本発明の第４の実施形態に対応する表形式データの一例を示す図である。
【図１４ａ】本発明の第１の実施形態に対応するデータの一例を示す図である。
【図１４ｂ】本発明の第２の実施形態に対応するデータの一例を示す図である。
【図１４ｃ】本発明の第３の実施形態に対応するデータの一例を示す図である。
【図１ａ】
2005352774.tif 000003
【図１ｂ】
2005352774.tif 000004
【図２】
2005352774.tif 000005
【図３ａ】
2005352774.tif 000006
【図３ｂ】
2005352774.tif 000007
【図３ｃ】
2005352774.tif 000008
【図４】
2005352774.tif 000009
【図５ａ】
2005352774.tif 000010
【図５ｂ】
2005352774.tif 000011
【図６】
2005352774.tif 000012
【図７】
2005352774.tif 000013
【図８ａ】
2005352774.tif 000014
【図８ｂ】
2005352774.tif 000015
【図９】
2005352774.tif 000016
【図１０】
2005352774.tif 000017
【図１１】
2005352774.tif 000018
【図１２ａ】
2005352774.tif 000019
【図１２ｂ】
2005352774.tif 000020
【図１２ｃ】
2005352774.tif 000021
【図１３】
2005352774.tif 000022
【図１４ａ】
2005352774.tif 000023
【図１４ｂ】
2005352774.tif 000024
【図１４ｃ】
2005352774.tif 000025