(57)【要約】【課題】構造化データの変換規則の正誤を検証することができるようにする。【解決手段】  情報処理装置が、第１のデータをメモリに記憶し、第１のデータがプログラムおよび変換規則によって正しく第２の形式に変換された場合に出力される第２のデータを想定した検証用データをメモリに記憶し、検証対象となる変換規則を与えてプログラムを実際に実行することにより第１のデータを第２の形式の第２のデータに変換し、変換後の第２のデータを構成する第２の要素の内容と、メモリに記憶されている検証用データを構成する第２の要素とを比較して、不一致の第２の要素を示すデータを生成する。【選択図】図１
2008108144.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１の要素により構成される第１の形式で構造化された第１のデータを、複数の第２の要素により構成される第２の形式の第２のデータに変換するプログラムの実行に際して与える、前記第１の要素と前記第２の要素との関係が定義された変換規則の正誤を検証する情報処理方法であって、
ＣＰＵおよびメモリを備える情報処理装置が、
前記第１のデータを前記メモリに記憶し、
前記第１のデータが前記プログラムおよび前記変換規則によって正しく前記第２の形式に変換された場合に出力される前記第２のデータを想定した検証用データを前記メモリに記憶し、
検証対象となる前記変換規則を与えて前記プログラムを実際に実行することにより前記第１のデータを前記第２の形式の第２のデータに変換し、
変換後の前記第２のデータを構成する前記第２の要素の内容と、前記メモリに記憶されている前記検証用データを構成する前記第２の要素とを比較して、不一致の前記第２の要素を示すデータを生成すること、
を特徴とする情報処理方法。
【請求項２】
第１のスキーマにより定義される第１のＸＭＬデータを、第２のスキーマにより定義される第２のＸＭＬデータに変換するプログラムの実行に際して与える、前記第１のＸＭＬデータを構成する第１の要素と前記第２のＸＭＬデータを構成する第２の要素との関係が定義された変換規則の正誤を検証する情報処理方法であって、
ＣＰＵおよびメモリを備える情報処理装置が、
前記第１のＸＭＬデータを入力する第１の入力欄と、前記第１のＸＭＬデータが前記プログラムおよび前記変換規則によって正しく前記第２のスキーマにより定義される形式に変換された場合に出力される前記第２のＸＭＬデータを想定した検証用データを入力する第２の入力欄と、前記第１の要素と前記第２の要素との対応付けを入力する第３の入力欄とを備える画面を表示し、
前記第３の入力欄に入力された前記対応付けに基づいて前記変換規則を生成し、
生成した前記変換規則を与えて前記プログラムを実行することにより前記第１のデータを前記第２のデータに変換し、
変換後の前記第２のデータを構成する前記第２の要素の内容と、前記第２の入力欄に入力された前記検証用データを構成する前記第２の要素とを比較して、不一致の前記第２の要素を特定し、
特定した前記第２の要素を示すメッセージを前記画面に表示すること、
を特徴とする情報処理方法。
【請求項３】
請求項１に記載の情報処理方法であって、
前記情報処理装置は、不一致となった前記第２の要素の内容と一致する内容の前記第１の要素を前記第１のデータから特定し、特定した前記第１の要素と、前記第２の要素とを対応付けて出力すること、
を特徴とする情報処理方法。
【請求項４】
請求項１に記載の情報処理方法であって、
前記情報処理装置は、
前記第１のデータおよび前記検証用データを対応付けて前記メモリに記憶し、
前記メモリに記憶されている前記第１のデータのそれぞれについて、前記変換規則を与えて前記プログラムを実行することにより前記第２のデータに変換し、前記第１のデータに対応する前記検証用データを前記メモリから読み出し、読み出した前記検証用データを構成する前記第２の要素と、変換後の前記第２のデータを構成する前記第２の要素とを比較して、不一致の前記第２の要素を示すデータを生成すること、
を特徴とする情報処理方法。
【請求項５】
請求項１に記載の情報処理方法であって、
前記情報処理装置は、
前記検証用データの前記第２の形式を定義するメタデータを前記メモリに記憶し、
前記メタデータに基づいて、内容が空である前記第２の要素により構成される前記検証用データである雛形データを生成して出力し、
前記雛形データを更新する更新データの入力を受け付け、
受け付けた前記更新データにより前記雛形データを更新し、
更新した前記雛形データを前記検証用データとして前記メモリに記憶すること、
を特徴とする情報処理方法。
【請求項６】
請求項５に記載の情報処理方法であって、
前記メタデータには、前記第２の要素の型が定義されており、
前記情報処理装置は、
前記型毎に、前記第２の要素の内容を決定するための情報である内容決定情報を前記メモリに記憶し、
前記検証用データを構成する前記第２の要素のそれぞれについて、前記メタデータより前記第２の要素の前記型を特定し、特定した前記型に対応する前記内容決定情報を前記メモリから読み出し、読み出した前記内容決定情報に基づいて前記第２の要素の内容を決定し、
前記メタデータに基づいて、決定した前記内容を有する前記第２の要素により構成される前記雛形データを生成すること、
を特徴とする情報処理方法。
【請求項７】
請求項１に記載の情報処理方法であって、
前記情報処理装置は、
前記第１のデータおよび前記変換規則を前記メモリに記憶し、
前記変換規則を与えて前記プログラムを実行することにより前記第１のデータを変換した前記第２のデータである雛形データを生成して出力し、
前記雛形データを更新するための第１の更新データの入力を受け付け、
受け付けた前記第１の更新データにより更新した前記雛形データを、前記検証用データとして前記メモリに記憶し、
前記変換規則を更新するための第２の更新データの入力を受け付け、
受け付けた前記第２の更新データにより前記変換規則を更新し、
更新した前記変換規則を与えて前記プログラムを実行することにより、前記第１のデータを前記第２のデータに変換すること、
を特徴とする情報処理方法。
【請求項８】
請求項１に記載の情報処理方法であって、
前記情報処理装置は、前記第１のデータを構成する前記第１の要素のそれぞれについて、前記検証用データを構成する前記第２の要素のうち、前記第１の要素の内容と内容が一致するものがある場合、内容が一致する前記第２の要素と前記第１の要素との対応付けを出力すること、
を特徴とする情報処理方法。
【請求項９】
複数の第１の要素により構成される第１の形式で構造化された第１のデータを、複数の第２の要素により構成される第２の形式の第２のデータに変換するプログラムの実行に際して与える、前記第１の要素と前記第２の要素との関係が定義された変換規則の正誤を検証する情報処理装置であって、
前記第１のデータと、前記第１のデータが前記プログラムおよび前記変換規則によって正しく前記第２の形式に変換された場合に出力される前記第２のデータを想定した検証用データとを記憶するデータ記憶部と、
検証対象となる前記変換規則を与えて前記プログラムを実際に実行することにより前記第１のデータを前記第２の形式の第２のデータに変換するデータ変換部と、
変換後の前記第２のデータを構成する前記第２の要素の内容と、前記メモリに記憶されている前記検証用データを構成する前記第２の要素とを比較して、不一致の前記第２の要素を示すデータを生成するデータ比較部と、
を備えることを特徴とする情報処理装置。
【請求項１０】
複数の第１の要素により構成される第１の形式で構造化された第１のデータを、複数の第２の要素により構成される第２の形式の第２のデータに変換するプログラムの実行に際して与える、前記第１の要素と前記第２の要素との関係が定義された変換規則の正誤を検証するためのプログラムであって、
ＣＰＵおよびメモリを備える情報処理装置に、
前記第１のデータを前記メモリに記憶するステップと、
前記第１のデータが前記プログラムおよび前記変換規則によって正しく前記第２の形式に変換された場合に出力される前記第２のデータを想定した検証用データを前記メモリに記憶するステップと、
検証対象となる前記変換規則を与えて前記プログラムを実際に実行することにより前記第１のデータを前記第２の形式の第２のデータに変換するステップと、
変換後の前記第２のデータを構成する前記第２の要素の内容と、前記メモリに記憶されている前記検証用データを構成する前記第２の要素とを比較して、不一致の前記第２の要素を示すデータを生成するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化データの変換規則の正誤を検証する情報処理方法、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
ＸＭＬ（eXtensible Markup Language）に代表される構造化データを変換するための変換規則を記述する規約としてＸＳＬＴ（eXtensible Stylesheet Language Transformations）が知られている。また、変換規則をＧＵＩで作成できるようなアプリケーションプログラムも提供されている（非特許文献１参照）。
【非特許文献１】株式会社アプレッソ、"データスパイダー"、[online]、[平成１８年９月２７日検索]、インターネット＜URL:http://www.appresso.com/products/dataspider/pdfs/dataspider_catalogue.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
変換規則が正しいかどうかを検証するには、構造化データに実際に変換規則を適用し、その結果生成されたデータが予定された内容であるかどうかを確認する必要がある。
【０００４】
しかしながら、変換規則において繰り返しや結合などの処理が定義され、あるいは生成される構造化データの階層が深くなった場合には検証する内容は多岐に渡る。また、ＸＭＬなど多くの構造化データの形式では、改行やインデントの有無、要素や属性の記述順などは自由に設定することが可能であり、同一の内容であっても、変換されたデータが、ユーザが予定した表現で記述されているとは限らない。したがって、変換された構造化データが正しいかどうかをユーザが目で判断するのは困難である。
【０００５】
本発明は、このような背景を鑑みてなされたものであり、構造化データの変換規則の正誤を検証することのできる、情報処理方法、情報処理装置、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための本発明の主たる発明は、複数の第１の要素により構成される第１の形式で構造化された第１のデータを、複数の第２の要素により構成される第２の形式の第２のデータに変換するプログラムの実行に際して与える、前記第１の要素と前記第２の要素との関係が定義された変換規則の正誤を検証する情報処理方法であって、ＣＰＵおよびメモリを備える情報処理装置が、前記第１のデータを前記メモリに記憶し、前記第１のデータが前記プログラムおよび前記変換規則によって正しく前記第２の形式に変換された場合に出力される前記第２のデータを想定した検証用データを前記メモリに記憶し、検証対象となる前記変換規則を与えて前記プログラムを実際に実行することにより前記第１のデータを前記第２の形式の前記第２のデータに変換し、変換後の前記第２のデータを構成する前記第２の要素の内容と、前記メモリに記憶されている前記検証用データを構成する前記第２の要素とを比較して、不一致の前記第２の要素を示すデータを生成することとする。
【発明の効果】
【０００７】
本発明によれば、構造化データの変換規則の正誤を検証することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の一実施形態に係る情報処理装置１００について説明する。本実施形態に係る情報処理装置１００は、第１のスキーマにより定義されるＸＭＬ（eXtensible Markup Language）形式で構造化されたデータ（以下、ＸＭＬデータという。）を変換して、第２のスキーマにより定義されるＸＭＬデータを生成するためのプログラムに与える変換規則の正誤を検証する。
【０００９】
ＸＭＬを定義する第１および第２のスキーマは、ＸＭＬの構造（形式）を定義するデータであり、例えば、ＤＴＤ（Document Type Definition）やＸＭＬ  Ｓｃｈｅｍａにより記述される。なお、以下の説明において第１および第２のスキーマはそれぞれ、変換元スキーマおよび変換先スキーマという。
【００１０】
ＸＭＬデータを変換するプログラムに与える変換規則は、例えば、ＸＳＬＴやＸＱｕｅｒｙの形式により記述される。本実施形態では、第１および第２のスキーマは、ＸＭＬ  Ｓｃｈｅｍａにより記述され、変換規則はＸＳＬＴにより記述されるものとする。ＸＳＬＴにより記述された変換規則に従ってＸＭＬデータを変換するプログラムはＸＳＬＴエンジンと呼ばれる。
【００１１】
本実施形態の情報処理装置１００は、予め第１のスキーマ（以下、変換元スキーマという。）により定義されるＸＭＬデータ（以下、変換元データという。本発明の第１のデータに該当する。）と、変換元データを正しく変換した場合に出力されることが想定されるＸＭＬデータ（以下、変換先データという。本発明の検証用データに該当する。）とを記憶しておき、変換規則に従って変換元データをＸＳＬＴエンジンにより変換して、ＸＳＬＴエンジンによる変換結果のデータ（以下、テストデータという。本発明の第２のデータに該当する。）と、予め記憶しておいた変換先データとが一致するかどうかにより、変換規則の正誤を判断する。なお、変換元データを定義する第２のスキーマを以下変換先スキーマという。
【００１２】
＝＝ハードウェア構成＝＝
図１は情報処理装置１００のハードウェア構成を示す図である。同図に示すように、情報処理装置１００は、ＣＰＵ１０１、メモリ１０２、ハードディスク１０３、ビデオメモリ１０４、表示装置１０５、入力装置１０５を備えている。ハードディスク１０３には、プログラムやデータが格納される。ＣＰＵ１０１はハードディスク１０３に記憶されているプログラムをメモリ１０２に読み出して実行することにより、各種の機能を実現する。ビデオメモリ１０４は、情報処理装置１００のユーザに表示する情報を書き込むメモリであり、ビデオメモリ１０４に書き込まれた情報は表示装置１０５に表示される。入力装置１０６は、ユーザから情報の入力を受け付ける、例えば、キーボードやマウス、タッチパネルなどである。
【００１３】
＝＝ソフトウェア構成＝＝
図２は情報処理装置１００のソフトウェア構成を示す図である。同図に示すように、情報処理装置１００は、スキーマ入力部１１１、パターンデータ入力部１１２、マッピングデータ入力部１１３、変換規則生成部１１４、データ変換部１１５、データ比較部１１６、差異表示部１１７、雛形データ生成部１１８、および雛形データ表示部１１９の各機能部と、スキーマ記憶部１５１、パターンデータ格納テーブル１５２、変換規則記憶部１５３、および差異格納テーブル１５４の各記憶部とを備えている。
【００１４】
なお、上記各機能部１１１〜１１９は、情報処理装置１００が備えるＣＰＵ１０１がハードディスク１０３に記憶されているプログラムをメモリ１０２に読み出して実行することにより実現される。また、上記各記憶部１５１〜１５４はメモリ１０２やハードディスク１０３により提供される記憶領域として実現される。
【００１５】
スキーマ記憶部１５１は、変換元スキーマおよび変換先スキーマを記憶する。スキーマ記憶部１５１の構成例を図３に示す。同図に示すように、スキーマ記憶部１５１には、変換元スキーマと変換先スキーマとが記憶される。
【００１６】
スキーマ入力部１１１は、ユーザから変換元スキーマおよび変換先スキーマの入力を受け付け、受け付けた変換元スキーマおよび変換先スキーマをスキーマ記憶部１５１に記憶する。
【００１７】
パターンデータ格納テーブル１５２は、変換元データおよび変換先データを対応付けるレコード（以下、パターンデータという。）を記憶する。図４にパターンデータ格納テーブル１５２の構成例を示す。同図に示すように、パターンデータ格納テーブル１５２に格納されるパターンデータには、パターン番号、変換元ファイル、および変換先ファイルが含まれている。パターン番号は、パターンデータの識別情報である。変換元ファイルは、変換元データが格納されたファイルのファイル名である。変換先ファイルは、変換先データが格納されたファイルのファイル名である。
【００１８】
パターンデータ入力部１１２は、ユーザから変換元データおよび変換先データの入力を受け付け、受け付けた変換元データおよび変換先データをそれぞれファイルに格納する。パターンデータ入力部１１２は、変換元データおよび変換先データを格納したファイルのファイル名を含むパターンデータを生成して、生成したパターンデータをパターンデータ格納テーブル１５２に登録する。
【００１９】
マッピングデータ入力部１１３は、変換元スキーマに定義される要素（以下、変換元要素という。本発明の第１の要素に対応する。）と、変換先スキーマに定義される要素（以下、変換先要素という。本発明の第２の要素に対応する。）との対応付けを定義するデータ（以下、マッピングデータという。）の入力を受け付ける。
【００２０】
上述したスキーマ入力部１１１、パターンデータ入力部１１２、およびマッピング情報入力部１１３は、図５に示す画面２００を介して、変換元スキーマおよび変換先スキーマ、並びに変換元データおよび変換先データ、マッピングデータを受け付ける。図５に示すように、画面２００は、マッピングデータの入力欄２０１、変換元スキーマの入力欄２０２、変換先スキーマの入力欄２０３、変換元データの入力欄２０４、および変換先データの入力欄２０５を備えている。
【００２１】
変換元データの入力欄２０４および変換先データの入力欄２０５には、変換元データおよび変換先データがそのまま表示され、ユーザがキーボードなどにより編集可能となっている。なお、パターンデータ入力部１１２は、ユーザからファイル名の指定を受け付け、指定されたファイル名に対応するファイルに格納されたＸＭＬデータを読み出して、読み出したＸＭＬデータを入力欄２０４または２０５に表示するようにしてもよい。
【００２２】
変換元スキーマの入力欄２０２および変換先スキーマの入力欄２０３には、ＸＭＬデータのツリー構造が表示される。なお、ユーザがマウスやキーボードなどを操作して、項目の順序や親子関係を編集可能となっていてもよい。入力欄２０２および２０３では、ＸＭＬデータを構成する全要素が深さ優先順に表示される。なお、スキーマ入力部１１１は、ユーザからファイル名の指定を受け付けて、指定されたファイル名に対応するファイルに記述されたスキーマを読み出し、読み出したスキーマを解析してＸＭＬデータのツリー構造を入力欄２０２および２０３に表示するようにしてもよい。
【００２３】
マッピングデータの入力欄２０１では、ユーザが、マウスの操作により、変換元要素と、変換先要素とを線で結ぶことにより、要素の対応付けを行うことができるようになっている。また、変換元要素と変換先要素とは１対１の対応付け以外にも、１対複数または複数対１の対応付けとするようにしてもよい。この場合、例えば、複数の変換元要素を結合して１つの変換先要素とするなど、分割や結合、繰り返しなどの処理を示すアイコンを、変換元要素と変換先要素とを結ぶ線分上に配置するようにする。例えば、図５の例では、変換元要素の「address」要素と、変換先要素の「employee」要素との間は、要素が繰り返すことを示す「繰り返し」アイコンが配置されており、また、変換元要素の「firstname」要素および「lastname」要素と変換先要素の「name」要素との間には、上記２つの変換元要素を結合することを示す「結合」アイコンが配置されている。
【００２４】
入力欄２０１に入力された変換元要素と変換先要素との対応付けのうち、変換元要素の「firstname」および「lastname」を結合して変換先要素の「name」に対応付けられている範囲５００を表現するマッピングデータ６００の一例を図６に示す。
【００２５】
範囲５００には、変換元要素として「firstname」要素５０１および「lastname」要素５０２が含まれており、変換先要素として「name」要素５０３が含まれている。また、「firstname」要素５０１および「lastname」要素５０２は「結合」処理５０４と線分５０５および線分５０６で結ばれており、また「結合」処理５０４は変換先要素の「name」要素５０３と線分５０７で結ばれている。
【００２６】
上記のような範囲５００に含まれる変換元要素と変換先要素との対応付けは、マッピングデータ６００では「コネクタ」オブジェクトとして表現される。
【００２７】
マッピングデータ６００に含まれる各オブジェクトは、他のオブジェクトへの参照を格納する領域（以下、参照保持領域という。）を入力側および出力側の２つ備えている。
【００２８】
図６の例では、範囲５００に対応するマッピングデータ６００には、変換元要素を表現するオブジェクト６０１および６０２と、変換先要素を表現するオブジェクト６０３と、処理を表現するオブジェクト６０４と、変換元要素と処理とを対応付ける線分５０５および５０６並びに処理と変換先要素とを対応付ける線分５０７を表現するオブジェクト６０５〜６０７とが含まれている。「firstname」オブジェクト６０１には、出力側の参照保持領域に「コネクタ」オブジェクト６０５への参照が格納され、「lastname」オブジェクト６０２には、出力側の参照保持領域に「コネクタ」オブジェクト６０６への参照が格納される。「コネクタ」オブジェクト６０５には、入力側の参照保持領域に「firstname」オブジェクト６０１への参照が格納され、出力側の参照保持領域に「結合」オブジェクト６０４への参照が格納される。「結合」オブジェクト６０４には、入力側の参照保持領域に「コネクタ」オブジェクト６０５および６０６のそれぞれへの参照が格納され、出力側の参照保持領域には「コネクタ」オブジェクト６０７への参照が格納される。「name」オブジェクト６０３には、入力側の参照保持領域に「コネクタ」オブジェクト６０７への参照が格納され、「コネクタ」オブジェクト６０７には、入力側の参照保持領域に「結合」オブジェクト６０４への参照が格納され、出力側の参照保持領域に「name」オブジェクト６０３への参照が格納される。
【００２９】
マッピングデータ入力部１１３は、変換元要素と変換先要素との対応付けの入力を受け付け、受け付けた変換元要素と変換先要素との対応付けを、上記のようなマッピングデータ６００としてメモリに記憶する。また、マッピングデータ入力部１１３は、ＸＳＬＴで記述された変換規則を受け付け、受け付けた変換規則からマッピングデータ６００を生成し、生成したマッピングデータ６００に基づいて入力欄２０１に線分やアイコンを表示することもできる。この場合、マッピングデータ入力部１１３は、生成したマッピングデータ６００に含まれるオブジェクトのうち、変換元要素に対応するオブジェクト（図６の例では、「firstname」オブジェクト６０１および「lastname」オブジェクト６０２である。）の出力側の参照保持領域に格納されている「コネクタ」オブジェクトへの参照を取得し、取得した参照が示す「コネクタ」オブジェクトの出力側の参照保持領域に格納されている、各種の処理に対応するオブジェクト（図６の例では「結合」オブジェクト６０４である。）、または変換先要素に対応するオブジェクト（図６の例では「name」オブジェクト６０３である。）への参照を取得して、変換元要素と、取得した参照が示すオブジェクトに対応する処理または変換先要素との対応付けを、入力欄２０１に線分で表示するようにする。
【００３０】
変換規則生成部１１４は、マッピングデータ６００に基づいてＸＳＬで記述された変換規則７０１を生成し、生成した変換規則７０１を変換規則記憶部１５３に記憶する。図７は、図６に示したマッピングデータ６００に基づいて生成された変換規則７０１の一例を示す図である。図７に示すように、変換規則７０１では、変換元要素毎にテンプレート「<xsl:template name="〜">」を記述し、変換元要素に子の要素がある場合、その子要素を作成するテンプレートの呼び出し「<xsl:call-template name="〜"/>」を記述している。各テンプレートでは、変換先要素を出力するように「<xsl:element name="〜"」を記述し、変換先要素の内容として、変換元要素の内容を出力するように「<xsl:value-of select="〜"/>」を記述している。変換規則７０１では、変換元要素は、ＸＰａｔｈによる表現で指定される。なお、上述した範囲５００は、図７の例では、「func_name」テンプレートとして表現されており、結合処理は、「firstname」要素と、空白文字と、「lastname」要素とを結合する「concat」関数として、「<xsl:value-of select="〜"/>」の引数に記述されている。
【００３１】
データ変換部１１５は、パターンデータ格納テーブル１５２に記憶されているパターンデータのそれぞれについて、変換元ファイルが示すファイルから変換元データを読み出し、読み出した変換元データと、上記変換規則生成部１１４が生成した変換規則とを与えてＸＳＬＴエンジンを起動することにより、変換元データを上記の変換規則に従って変換したＸＭＬデータ（以下、テストデータという。本発明の変換データに該当する。）を生成する。
【００３２】
データ比較部１１６は、データ変換部１１５が生成したテストデータの要素と、上記のパターンデータに含まれる変換先データの要素とを比較する。テストデータの要素と変換先データの要素とが一致しない場合、データ比較部１１６は、一致しない要素についての差異を示すデータ（以下、差異データという。）を生成し、生成した差異データを差異格納テーブル１５４に登録する。なお、データ比較部１１６による比較処理の詳細については後述する。
【００３３】
差異格納テーブル１５４の構成例を図８に示す。同図に示すように、差異格納テーブル１５４に記憶される差異データは、テストデータの要素と一致しなかった変換先要素を示すＸＰａｔｈ、上記パターンデータのパターン番号、期待データ、実データ、説明を含んでいる。期待データには変換先要素の内容が設定され、実データには、一致しなかったテストデータの要素の内容が設定される。説明には、差異についての説明が設定される。本実施形態では、要素のタイプが異なる場合に「タイプが違う」、要素の内容が異なる場合に「値が違う」、要素の要素名が異なる場合に「タグ名が違う」、要素の属性が異なる場合に「属性が違う」が設定される。
【００３４】
差異表示部１１７は、差異格納テーブル１５４に記憶される差異データに基づいて、変換先データとテストデータとの差異点を表示装置１０５に表示する。差異表示部１１７による差異点の表示処理についての詳細は後述する。
【００３５】
雛形データ生成部１１８は、スキーマに基づいてＸＭＬデータの雛形を生成する。雛形データ生成部１１８は、変換元スキーマや変換先スキーマに定義されている全要素について、内容を空にしたタグを記述したＸＭＬデータを生成することにより、変換元データや変換先データの雛形を生成する。なお、雛形データ生成部１１８によるＸＭＬデータの雛形生成処理の詳細については後述する。
【００３６】
雛形データ表示部１１９は、雛形データ生成部１１８が生成したＸＭＬデータの雛形を表示装置１０５に表示する。雛形データ表示部１１９は、例えば、上述した画面２００において、変換元データの雛形を入力欄２０４に表示し、変換先データの雛形を入力欄２０５に表示して、ユーザがＸＭＬデータを編集できるようにする。
【００３７】
以下、本実施形態の情報処理装置１００による処理について説明する。
【００３８】
＝＝検証処理＝＝
上述したように、情報処理装置１００は変換元データと変換規則とをＸＳＬＴエンジンに与えて変換元データを変換したテストデータを生成し、生成したテストデータと変換先データとを比較することにより、変換規則の正誤を検証する。テストデータと変換先データとが一致しない場合には、情報処理装置１００は、差異点を表示することにより、ユーザが変換規則などの修正を支援するようにしている。
【００３９】
図９は、本実施形態の情報処理装置１００における変換規則の検証処理の流れを示すＰＡＤ図である。なお、図９に示す処理は、例えば、上述した図５の画面２００にボタンを配置し、ユーザがそのボタンが押下したときに実行したり、マッピングデータが変更されたときに実行したり、所定の時間間隔で定期的に実行したりするようにする。
【００４０】
変換規則生成部１１４がマッピングデータ６００に基づいて変換規則を生成し（Ｓ１００１）、パターンデータ格納テーブル１５２に格納されているパターンデータのそれぞれについて以下の処理が行われる（Ｓ１００２）。データ変換部１１５は、パターンデータに含まれている変換元データと、変換規則生成部１１４が生成した変換規則とを与えてＸＳＬＴエンジンを実行することにより、変換元データを変換したテストデータを生成するデータ変換処理を行う（Ｓ１００３）。データ比較部１１６は、後述するデータ比較処理を行う（Ｓ１００４）。上記の処理が全パターンデータについて行われ、テストデータと変換先データとの間で差異があった場合、すなわち差異格納テーブル１５４に差異データが登録されている場合には（Ｓ１００５：真）、差異表示部１１７が後述する差異の表示処理を行う（Ｓ１００６）。
【００４１】
＝＝データ比較＝＝
図１０は、データ比較処理の流れを示すＰＡＤ図である。  
データ比較部１１６は、変換元データおよびテストデータのそれぞれを、ＤＯＭ（Document Object Model）の規約に従ってアクセス可能なデータ（以下、ＤＯＭデータという。）に変換する（Ｓ１１０１）。なお、ＸＭＬデータをＤＯＭデータに変換する処理には公知の変換処理を用いることができる。データ比較部１１６は、変換元データを変換したＤＯＭデータ（以下、変換元ＤＯＭデータという。）と、テストデータを変換したＤＯＭデータ（以下、テストＤＯＭデータという。）とについて、図１１に示すノード比較処理を行う（Ｓ１１０２）。
【００４２】
データ比較部１１６は、変換元ＤＯＭデータおよびテストＤＯＭデータのそれぞれから、ノードをひとつ取り出し、変換元ＤＯＭデータから取り出したノード（以下、変換元ノードという。）と、テストＤＯＭデータから取り出したノード（以下、テストノードという。）のタイプを比較する（Ｓ１２０１）。ここでノードのタイプとしては、ドキュメントノード、エレメントノード、およびテキストノードがある。ドキュメントノードは、ＤＯＭデータ全体を表すノードであり、ＤＯＭデータのルートとなる。ドキュメントノードの子としてエレメントノードなどが設定される。エレメントノードは、ＸＭＬデータの要素または要素の属性を示すノードであり、要素名や属性名に対応するノード名を有する。テキストノードは、要素または属性の内容を示すノードであり、文字列の値を有する。
【００４３】
ノードのタイプが異なる場合（Ｓ１２０２：真）、データ比較部１１６は、ＸＰａｔｈが変換元ノードを示すＸＰａｔｈであり、パターン番号が上記パターンデータのパターン番号であり、期待データが変換元ノードのノード名であり、実データがテストノードのノード名であり、説明が「タイプが違う」である差異データを生成し、生成した差異データを差異格納テーブル１５４に登録する（Ｓ１２０３）。
【００４４】
一方、ノードのタイプが同一であれば（Ｓ１２０２：偽）、データ比較部１１６は、ノードのタイプがドキュメントノードまたはエレメントノードであるかどうかを調べ（Ｓ１２０４）、ノードのタイプがドキュメントノードまたはエレメントノードであるときは（Ｓ１２０４：真）、（Ｓ１２０５）に進む。
【００４５】
ここでノードのタイプがエレメントノードである場合（Ｓ１２０５：真）、データ比較部１１６は、変換元ノードのノード名とテストノードのノード名とを比較し（Ｓ１２０６）、ノード名が異なる場合（Ｓ１２０７：真）、ＸＰａｔｈが変換元ノードを示すＸＰａｔｈであり、パターン番号が上記パターンデータのパターン番号であり、期待データが変換元ノードのノード名であり、実データがテストノードのノード名であり、説明が「タグ名が違う」である差異データを生成し、生成した差異データを差異格納テーブル１５４に登録する（Ｓ１２０８）。データ比較部１１６は、変換元ノードに設定されている属性と、テストノードに設定されている属性とを比較して（Ｓ１２０９）、属性の名称または内容が異なる場合には（Ｓ１２１０：真）、ＸＰａｔｈが変換元ノードを示すＸＰａｔｈであり、パターン番号が上記パターンデータのパターン番号であり、説明が「属性が違う」である差異データを生成し、生成した差異データの期待データに、変換元ノードのノード名と、変換元ノードの属性の属性名および内容とを含む文字列を設定し、差異データの実データに、テストノードのノード名と、テストノードの属性の属性名および内容とを含む文字列を設定して、差異格納テーブル１５４に登録する（Ｓ１２１１）。
【００４６】
次に、データ比較部１１６は、ノードの子となるノードの数（以下、子ノード数という。）を変換元ＤＯＭデータおよびテストＤＯＭデータのそれぞれから取得し（Ｓ１２１２）、取得した子ノード数が異なる場合には（Ｓ１２１３：真）、ＸＰａｔｈが変換元ノードを示すＸＰａｔｈであり、パターン番号が上記パターンデータのパターン番号であり、期待データが変換元ノードのノード名であり、実データがテストノードのノード名であり、説明が「子要素の数が違う」である差異データを生成し、生成した差異データを差異格納テーブル１５４に登録する（Ｓ１２１４）。  
子ノード数が１以上であれば（Ｓ１２１５：真）、変換元ノードの子となるノードのそれぞれについて（Ｓ１２１６）、ノード比較処理を再帰的に行う（Ｓ１２１７）。
【００４７】
一方、ノードのタイプがドキュメントノードでもエレメントノードでもない場合に（Ｓ１２０４：偽）、ノードのタイプがテキストノードであれば（Ｓ１２１８：真）、データ比較部１１６は、変換元ノードの値と、テストノードの値とを比較し（Ｓ１２１９）、値が異なる場合には（Ｓ１２２０：真）、ＸＰａｔｈが変換元ノードを示すＸＰａｔｈであり、パターン番号が上記パターンデータのパターン番号であり、期待データが変換元ノードの値であり、実データがテストノードの値であり、説明が「内容が違う」である差異データを生成し、生成した差異データを差異格納テーブル１５４に登録する（Ｓ１２２１）。
【００４８】
＝＝差異表示処理＝＝
図１２は、差異の表示処理の流れを示すＰＡＤ図である。  
差異表示部１１７は、パターンデータ格納テーブル１５２に記憶されている各パターンデータについて（Ｓ１３０１）、パターンデータのパターン番号と一致するパターン番号が設定された差異データが差異格納テーブル１５４に登録されていれば（Ｓ１３０２：真）、パターンデータの変換元ファイルおよび変換先ファイルと「×」とを画面２００に表示し（Ｓ１３０３）、上記の差異データが差異格納テーブル１５４に登録されていなければ（Ｓ１３０２：偽）、パターンデータの変換元ファイルおよび変換先ファイルと「○」とを画面２００に表示する（Ｓ１３０４）。
【００４９】
次に差異表示部１１７は、差異格納テーブル１５４に記憶されている差異データのそれぞれについて（Ｓ１３０５）、変換先スキーマにより定義される要素のうち、差異データのＸＰａｔｈに対応するものを特定し、画面２００において、特定した要素の要素名に「×」のアイコンを表示する（Ｓ１３０６）。また、差異表示部１１７は、差異データの説明、期待データ、実データ、およびＸＰａｔｈを画面２００に表示する。
【００５０】
差異表示部１１７により表示される画面２００の一例を図１３に示す。同図に示すように、画面２００は、パターンデータ毎に変換元ファイルおよび変換先ファイルを表示するリスト表示欄４０１と、エラーメッセージなどを表示する情報表示欄４０２とを備えている。図１３の例では、リスト表示欄４０１には、３つのパターンデータについて、「○」または「×」とともに、変換元ファイルおよび変換先ファイルが表示されている。「×」が表示されている行では、パターン番号「２」のパターンデータについて、変換元データが予定通りに変換されず、差異データが登録されたことを示している。また、差異データの期待データ、実データ、およびＸＰａｔｈは情報表示欄４０２に表示されている。
【００５１】
また、変換先スキーマにより定義される変換先データの各要素のうち、差異データのＸＰａｔｈにより示されるものについては、「×」のアイコン４０３が表示されている。
【００５２】
なお、リスト表示欄４０１では、入力欄２０４および入力欄２０５に表示されているＸＭＬデータが格納されたファイルを示す行をハイライト表示するようにしてもよい。
【００５３】
また、データの検証処理を行っている間は画面２００の各入力欄を編集不能とし、差異データが登録された場合には各入力欄を再度編集可能とするようにしてもよい。また、差異データが登録された場合には、変換元スキーマ、変換元データ、変換先スキーマ、変換先データ、変換規則の何れかに問題があることが多いので、ユーザが再度編集を行うように促すメッセージを出力するようにしてもよい。
【００５４】
＝＝効果＝＝
以上説明したように、本実施形態の情報処理装置１００によれば、ユーザから入力された変換規則に従って変換元データを変換したテストデータと、変換先データとを比較し、その差異を出力することができる。したがって、ユーザは変換規則が想定通りの変換処理を規定しているかどうかを容易に判断することが可能となり、変換規則の検証を容易に行うことができる。
【００５５】
また、本実施形態の情報処理装置１００では、複数のパターンデータを予めパターンデータ格納テーブル１５２に登録しておくことができるので、多様なＸＭＬデータについて変換規則の検証を行うことができる。したがって、変換規則の検証精度を向上することができる。また、情報処理装置１００は、複数のパターンデータについての検証処理を一括して行うので、変換規則の検証を効率的に行うことができる。
【００５６】
また、ユーザが変換規則に新たな変換定義を追加した場合には、追加した変換定義に係る検証を行うためのパターンデータを追加することも可能となるが、それ以前のパターンデータについても検証処理が行われるので、変換規則を変更したことにより他の変換処理に影響が起きる、いわゆるデグレードが発生することを防止することができる。
【００５７】
＝＝修正候補の表示＝＝
なお、差異表示部１１７は、差異データのＸＰａｔｈが示す変換先要素の内容と一致する内容の変換元要素を変換元データから検索し、検索した変換元要素と、差異データのＸＰａｔｈが示す変換先要素との対応付けを、修正候補として表示することもできる。修正候補の表示処理の流れを図１４に示す。
【００５８】
差異表示部１１７は、差異格納テーブル１５４に記憶されている差異データのうち、説明が「値が違う」であるもののそれぞれについて以下の処理を行う（Ｓ１４０１）。  
差異表示部１１７は、変換先データから、差異データのＸＰａｔｈが示す変換先要素の内容を取得し（Ｓ１４０２）、変換元データを構成する全変換元要素について（Ｓ１４０３）、変換元データから変換元要素の内容を取得し（Ｓ１４０４）、変換先要素の内容が変換元要素の内容と一致する場合（Ｓ１４０５：真）、変換先要素と変換元要素との対応付けを修正候補として画面２００に表示する（Ｓ１４０６）。
【００５９】
修正候補が表示された画面２００の一例を図１５に示す。同図の例では、変換元要素の「email」を変換先要素の「birthday」に変換し、変換元要素の「birthday」を変換先要素の「email」に変換するような対応付けが作成されている。ここで、差異表示部１１７が変換先要素と変換元要素との対応付け候補を点線４１１で表示している。
【００６０】
上記のようにして、本実施形態の情報処理装置１００は、テストデータと変換先データとが一致しない場合には、内容が一致する変換元要素と変換先要素との対応付けを表示することができる。したがって、ユーザは、間違った対応付けを入力した場合にも、修正候補の表示を参考に対応付けを修正することができる。よって、変換規則の修正を効率的に行うことができる。
【００６１】
なお、上記のように修正候補を表示する場合、上述したマッピングデータ６００では、修正候補の点線４１１を示すオブジェクトを含むようにし、修正候補の点線４１１の入力側の参照保持領域には、上記の変換元要素に対応するオブジェクトへの参照が格納され、出力側の参照保持領域には、上記の変換先要素に対応するオブジェクトへの参照が格納される。また、変換元要素や変換先要素に対応するオブジェクトには、上記の点線に対応するオブジェクトへの参照を格納する参照保持領域（以下、修正用参照保持領域という。）を備えるようにする。
【００６２】
＝＝ユーザのデータ入力支援＝＝
本実施形態では、変換元データや変換先データ、マッピングデータはそれぞれユーザから入力されることを想定しているが、本実施形態の情報処理装置１００では、変換元データや変換先データの雛形を生成し、また変換元データの要素の内容と一致する変換先データの要素を表示することにより、ユーザによる変換元データや変換先データ、マッピングデータの作成の手間を削減するようにしている。以下、これらの処理について説明する。
【００６３】
＝＝変換元データおよび変換先データの雛形の出力＝＝
図１６は、変換元データおよび変換先データの雛形生成処理の流れを示すＰＡＤ図である。雛形データ生成部１１８は、新規に変換元データおよび変換先データを生成し（Ｓ１５０１）、変換元スキーマに定義されている全要素について（Ｓ１５０２）、「＜要素名＞＜／要素名＞」となるように記述した、空の内容を持つ要素を示すタグを生成し、生成したタグを変換元データに追加する（Ｓ１５０３）。同様に、雛形データ生成部１１８は、変換先スキーマに定義されている全要素について（Ｓ１５０４）、「＜要素名＞＜／要素名＞」となるように、空の内容を持つ要素を示すタグを生成し、生成したタグを変換先データに追加する（Ｓ１５０５）。
【００６４】
上記のようにして、変換元スキーマおよび変換先スキーマに基づいて空の内容の要素が記述された変換元データおよび変換先データの雛形が生成される。生成された変換元データおよび変換先データは、雛形データ表示部１１９により、上述した図５に示す画面２００の入力欄２０４および入力欄２０５に表示され、ユーザが編集可能となる。これにより、ユーザがタグを入力する手間を軽減することが可能となり便利である。
【００６５】
ここで、雛形データ生成部１１８は、要素の型に応じたデフォルト値を生成して、要素の内容とすることもできる。要素の型に応じたデフォルト値を設定する雛形生成処理の流れを図１７に示す。
【００６６】
雛形データ生成部１１８は、新規に変換元データおよび変換先データを生成し（Ｓ１６０１）、カウンタを１にする（Ｓ１６０２）。雛形データ生成部１１８は、変換元スキーマに定義されている全要素について以下の処理を行う（Ｓ１６０３）。
【００６７】
雛形データ生成部１１８は、変換元スキーマから要素の型を取得し（Ｓ１６０４）、取得した要素の型が数値型である場合（Ｓ１６０５：真）には、カウンタを８桁の数値として「＜要素名＞８桁の数値＜／要素名＞」となるように記述したタグを生成し、生成したタグを変換元データに追加する（Ｓ１６０６）。要素の型が数値型でない場合には（Ｓ１６０５：偽）、雛形データ生成部１１８は、カウンタを３桁の数値として「＜要素名＞ｓｔｒ３桁の数値＜／要素名＞」となるように記述したタグを生成し、生成したタグを変換元データに追加し（Ｓ１６０７）、カウンタをインクリメントする（Ｓ１６０８）。
【００６８】
なお、要素の内容に係る記述フォーマットが変換元スキーマや変換先スキーマに定義されている場合には、その記述フォーマットに従うように要素のデフォルト値を生成するようにしてもよい。
【００６９】
雛形データ生成部１１８は、以上の処理を変換元スキーマに定義されている全要素について行うことで、変換元データを生成する。  
次に雛形データ生成部１１８は、カウンタを再度１に初期化して（Ｓ１６０９）、変換元データの雛形の生成と同様にして変換先データの雛形を生成する。すなわち、雛形データ生成部１１８は、変換先スキーマに定義されている全要素について（Ｓ１６１０）、変換先スキーマから要素の型を取得し（Ｓ１６１１）、取得した要素の型が数値型であれば（Ｓ１６１２：真）、カウンタを８桁の数値として「＜要素名＞８桁の数値＜／要素名＞」となるように記述したタグを変換先データに追加し（Ｓ１６１３）、要素の型が数値型以外であれば（Ｓ１６１２：偽）、カウンタを３桁の数値として「＜要素名＞３桁の数値＜／要素名＞」となるように記述したタグを変換先データに追加して（Ｓ１６１４）、カウンタをインクリメントする（Ｓ１６１５）。
【００７０】
以上のようにして、雛形データ生成部１１８は、例えば「０００００００１」や「ｓｔｒ００１」などの内容が設定された要素により構成される変換元データおよび変換先データの雛形を生成する。上記のようにして生成された変換元データおよび変換先データは、雛形データ表示部１１９により、上述した図５に示す画面２００の入力欄２０４および入力欄２０５に表示され、ユーザが編集可能となる。ユーザは入力欄２０４および２０５に表示された雛形を編集することにより変換元データや変換先データを作成することができるので、変換元データや変換先データの作成にかかる手間を軽減することができる。また、各要素の内容として、型に応じた値が予め設定されているため、ユーザは入力すべき値を想像しやすいので便利である。
【００７１】
雛形データ生成部１１８により生成される変換元データおよび変換先データの雛形の一例を図１８に示す。図１８の上段は、変換元スキーマにより定義される要素のツリー構造７１１および変換先スキーマにより定義される要素のツリー構造７１２を示す。図１８の中段は、上述した図１６の処理により生成される、変換元データの雛形７２１、および変換先データの雛形７２２を示す。図１８の下段は、上述した図１７の処理により生成される、変換元データの雛形７３１、および変換先データの雛形７３２を示す。
【００７２】
図１８に示すように、図１６の処理により生成される変換元データの雛形７２１および変換先データの雛形７２２は、それぞれ内容が空の要素により構成されている。一方、図１７の処理により生成される、変換元データの雛形７３１および変換先データの雛形７３２はそれぞれ、内容として、例えば「０００００００１」や「ｓｔｒ００１」などの値が設定されている。
【００７３】
なお、上記のようにして入力欄２０４および２０５に表示された上記の雛形を編集するためにユーザから入力されるデータが本発明の更新データに該当する。
【００７４】
入力欄２０４および２０５に表示された変換元データおよび変換先データがユーザにより編集されると、パターンデータ入力部１１２は、ユーザからの指示に従って、変換元データおよび変換先データをそれぞれファイルに格納し、格納したファイルのファイル名を含むパターンデータを生成して、パターンデータ格納テーブル１５２に登録する。
【００７５】
＝＝変換先データの雛形の出力＝＝
上述した図１６および図１７に示す処理では、変換元スキーマおよび変換先スキーマに基づいて変換元データおよび変換先データの雛形を生成したが、変換元データおよびマッピングデータの入力を受け付け、変換元データを変換することにより変換先データの雛形を生成するようにしてもよい。
【００７６】
変換元データを変換して変換先データの雛形を生成する処理の流れを図１９に示す。なお、図１９に示す処理は、ユーザが変換元データとマッピングデータを入力欄２０４および入力欄２０１に入力した後に行われるが、変換元データは、上述した図１６または図１７に示す処理により生成されるものとしてもよい。
【００７７】
変換規則生成部１１４は、マッピングデータから変換規則を生成する（Ｓ１７０１）。データ変換部１１５は、入力欄２０４に入力された変換元データと、変換規則生成部１１４が生成した変換規則とを与えて、ＸＳＬＴエンジンを起動することにより、変換元データを変換規則に従って変換したテストデータを生成する（Ｓ１７０２）。雛形データ表示部１１９は、データ変換部１１５が生成したテストデータを変換先データとして、画面２００の入力欄２０５に表示する（Ｓ１７０３）。
【００７８】
上記のようにして入力欄２０５には、変換元データを変換した変換先データの雛形が表示され、ユーザによって編集可能となる。したがって、ユーザは上記の雛形を編集して変換先データを作成することができるので、変換先データの作成にかかる手間を削減することができる。
【００７９】
なお、パターンデータ入力部１１２は、入力欄２０４および２０５に入力された変換元データおよび変換先データをそれぞれファイルに格納し、格納したファイルのファイル名を含むパターンデータを生成して、パターンデータ格納テーブル１５２に登録する。
【００８０】
＝＝マッピング候補の表示＝＝
次に、変換元要素と、変換先要素との対応付け候補（以下、マッピング候補という。）を表示するマッピング候補表示処理について説明する。図２０は、マッピング候補表示処理の流れを示すＰＡＤ図である。また、図２１は、マッピング候補表示処理に用いられる作業用のテーブル（以下、作業リストという。）を示す図である。図２１に示すように、作業リストには、パターン番号、変換元パス、および変換先パスが対応付けて登録される。変換元パスは、変換元データの要素を示すＸＰａｔｈであり、変換先パスは、変換先データの要素を示すＸＰａｔｈである。
【００８１】
マッピングデータ入力部１１３は、作業リストを空に初期化し（Ｓ１８０１）、パターンデータ格納テーブル１５２に記憶されている各パターンデータについて以下の処理を行う（Ｓ１８０２）。
【００８２】
マッピングデータ入力部１１３は、パターンデータの変換元ファイルおよび変換先ファイルから、変換元データおよび変換先データを読み出し（Ｓ１８０３）、変換元データを構成する変換元要素のそれぞれについて（Ｓ１８０４）、変換元要素の内容を取得する（Ｓ１８０５）。マッピングデータ入力部１１３は、変換先データを構成する変換先要素のそれぞれについて（Ｓ１８０６）、変換先要素の内容を取得し（Ｓ１８０７）、変換元要素の内容と変換先要素の内容とが一致する場合には（Ｓ１８０８：真）、パターンデータのパターン番号、変換元要素を示すＸＰａｔｈ、および変換先要素を示すＸＰａｔｈを対応付けて作業リストに登録する（Ｓ１８０９）。
【００８３】
次に、マッピングデータ入力部１１３は、パターンデータ格納テーブル１５２に記憶されているパターンデータの数をカウントし（Ｓ１８１０）、作業リストから、変換元パスおよび変換先パスの組み合わせを重複なく抽出する（Ｓ１８１１）。マッピングデータ入力部１１３は、抽出した全組み合わせについて（Ｓ１８１２）、作業リストから変換元パスおよび変換先パスが一致するレコード数をカウントする（Ｓ１８１３）。
【００８４】
マッピングデータ入力部１１３は、上記の組み合わせのうち、レコード数が上記パターンデータの数と一致するものがあれば（Ｓ１８１４：真）、レコード数とパターンデータの数とが一致する組み合わせのそれぞれについて（Ｓ１８１５）、変換元パスが示す変換元スキーマの変換元要素と、変換先パスが示す変換先スキーマの変換先要素とを対応付けて画面２００に表示する（Ｓ１８１６）。
【００８５】
マッピング候補が表示された画面２００の一例を図２２に示す。図２２において、変更元要素と変更先要素との間を結ぶ点線４１１が、上記変換元パスが示す変換元要素と変換先パスが示す変換先要素との対応付けを表現している。
【００８６】
このように、本実施形態の情報処理装置１００では、変更元スキーマおよび変更元データ、並びに変更先スキーマおよび変更先データに基づいて、変換元要素と変換先要素との対応付けを表示することができる。したがって、ユーザは上記の対応付けを参考にマッピングデータの入力を行うことができるので、効率よく入力を行うことができる。
【００８７】
なお、上記のマッピング候補表示処理は、ユーザからの指示にしたがって行うようにしてもよいし、変更元スキーマおよび変更元データ、並びに変更先スキーマおよび変更先データが入力された時点で自動的に行うようにしてもよい。また、ユーザが入力欄２０１においてマッピングデータの入力作業を行っている間に上記マッピング候補表示処理を行うようにしてもよい。
【００８８】
また、上記のマッピング候補表示処理では、パターンデータの全てにおいて一致する要素のみを対応付けて表示するようにしたが、これに限らず、入力欄２０４および２０５に表示している変更元データおよび変更先データに基づいて要素の対応付けを表示するようにしてもよい。この場合、上述の図２０において、マッピングデータ入力部１１３は、作業リストを空にした後（Ｓ１８０１）、入力欄２０４および２０５に表示している変換元データおよび変換先データについて（Ｓ１８０４）〜（Ｓ１８０９）の処理を行い、作業リストに登録された各組み合わせについて、変換元要素と変換先要素との対応付けを表示するようにする。
【００８９】
また、上記図２０の処理では、全要素について一括して対応付けを検索するようにしたが、これに限らず、例えば、ユーザが選択した変更元要素について、変更先データから内容が一致する変更先要素を検索し、検索した変更先要素と、ユーザが選択した変更元要素との対応付けを表示するようにしてもよい。
【００９０】
なお、本実施形態では、構造化データとしてＸＭＬ形式のツリー構造のデータを前提としてが、これに限らず、各種の形式で構造化されたデータを用いることができる。例えば、ＣＳＶ（Comma Separated Values）形式やタブ区切りのテキスト形式の表構造のデータなどを用いるようにすることができる。ここで、上記のような表構造のデータの構成を定義するスキーマは、例えば、ＳＱＬ（Structured Query Language）で記述することができる。
【００９１】
また、本実施形態では、画面２００において、入力欄２０２および２０３ではＸＭＬデータを構成する要素のみが表示され、入力欄２０１では変換元要素と変換先要素とを対応付けるマッピングデータのみが入力されるものとしたが、これに限らず、各要素の属性を表示するようにしてもよい。この場合、入力欄２０２および２０３では、ＸＭＬデータを構成する要素が深さ優先順に表示するとともに、各要素の属性についても各要素の子ノードとして表示し、要素の要素名には「○」を、属性の属性名には「◇」を表示するようにする。
【００９２】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【００９３】
【図１】情報処理装置１００のハードウェア構成を示す図である。
【図２】情報処理装置１００のソフトウェア構成を示す図である。
【図３】スキーマ記憶部１５１の構成例を示す図である。
【図４】パターンデータ格納テーブル１５２の構成例を示す図である。
【図５】情報処理装置１００が表示する画面２００の一例を示す図である。
【図６】範囲５００を表現するマッピングデータ６００の一例を示す図である。
【図７】変換規則生成部１１４により生成される変換規則７０１の一例を示す図である。
【図８】差異格納テーブル１５４の構成例を示す図である。
【図９】情報処理装置１００における変換規則の検証処理の流れを示すＰＡＤ図である。
【図１０】データ比較処理の流れを示すＰＡＤ図である。
【図１１】ノード比較処理の流れを示すＰＡＤ図である。
【図１２】差異の表示処理の流れを示すＰＡＤ図である。
【図１３】差異表示部１１７により表示される画面２００の一例を示す図である。
【図１４】修正候補の表示処理の流れを示すＰＡＤ図である。
【図１５】修正候補が表示された画面２００の一例を示す図である。
【図１６】変換元データおよび変換先データの雛形生成処理の流れを示すＰＡＤ図である。
【図１７】要素の型に応じたデフォルト値を設定する雛形生成処理の流れを示すＰＡＤ図である。
【図１８】変換元データおよび変換先データの雛形の一例を示す図である。
【図１９】変換元データを変換して変換先データの雛形を生成する処理の流れを示すＰＡＤ図である。
【図２０】マッピング候補表示処理の流れを示すＰＡＤ図である。
【図２１】マッピング候補表示処理に用いられる作業リストを示す図である。
【図２２】マッピング候補が表示された画面２００の一例を示す図である。
【符号の説明】
【００９４】
１００  情報処理装置                  １０１  ＣＰＵ
１０２  メモリ                        １０３  ハードディスク
１０４  ビデオメモリ                  １０５  表示装置
１０６  入力装置                      １１１  スキーマ入力部
１１２  パターンデータ入力部          １１３  マッピングデータ入力部
１１４  変換規則生成部                １１５  データ変換部
１１６  データ比較部                  １１７  差異表示部
１１８  雛形データ生成部              １１９  雛形データ表示部
１５１  スキーマ記憶部                １５２  パターンデータ格納テーブル
１５３  変換規則記憶部                １５４  差異格納テーブル
２００  画面                          ２０１  マッピングデータの入力欄
２０２  変換元スキーマの入力欄        ２０３  変換先スキーマの入力欄
２０４  変換元データの入力欄          ２０５  変換先データの入力欄
４０１  リスト表示欄                  ４０２  情報表示欄
４０３  アイコン                      ４１１  点線
４１２  点線                          ５００  範囲
５０１  「firstname」要素             ５０２  「lastname」要素
５０３  「name」要素                  ５０４  「結合」処理
５０５  線分                          ５０６  線分
５０７  線分                          ６０１  「firstname」オブジェクト
６０２  「lastname」オブジェクト      ６０３  「name」オブジェクト
６０４  「結合」オブジェクト          ６０５  「コネクタ」オブジェクト
６０６  「コネクタ」オブジェクト      ６０７  「コネクタ」オブジェクト
７０１  変換規則
【図１】
2008108144.tif 000003
【図２】
2008108144.tif 000004
【図３】
2008108144.tif 000005
【図４】
2008108144.tif 000006
【図５】
2008108144.tif 000007
【図６】
2008108144.tif 000008
【図７】
2008108144.tif 000009
【図８】
2008108144.tif 000010
【図９】
2008108144.tif 000011
【図１０】
2008108144.tif 000012
【図１１】
2008108144.tif 000013
【図１２】
2008108144.tif 000014
【図１３】
2008108144.tif 000015
【図１４】
2008108144.tif 000016
【図１５】
2008108144.tif 000017
【図１６】
2008108144.tif 000018
【図１７】
2008108144.tif 000019
【図１８】
2008108144.tif 000020
【図１９】
2008108144.tif 000021
【図２０】
2008108144.tif 000022
【図２１】
2008108144.tif 000023
【図２２】
2008108144.tif 000024