(57)【要約】【課題】スキーマ情報の変更箇所を効率良く把握することを支援する。【解決手段】対応関係抽出装置が、それぞれにデータ型定義を対応付けた複数の要素と、要素間の親子関係とを定義するスキーマ言語によって記述された第１のスキーマ情報と、第１のスキーマ情報に対応する第２のスキーマ情報とのスキーマ情報の入力を受け付け、入力されたスキーマ情報に含まれる要素と、要素に対応付けられたデータ型定義と、要素を子要素とする親要素のデータ型定義である親要素データ型定義とを対応付けたデータ型定義一覧を生成し、第１のスキーマ情報に基づいて生成された第１のデータ型定義一覧と、第２のスキーマ情報に基づいて生成された第２のデータ型定義一覧とを比較し、第１のデータ型定義一覧と第２のデータ型定義一覧とにおいて親要素の要素名が一致する子要素同士を対応付けた対応関係抽出結果を生成する。【選択図】図１
2015162107.tif 000002
【特許請求の範囲】
【請求項１】
それぞれにデータ型定義を対応付けた複数の要素と、当該要素間の親子関係とを定義するスキーマ言語によって記述された第１のスキーマ情報と、当該第１のスキーマ情報に対応する第２のスキーマ情報とのスキーマ情報の入力を受け付ける入力部と、
前記入力部に入力された前記スキーマ情報に含まれる要素と、当該要素に対応付けられたデータ型定義と、当該要素を子要素とする親要素のデータ型定義である親要素データ型定義とを対応付けたデータ型定義一覧を生成するデータ型定義内容抽出部と、
前記データ型定義内容抽出部によって前記第１のスキーマ情報に基づいて生成された第１のデータ型定義一覧と、前記第２のスキーマ情報に基づいて生成された第２のデータ型定義一覧とを比較し、第１のデータ型定義一覧と第２のデータ型定義一覧とにおいて親要素の要素名が一致する子要素同士を対応付けた対応関係抽出結果を生成する対応関係抽出部と、
を備えることを特徴とする対応関係抽出装置。
【請求項２】
前記データ型定義内容抽出部は、前記スキーマ情報に含まれる複数の要素のうち最上位の要素のデータ型定義と、当該最上位の要素の子要素と、当該子要素のデータ型定義とを対応付け、当該子要素のデータ型定義と、当該子要素を親要素とする子要素である孫要素と、当該孫要素のデータ型定義とを対応付けた前記データ型定義一覧を生成する
ことを特徴とする請求項１に記載の対応関係抽出装置。
【請求項３】
前記対応関係抽出部は、前記第１のスキーマ情報に含まれる要素である旧要素に対応する要素が前記第２のスキーマ情報に含まれない場合には当該旧要素が削除されたと判定し、前記第２のスキーマ情報に含まれる要素である新要素に対応する要素が前記第１のスキーマ情報に含まれない場合には当該新要素が追加されたと判定し、判定結果を含む前記対応関係抽出結果を生成する
ことを特徴とする請求項１または請求項２に記載の対応関係抽出装置。
【請求項４】
前記対応関係抽出部が生成した前記対応関係抽出結果を出力する出力部
を備えることを特徴とする請求項１から請求項３までのいずれか１項に記載の対応関係抽出装置。
【請求項５】
前記第１のスキーマ情報はＸＭＬスキーマであり、前記第２のスキーマ情報は前記第１のスキーマ情報がバージョン改訂されたＸＭＬスキーマである
ことを特徴とする請求項１から請求項４までのいずれか１項に記載の対応関係抽出装置。
【請求項６】
対応関係抽出装置の、
入力部が、それぞれにデータ型定義を対応付けた複数の要素と、当該要素間の親子関係とを定義するスキーマ言語によって記述された第１のスキーマ情報と、当該第１のスキーマ情報に対応する第２のスキーマ情報とのスキーマ情報の入力を受け付けるステップと、
データ型定義内容抽出部が、前記入力部に入力された前記スキーマ情報に含まれる要素と、当該要素に対応付けられたデータ型定義と、当該要素を子要素とする親要素のデータ型定義である親要素データ型定義とを対応付けたデータ型定義一覧を生成するステップと、
対応関係抽出部が、前記データ型定義内容抽出部によって前記第１のスキーマ情報に基づいて生成された第１のデータ型定義一覧と、前記第２のスキーマ情報に基づいて生成された第２のデータ型定義一覧とを比較し、第１のデータ型定義一覧と第２のデータ型定義一覧とにおいて親要素の要素名が一致する子要素同士を対応付けた対応関係抽出結果を生成するステップと、
を備えることを特徴とする対応関係抽出方法。
【請求項７】
対応関係抽出装置のコンピュータを、
それぞれにデータ型定義を対応付けた複数の要素と、当該要素間の親子関係とを定義するスキーマ言語によって記述された第１のスキーマ情報と、当該第１のスキーマ情報に対応する第２のスキーマ情報とのスキーマ情報の入力を受け付ける入力部、
前記入力部に入力された前記スキーマ情報に含まれる要素と、当該要素に対応付けられたデータ型定義と、当該要素を子要素とする親要素のデータ型定義である親要素データ型定義とを対応付けたデータ型定義一覧を生成するデータ型定義内容抽出部、
前記データ型定義内容抽出部によって前記第１のスキーマ情報に基づいて生成された第１のデータ型定義一覧と、前記第２のスキーマ情報に基づいて生成された第２のデータ型定義一覧とを比較し、第１のデータ型定義一覧と第２のデータ型定義一覧とにおいて親要素の要素名が一致する子要素同士を対応付けた対応関係抽出結果を生成する対応関係抽出部、
として機能させるための対応関係抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対応関係抽出装置、対応関係抽出方法、対応関係抽出プログラムに関する。
【背景技術】
【０００２】
データに含まれる要素をタグにより表し、要素の属性や要素間の親子関係等の構造を記述するマークアップ言語が利用されている。特許文献１には、このようなマークアップ言語であるＳＧＭＬ（Standard Generalized Markup Language）やＸＭＬ（eXtensible Markup Language）により記述された文書間の類似関係を検出することが記載されている。
ただし、このようなＳＧＭＬやＸＭＬはデータに含まれる各要素を記述するための言語であり、文書構造自体を定義することはできない。そのため、このような文書構造自体を定義するスキーマ言語が開発されている。例えば、データに含まれる各要素にその要素のデータ型定義を対応付け、要素間の親子関係を定義するＸＭＬスキーマであるスキーマ情報が利用されている。例えば、非特許文献１には、金融業務向け通信メッセージの登録手続に関する国際規格であるＩＳＯ２００２２により定められたスキーマ情報が示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２４１７９号公報
【非特許文献】
【０００４】
【非特許文献１】“ＩＳＯ  ２００２２”、[online]、[平成２６年１月０６日検索]、インターネットURL:http://www.iso20022.org/
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなスキーマ情報は、バージョン改訂等により変更される場合がある。この場合、変更前のスキーマ情報に基づいて処理を行っていたコンピュータシステムの運用において、変更後のスキーマ情報に合わせて処理を行うように変更する必要がある。そこで、このようなスキーマ情報の変更箇所を効率良く把握することを支援することが望ましい。
【０００６】
本発明は、このような状況に鑑みてなされたもので、スキーマ情報の変更箇所を効率良く把握することを支援する対応関係抽出装置、対応関係抽出方法、対応関係抽出プログラムを提供する。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明の一態様は、それぞれにデータ型定義を対応付けた複数の要素と、要素間の親子関係とを定義するスキーマ言語によって記述された第１のスキーマ情報と、第１のスキーマ情報に対応する第２のスキーマ情報とのスキーマ情報の入力を受け付ける入力部と、入力部に入力されたスキーマ情報に含まれる要素と、要素に対応付けられたデータ型定義と、要素を子要素とする親要素のデータ型定義である親要素データ型定義とを対応付けたデータ型定義一覧を生成するデータ型定義内容抽出部と、データ型定義内容抽出部によって第１のスキーマ情報に基づいて生成された第１のデータ型定義一覧と、第２のスキーマ情報に基づいて生成された第２のデータ型定義一覧とを比較し、第１のデータ型定義一覧と第２のデータ型定義一覧とにおいて親要素の要素名が一致する子要素同士を対応付けた対応関係抽出結果を生成する対応関係抽出部と、を備えることを特徴とする対応関係抽出装置である。
【０００８】
また、本発明の一態様は、データ型定義内容抽出部は、スキーマ情報に含まれる複数の要素のうち最上位の要素のデータ型定義と、最上位の要素の子要素と、子要素のデータ型定義とを対応付け、子要素のデータ型定義と、子要素を親要素とする子要素である孫要素と、孫要素のデータ型定義とを対応付けたデータ型定義一覧を生成することを特徴とする。
【０００９】
また、本発明の一態様は、対応関係抽出部は、第１のスキーマ情報に含まれる要素である旧要素に対応する要素が第２のスキーマ情報に含まれない場合には旧要素が削除されたと判定し、第２のスキーマ情報に含まれる要素である新要素に対応する要素が第１のスキーマ情報に含まれない場合には新要素が追加されたと判定し、判定結果を含む対応関係抽出結果を生成することを特徴とする。
【００１０】
また、本発明の一態様は、対応関係抽出部が生成した対応関係抽出結果を出力する出力部を備えることを特徴とする。
【００１１】
また、本発明の一態様は、第１のスキーマ情報はＸＭＬスキーマであり、第２のスキーマ情報は第１のスキーマ情報がバージョン改訂されたＸＭＬスキーマであることを特徴とする。
【００１２】
また、本発明の一態様は、対応関係抽出装置の、入力部が、それぞれにデータ型定義を対応付けた複数の要素と、要素間の親子関係とを定義するスキーマ言語によって記述された第１のスキーマ情報と、第１のスキーマ情報に対応する第２のスキーマ情報とのスキーマ情報の入力を受け付けるステップと、データ型定義内容抽出部が、入力部に入力されたスキーマ情報に含まれる要素と、要素に対応付けられたデータ型定義と、要素を子要素とする親要素のデータ型定義である親要素データ型定義とを対応付けたデータ型定義一覧を生成するステップと、対応関係抽出部が、データ型定義内容抽出部によって第１のスキーマ情報に基づいて生成された第１のデータ型定義一覧と、第２のスキーマ情報に基づいて生成された第２のデータ型定義一覧とを比較し、第１のデータ型定義一覧と第２のデータ型定義一覧とにおいて親要素の要素名が一致する子要素同士を対応付けた対応関係抽出結果を生成するステップと、を備えることを特徴とする対応関係抽出方法である。
【００１３】
また、本発明の一態様は、対応関係抽出装置のコンピュータを、それぞれにデータ型定義を対応付けた複数の要素と、要素間の親子関係とを定義するスキーマ言語によって記述された第１のスキーマ情報と、第１のスキーマ情報に対応する第２のスキーマ情報とのスキーマ情報の入力を受け付ける入力部、入力部に入力されたスキーマ情報に含まれる要素と、要素に対応付けられたデータ型定義と、要素を子要素とする親要素のデータ型定義である親要素データ型定義とを対応付けたデータ型定義一覧を生成するデータ型定義内容抽出部、データ型定義内容抽出部によって第１のスキーマ情報に基づいて生成された第１のデータ型定義一覧と、第２のスキーマ情報に基づいて生成された第２のデータ型定義一覧とを比較し、第１のデータ型定義一覧と第２のデータ型定義一覧とにおいて親要素の要素名が一致する子要素同士を対応付けた対応関係抽出結果を生成する対応関係抽出部、として機能させるための対応関係抽出プログラムである。
【発明の効果】
【００１４】
以上説明したように、本発明によれば、対応関係抽出装置が、それぞれにデータ型定義を対応付けた複数の要素と、要素間の親子関係とを定義するスキーマ言語によって記述された第１のスキーマ情報と、第１のスキーマ情報に対応する第２のスキーマ情報とのスキーマ情報の入力を受け付け、入力されたスキーマ情報に含まれる要素と、要素に対応付けられたデータ型定義と、要素を子要素とする親要素のデータ型定義である親要素データ型定義とを対応付けたデータ型定義一覧を生成し、第１のスキーマ情報に基づいて生成された第１のデータ型定義一覧と、第２のスキーマ情報に基づいて生成された第２のデータ型定義一覧とを比較し、第１のデータ型定義一覧と第２のデータ型定義一覧とにおいて親要素の要素名が一致する子要素同士を対応付けた対応関係抽出結果を生成するようにしたので、スキーマ情報の変更箇所を効率良く把握することを支援することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態による対応関係抽出装置の構成例を示すブロック図である。
【図２】本発明の一実施形態による第１のスキーマ情報記憶部に記憶される旧ＸＭＬスキーマのデータ例を示す図である。
【図３】本発明の一実施形態による第２のスキーマ情報記憶部に記憶される新ＸＭＬスキーマのデータ例を示す図である。
【図４】本発明の一実施形態によるデータ型定義一覧記憶部に記憶される旧ＸＭＬスキーマのデータ型定義一覧のデータ例を示す図である。
【図５】本発明の一実施形態によるデータ型定義一覧記憶部に記憶される新ＸＭＬスキーマのデータ型定義一覧のデータ例を示す図である。
【図６】本発明の一実施形態による対応関係抽出結果記憶部に記憶される対応関係抽出結果のデータ例を示す図である。
【図７】本発明の一実施形態による対応要素テーブル記憶部に記憶される対応要素テーブルのデータ例を示す図である。
【図８】本発明の一実施形態による対応関係抽出装置の動作例を示すフローチャートである。
【図９】本発明の一実施形態による対応関係抽出結果の別の例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態について、図面を参照して説明する。
図１は、本実施形態による対応関係抽出装置３００の構成を示すブロック図である。対応関係抽出装置３００は、入力装置１００と出力装置２００とに接続されており、記憶部３１０と、入力部３２０と、データ型定義内容抽出部３３０と、対応関係抽出部３４０と、出力部３５０とを備えている。
【００１７】
入力装置１００は、キーボードやマウス等の入力デバイスであり、ユーザからの操作に応じて入力信号を生成し、生成した入力信号を対応関係抽出装置３００に入力する。
出力装置２００は、ディスプレイやプリンタ等の出力デバイスであり、対応関係抽出装置３００から出力される出力信号に基づいて各種情報を出力する。例えば、ディスプレイである出力装置２００は、各種情報を表示する。
【００１８】
記憶部３１０には、対応関係抽出装置３００が動作する際に参照する各種情報が記憶される。記憶部３１０は、第１のスキーマ情報記憶部３１１と、第２のスキーマ情報記憶部３１２と、データ型定義一覧記憶部３１３と、対応関係抽出結果記憶部３１４と、対応要素テーブル記憶部３１５とを備えている。
第１のスキーマ情報記憶部３１１には、それぞれにデータ型定義を対応付けた複数の要素と、それらの要素間の親子関係とを定義するスキーマ言語によって記述された第１のスキーマ情報が記憶される。本実施形態では、スキーマ言語はＸＭＬスキーマであり、第１のスキーマ情報は国際規格等で標準化されたＸＭＬスキーマであるとして説明する。このようなＸＭＬスキーマとして、例えば、金融業務向け通信メッセージの登録手続に関する国際規格であるＩＳＯ２００２２により定められたＸＭＬスキーマが存在する。
【００１９】
本実施形態では、第１のスキーマ情報記憶部３１１に記憶される第１のスキーマ情報を旧ＸＭＬスキーマといい、後述する第２のスキーマ情報記憶部３１２に記憶される第２のスキーマ情報を新ＸＭＬスキーマという。新ＸＭＬスキーマは旧ＸＭＬスキーマがバージョン改訂されたＸＭＬスキーマである。上述したような国際規格により標準化されたＸＭＬスキーマは、定期的（例えば、１年）または不定期に、定義内容が変更されることがあり、この場合には、バージョン改訂された新たなＸＭＬスキーマが国際規格団体等によって提供される。この場合、変更前の旧ＸＭＬスキーマに基づいて処理を行っていたコンピュータシステムの運用において、変更後の新ＸＭＬスキーマに合わせて処理を行うように変更する必要がある。このため、コンピュータシステムの運用者はＸＭＬスキーマの変更箇所を把握する必要があるが、運用者が旧ＸＭＬスキーマと新ＸＭＬスキーマとを見比べながら、人手で変更箇所を把握することは困難である。そこで、本実施形態の対応関係抽出装置３００は、運用者がこのようなＸＭＬスキーマの変更箇所を効率良く把握することを支援し、ＸＭＬスキーマに基づいて処理を行うコンピュータシステムの運用を支援する。
【００２０】
図２は、第１のスキーマ情報記憶部３１１に記憶される旧ＸＭＬスキーマのデータ例を示す図である。ＸＭＬスキーマは、ＸＭＬ文書に記述する最小単位の情報である要素の構造等を定義する情報であり、文書の構造や内容等を、「＜」と「＞」との山括弧（タグ）に囲って記述することにより定義している。ＸＭＬスキーマでは、そのＸＭＬスキーマに基づいて生成されるＸＭＬ文書に含まれる１つの情報を要素として、要素のｎａｍｅ属性の値により要素名を定義し、ｔｙｐｅ属性の値により要素のデータ型定義名を定義して対応付けておくことができる。
【００２１】
例えば、符号ａ１に示す箇所には、「＜ｘｓ：ｅｌｅｍｅｎｔ  ｎａｍｅ＝“Ｄｏｃｕｍｅｎｔ”  ｔｙｐｅ＝“ＤｏｃｕｍｅｎｔＴｙｐｅ０１“ /＞」と定義されている。この場合、ｎａｍｅ属性で指定された（以下、属性に対応付けられた、との記載は、属性で指定されたことを意味する）「Ｄｏｃｕｍｅｎｔ」は要素名を示し、ｔｙｐｅ属性に対応付けられた「ＤｏｃｕｍｅｎｔＴｙｐｅ０１」はデータ型定義名を示す。また、データ型定義「ＤｏｃｕｍｅｎｔＴｙｐｅ０１」は、子要素として「Ａｃｃｏｕｎｔ」と、「ＢａｎｋＩｎｆｏ」と、「Ｏｔｈｅｒ」とを持つことが定義されている。また、例えば「Ａｃｃｏｕｎｔ」は、データ型定義名が「ＡｃｃｏｕｎｔＴｙｐｅ０１」であり、ｍｉｎＯｃｃｕｒｓ属性（最小出現回数）が「０」であり、ｍａｘＯｃｃｕｒｓ属性（最大出現回数）がｕｎｂｏｕｎｄｅｄ（制限なし）であることが定義されている。
【００２２】
符号ａ２の箇所には、上述した要素「Ａｃｃｏｕｎｔ」のデータ型定義である「ＡｃｃｏｕｎｔＴｙｐｅ０１」の定義内容が記述されている。ここでは、「ＡｃｃｏｕｎｔＴｙｐｅ０１」は、子要素として「Ｉｄ」と「Ｎａｍｅ」と「Ａｄｄｒｅｓｓ」と「Ｔｅｌ」とを持つことが定義されている。このうち、例えば「Ｎａｍｅ」のデータ型定義名は、「Ｍａｘ１５Ｔｅｘｔ」であることが定義されている。
符号ａ３の箇所には、「Ｍａｘ１５Ｔｅｘｔ」の定義内容が記述されている。ここでは、「Ｍａｘ１５Ｔｅｘｔ」は、ｍａｘＬｅｎｇｔｈ（最大桁数）が「１５」の文字列であることが定義されている。このように定義された構造に基づいてＸＭＬ文書を生成することにより、異なるコンピュータ装置間で情報を共有することができる。
【００２３】
第２のスキーマ情報記憶部３１２には、第１のスキーマ情報（旧ＸＭＬスキーマ）に対応する第２のスキーマ情報（新ＸＭＬスキーマ）が記憶される。
図３は、第２のスキーマ情報記憶部３１２に記憶される新ＸＭＬスキーマのデータ例を示す図である。符号ｂ１に示す箇所には、要素名「Ｄｏｃｕｍｅｎｔ」が定義されており、この要素のデータ型定義名が「ＤｏｃｕｍｅｎｔＴｙｐｅ０２」であることが定義されている。すなわち、旧ＸＭＬスキーマに対して、新ＸＭＬスキーマでは、要素名「Ｄｏｃｕｍｅｎｔ」のデータ型定義名が「ＤｏｃｕｍｅｎｔＴｙｐｅ０１」から「ＤｏｃｕｍｅｎｔＴｙｐｅ０２」に変更されている。このように、旧ＸＭＬスキーマから新ＸＭＬスキーマにバージョン改訂される場合には、要素名とデータ型定義名との双方が変更するのではなく、要素名は変更されずに、データ型定義名が変更されることがある。そこで、本実施形態では、旧ＸＭＬスキーマと新ＸＭＬスキーマとにおいて、要素名が一致する要素同士は対応する要素であるとして対応付け、そのデータ型定義名や子要素を対応付ける。これにより、複雑な階層のＸＭＬスキーマによる定義を、効率良く対応付けることが可能となる。
【００２４】
また、符号ｂ１に示す箇所には、データ型定義「ＤｏｃｕｍｅｎｔＴｙｐｅ０２」は、子要素として「Ａｃｃｏｕｎｔ」と、「Ｏｔｈｅｒ」とを持つことが定義されている。また、要素名「Ａｃｃｏｕｎｔ」のデータ型定義名が「ＡｃｃｏｕｎｔＴｙｐｅ０２」であることが定義されている。すなわち、旧ＸＭＬスキーマに対して、新ＸＭＬスキーマでは、要素名「Ａｃｃｏｕｎｔ」のデータ型定義名が「ＡｃｃｏｕｎｔＴｙｐｅ０１」から「ＡｃｃｏｕｎｔＴｙｐｅ０２」に変更されている。また、「ＢａｎｋＩｎｆｏ」および「ＢａｎｋＩｎｆｏ」配下の子要素が削除されている。また、要素「Ｏｔｈｅｒ」の定義にｍｉｎＯｃｃｕｒｓ属性が「０」であることが追加されている。
【００２５】
符号ｂ３に示す箇所には、要素名「Ａｃｃｏｕｎｔ」のデータ型定義名「ＡｃｃｏｕｎｔＴｙｐｅ０２」が定義されており、データ型定義「ＡｃｃｏｕｎｔＴｙｐｅ０２」は、子要素として「Ｉｄ」、「Ｎａｍｅ」、「Ａｄｄｒｅｓｓ」、「Ｎｅｗ」を持つことが定義されている。符号ｂ２に示す箇所には、要素名「Ｎａｍｅ」のデータ型定義である「Ｍａｘ１５Ｔｅｘｔ」の内容が定義されている。旧ＸＭＬスキーマと比べてデータ型定義「Ｍａｘ１５Ｔｅｘｔ」とデータ型定義「ＡｃｃｏｕｎｔＴｙｐｅ０２」の記述位置とが入れ替わっているが、これによる意味的な違いは発生しない。要素「Ａｃｃｏｕｎｔ」のデータ型定義「ＡｃｃｏｕｎｔＴｙｐｅ０２」での子要素である要素「Ａｄｄｒｅｓｓ」にｍａｘＯｃｃｕｒｓ属性が「２」である定義が追加されている。また、要素「Ｔｅｌ」が削除されている。また、要素「Ｎｅｗ」が追加されている。このように、旧ＸＭＬスキーマと新ＸＭＬスキーマとには、いくつかの相違点が存在する。
【００２６】
データ型定義一覧記憶部３１３には、第１のスキーマ情報記憶部３１１に記憶される旧ＸＭＬスキーマと第２のスキーマ情報記憶部３１２に記憶される新ＸＭＬスキーマとのそれぞれについて、ＸＭＬスキーマに含まれる要素名およびデータ定義型名と、要素間の親子関係とが抽出されたデータ型定義一覧が記憶される。本実施形態では、旧ＸＭＬスキーマに基づいて生成されたデータ型定義一覧を第１のデータ型定義一覧といい、新ＸＭＬスキーマに基づいて生成されたデータ型定義一覧を第２のデータ型定義一覧という。
【００２７】
図４は、データ型定義一覧記憶部３１３に記憶される旧ＸＭＬスキーマのデータ型定義一覧のデータ例を示す図である。データ型定義一覧には、ＸＭＬスキーマに含まれる要素（子要素名）と、その要素に対応付けられたデータ型定義（子要素データ型定義名）と、その要素を子要素とする親要素のデータ型定義である親要素データ型定義（親要素データ型定義名）とが対応付けられている。
【００２８】
ここでは、ＸＭＬスキーマに含まれる複数の要素のうち、最上位の要素（ルート要素）のデータ型定義名と、その最上位の要素の子要素と、その子要素のデータ型定義とを冒頭に対応付けて記憶している。その下に、その子要素のデータ型定義名と、その子要素を親要素とする子要素である孫要素と、その孫要素のデータ型定義とを対応付けて記憶している。なお、本実施形態において、最上位の要素とは、ＸＭＬスキーマにおいてＸＭＬ構造（データ型）を定義する要素のうち最上位のものをいう。すなわち、例えば上述の旧ＸＭＬスキーマの例において、ＸＭＬ文書であることを宣言する１行目の記述（ＸＭＬ宣言）と、ＸＭＬスキーマであることを宣言する２行目の記述（ＸＭＬスキーマ宣言）とを除いた、ＸＭＬスキーマ宣言の直下の要素を最上位の要素（ルート要素）という。例えば、旧ＸＭＬスキーマの例では、３行目の、要素名が「Ｄｏｃｕｍｅｎｔ」である要素がルート要素である。
図５は、データ型定義一覧記憶部３１３に記憶される新ＸＭＬスキーマのデータ型定義一覧のデータ例を示す図である。新ＸＭＬスキーマのデータ型定義一覧のデータ内容は、旧ＸＭＬスキーマのデータ型定義一覧と同様である。
【００２９】
対応関係抽出結果記憶部３１４には、第１のデータ型定義一覧と第２のデータ型定義一覧とにおいて親要素の要素名が一致する子要素同士を対応付けた対応関係抽出結果が記憶される。図６は、対応関係抽出結果記憶部３１４に記憶される対応関係抽出結果のデータ例を示す図である。対応関係抽出結果は、例えば、表計算アプリケーションによって表示可能な形式のファイルとして記憶される。対応関係抽出結果においては、旧ＸＭＬスキーマに含まれる親要素データ型定義名に対応する、新ＸＭＬスキーマに含まれる親要素データ型定義名を、同じ行に表示するように整理してデータを対応付けている。また、旧ＸＭＬスキーマと新ＸＭＬスキーマとにおいて変更されているデータについては、太字（ボールド）に強調表示するとともに、下線を付している。ＸＭＬスキーマに基づく処理を行うコンピュータシステムの運用者は、このような対応関係抽出結果を参照することで、ＸＭＬスキーマに含まれるどの項目がバージョン改訂によりどのように変更したのか、あるいは変更していないのかを、視覚的に効率良く把握することが可能となる。
【００３０】
また、対応関係抽出結果において、旧ＸＭＬスキーマに含まれる要素に対応する要素が新ＸＭＬスキーマに含まれない場合にはその要素が削除されたとして削除フラグを付し、新ＸＭＬスキーマに含まれる要素に対応する要素が旧ＸＭＬスキーマに含まれない場合にはその要素が追加されたとして追加フラグを付している。この例では、削除フラグを付すとは、削除フラグのセルに「○」を付加することをいい、追加フラグを付すとは、追加フラグのセルに「○」を付加することをいう。
【００３１】
対応要素テーブル記憶部３１５には、第１のデータ型定義一覧と第２のデータ型定義一覧とに基づいて対応関係抽出結果を生成する際に一時的に参照されるワークテーブルである対応要素テーブルが記憶される。図７は、対応要素テーブル記憶部３１５に記憶される対応要素テーブルのデータ例を示す図である。ここでは、第１のデータ型定義一覧と第２のデータ型定義一覧とにおいて、対応する親要素データ型定義名と子要素名と子要素データ型定義名との組み合わせを同じ行に対応付けて記憶している。
【００３２】
図１に戻り、入力部３２０は、外部からの情報入力を受け付ける。例えば、入力部３２０は、入力装置１００に対するユーザの操作に応じて生成される入力信号を受け付けることにより、情報の入力を受け付ける。入力部３２０は、例えば、旧ＸＭＬスキーマと新ＸＭＬスキーマとの入力を受け付ける。例えば、旧ＸＭＬスキーマや新ＸＭＬスキーマ等のＸＭＬスキーマはファイル形式のデータであり、ＵＳＢ（Universal Serial Bus）メモリやＣＤ（Compact Disc）等の可搬記憶媒体に記憶されているＸＭＬスキーマのファイルを読み出すことによって入力部３２０が入力を受け付けてもよいし、ネットワークを介して接続された他のコンピュータ装置から読み出してもよい。入力部３２０は、入力された旧ＸＭＬスキーマを第１のスキーマ情報記憶部３１１に記憶させ、入力された新ＸＭＬスキーマを第２のスキーマ情報記憶部３１２に記憶させる。
【００３３】
データ型定義内容抽出部３３０は、入力部３２０に入力された第１のスキーマ情報記憶部３１１および第２のスキーマ情報記憶部３１２に記憶されたＸＭＬスキーマのそれぞれについて、ＸＭＬスキーマに含まれる要素と、その要素に対応付けられたデータ型定義と、その要素を子要素とする親要素のデータ型定義である親要素データ型定義とを対応付けたデータ型定義一覧を生成し、前記データ型定義一覧記憶部３１３に記憶させる。
【００３４】
ここで、データ型定義内容抽出部３３０は、ＸＭＬスキーマに含まれる複数の要素のうち最上位の要素のデータ型定義と、その最上位の要素の子要素と、その子要素のデータ型定義とを対応付け、その子要素のデータ型定義と、その子要素を親要素とする子要素である孫要素と、その孫要素のデータ型定義とを対応付けたデータ型定義一覧を生成し、データ型定義一覧記憶部３１３に記憶させる。
またここで、データ型定義内容抽出部３３０がデータ型定義一覧の親要素データ型定義名にデータ型定義を記憶させる際、そのデータ型定義名の種類がＸＭＬにおける所定の単純型データ型定義である場合、そのデータ型定義名に対する子要素は存在しない（例えば、データ型定義名が「Ｍａｘ１５Ｔｅｘｔ」である場合、その種類は単純型データ定義である＜ｘｓ：ｓｉｍｐｌｅＴｙｐｅ＞となり、子要素は存在しない）。このように、子要素が存在しない場合、第１のデータ型定義名一覧および第２のデータ型定義名一覧において、子要素が存在しないことを示す情報（たとえば、「−」）を記載することができる。
また、データ型定義内容抽出部３３０がＸＭＬスキーマを解析する際には、例えば、ＸＭＬパーサのＡＰＩ（Application Programming Interface）であるＳＡＸ（Simple API for XML）を利用することができる。
【００３５】
対応関係抽出部３４０は、データ型定義内容抽出部３３０によって旧ＸＭＬスキーマに基づいて生成された第１のデータ型定義一覧と、新ＸＭＬスキーマに基づいて生成された第２のデータ型定義一覧とを比較し、第１のデータ型定義一覧と第２のデータ型定義一覧とにおいて親要素の要素名が一致する子要素同士を対応付けた対応関係抽出結果を生成し、対応関係抽出結果記憶部３１４に記憶させる。対応関係抽出部３４０は、初期対応決定部３４１と、子要素対応決定部３４２と、対応付け選択部３４３とを備えている。
【００３６】
初期対応決定部３４１は、第１のデータ型定義一覧と第２のデータ型定義一覧とを比較する際の最初の比較対象要素として、例えば新旧ＸＭＬスキーマにおけるそれぞれの最上位の要素（ルート要素）に含まれるデータ型定義名のペアを処理対象として決定し、決定した処理対象を子要素対応決定部３４２に入力する。
【００３７】
子要素対応決定部３４２は、入力された処理対象である新旧ＸＭＬスキーマのデータ型定義名のペアについて、そのデータ型定義名同士を対応付けるとともに、そのデータ型定義名のそれぞれの子要素を対応関係抽出結果記憶部３１４に記憶させる。例えば、子要素対応決定部３４２は、入力された処理対象であるペアのデータ型定義名が同一行になるようにして、対応関係抽出結果記憶部３１４における親要素データ型定義名として記憶させる。また、子要素対応決定部３４２は、ペアのデータ型定義名のそれぞれの配下にある１または複数の子要素の要素名（子要素名）とデータ型定義名（子要素データ型定義名）とを、データ型定義一覧記憶部３１３に記憶されている第１のデータ型定義一覧と第２のデータ型定義一覧とから読み出す。子要素対応決定部３４２は、読み出した１または複数の要素名とデータ型定義名とを、対応関係抽出結果記憶部３１４において処理対象であるペアを親要素データ型定義名として記憶させた次の行以降に連続して記憶させる。子要素対応決定部３４２は、処理対象のペアのデータ型定義名のそれぞれについての子要素すべてを対応関係抽出結果記憶部３１４に記憶させる。
【００３８】
また、子要素対応決定部３４２は、対応関係抽出結果記憶部３１４に記憶させた新旧ＸＭＬスキーマの子要素同士の対応関係を判定し、対応すると判定した子要素同士を対応付けて対応要素テーブル記憶部３１５に記憶させる。例えば、子要素対応決定部３４２は、処理対象のペアであるデータ型定義名のそれぞれの配下の子要素のうち、要素名が一致する子要素同士を対応すると判定し、対応すると判定した子要素同士の親要素データ型定義名と子要素名と子要素データ型定義名とを対応付けて対応要素テーブル記憶部３１５に記憶させる。
【００３９】
ここで、子要素対応決定部３４２は、子要素の要素名が一致するか否かを判定する際には、完全一致、部分一致、類似度判定等のいずれかまたは複数の判定方法によって判定することができる。類似度判定とは、例えば、複数の文字列中における所定の何割の文字が一致した場合に一致したと判定し、所定の何割の文字が一致しない場合には一致しないと判定するような判定方法である。
【００４０】
またここで、子要素対応決定部３４２は、旧ＸＭＬスキーマに含まれる要素である旧要素に対応する要素が新ＸＭＬスキーマに含まれない場合にはその旧要素が削除されたと判定し、新ＸＭＬスキーマに含まれる要素である新要素に対応する要素が旧ＸＭＬスキーマに含まれない場合にはその新要素が追加されたと判定する。このような判定処理は、例えば、フラグを利用して行うことができる。例えば、旧ＸＭＬスキーマの子要素名に対して、対応する新ＸＭＬスキーマの子要素名がみつかった場合、対応関係抽出結果記憶部３１４におけるその子要素名に処理済フラグを付加しておき、処理対象を次の子要素名とする。旧ＸＭＬスキーマの処理対象の子要素名に対して、対応する新ＸＭＬスキーマの子要素がみつからなかった場合、削除された子要素名として削除フラグを付加しておき、処理対象を旧ＸＭＬスキーマにおける次の子要素とする。旧ＸＭＬスキーマの全ての子要素の処理が終わった時点で、処理済みフラグが付加されていない新ＸＭＬスキーマの子要素名が存在する場合、その子要素は新たに追加された子要素であるとして、その子要素に追加フラグを付加する。子要素対応決定部３４２は、処理対象のペアのデータ型定義名の配下にあるすべての子要素について、対応関係の判定処理を行う。
【００４１】
対応付け選択部３４３は、子要素対応決定部３４２によって対応関係抽出結果記憶部３１４と対応要素テーブル記憶部３１５とに情報が記憶されると、対応要素テーブル記憶部３１５に記憶されている対応要素テーブルに基づいて、次の処理対象である新旧ＸＭＬスキーマのデータ型定義名のペアを決定し、決定した処理対象を子要素対応決定部３４２に入力する。具体的には、対応付け選択部３４３は、対応要素テーブル記憶部３１５に記憶されている対応要素テーブルにおいて対応付けられた新旧ＸＭＬスキーマの子要素データ型定義名のペアを処理対象として決定し、決定した処理対象を子要素対応決定部３４２に入力する。ここで、対応付け選択部３４３は、対応要素テーブル記憶部３１５に記憶されている新旧ＸＭＬスキーマの子要素データ型定義名のペアのすべてについて処理対象として子要素対応決定部３４２に入力し、対応関係抽出結果記憶部３１４と対応要素テーブル記憶部３１５とに情報を記憶させる処理を繰り返し行わせる。ここで、対応付け選択部３４３が決定し、子要素対応決定部３４２に入力した子要素データ型定義名のペアの情報が既に対応関係抽出結果記憶部３１４に記憶されている場合（つまり、対応関係抽出結果記憶部３１４に対応付けられて記憶されている親要素データ型定義名の中に、入力したデータ型定義名のペアが含まれる場合）、末端の要素まで完全に一致するため、対応付け処理を中断し、処理対象を対応要素テーブルにおける次の要素とする。
【００４２】
ここでは、例えば、対応付け選択部３４３は、対応要素テーブルの各行に処理済と未処理とを区別するフラグを付加しておき、フラグにより処理済であるか未処理であるかを判定することができる。この場合、対応付け選択部３４３は、初期状態では全ての行に未処理であることを示すフラグを付加しておき、処理対象として子要素対応決定部３４２に入力した子要素データ型定義名のペアの行には処理済であることを示すフラグを付加する。これにより、対応要素テーブルに記憶されているすべての子要素データ型定義名のペアについて、重複なく子要素対応決定部３４２に処理を行わせることができる。あるいは、対応付け選択部３４３は、例えば、処理対象として子要素対応決定部３４２に入力した子要素データ型定義名のペアを、対応要素テーブルから削除することにより、未処理である子要素データ型定義名のペアについてのみ子要素対応決定部３４２に処理を行わせるようにしてもよい。対応付け選択部３４３が、対応要素テーブルに記憶されているすべての子要素データ型定義名のペアについて処理対象として子要素対応決定部３４２に入力し、子要素対応決定部３４２による処理が行われると、後述する出力部３５０による処理が行われる。
【００４３】
出力部３５０は、対応関係抽出部３４０が生成した対応関係抽出結果を出力装置２００に表示させるための出力信号を生成し、出力装置２００に出力して表示させる。ＸＭＬスキーマに基づいて処理を行うコンピュータシステムの運用者は、このように表示された対応関係抽出結果を参照することで、ＸＭＬスキーマの変更箇所を効率良く把握することができる。
【００４４】
次に、図面を参照して、本実施形態による対応関係抽出装置３００の動作例を説明する。図８は、本実施形態による対応関係抽出装置３００の動作例を示すフローチャートである。
入力部３２０は、旧ＸＭＬスキーマを記述したファイルと、新ＸＭＬスキーマを記述したファイルとの入力を受け付け、入力されたファイルをそれぞれ第１のスキーマ情報記憶部３１１と第２のスキーマ情報記憶部３１２とに記憶させる（ステップＳ１）。
【００４５】
データ型定義内容抽出部３３０は、第１のスキーマ情報記憶部３１１に記憶された旧ＸＭＬスキーマを読み出し、第１のデータ型定義一覧を生成してデータ型定義一覧記憶部３１３に記憶させる。また、データ型定義内容抽出部３３０は、第２のスキーマ情報記憶部３１２に記憶された新ＸＭＬスキーマを読み出し、第２のデータ型定義一覧を生成してデータ型定義一覧記憶部３１３に記憶させる（ステップＳ２）。
【００４６】
対応関係抽出部３４０の初期対応決定部３４１は、第１のデータ型定義一覧におけるルート要素と第２のデータ型定義一覧におけるルート要素とのデータ型定義名のペアを処理対象として決定し、子要素対応決定部３４２に入力する（ステップＳ３）。子要素対応決定部３４２は、入力された処理対象のデータ型定義名のペアについて、対応関係抽出結果記憶部３１４に情報を記憶させて親要素データ型定義名の子要素の対応付け処理を行い、対応付けた子要素の情報を対応要素テーブル記憶部３１５に記憶させる（ステップＳ４）。対応付け選択部３４３は、対応要素テーブル記憶部３１５の対応要素テーブルに記憶されたすべての子要素データ型定義名のペアについて、子要素対応決定部３４２による処理を行っていなければ（ステップＳ５：Ｎｏ）、対応要素テーブル記憶部３１５に記憶された対応要素テーブルに基づいて次の処理対象であるデータ型定義名のペアを決定し、決定した処理対象を子要素対応決定部３４２に入力し（ステップＳ６）、ステップＳ４に戻る。
【００４７】
対応要素テーブル記憶部３１５の対応要素テーブルに記憶されたすべての子要素データ型定義名のペアについて、子要素対応決定部３４２による処理を行うと（ステップＳ５：Ｙｅｓ）、出力部３５０が、対応関係抽出結果記憶部３１４に記憶されている対応関係抽出結果を読み出し、出力装置２００に表示させる（ステップＳ７）。
【００４８】
以上説明したように、本実施形態によれば、旧ＸＭＬスキーマが新ＸＭＬスキーマにバージョン改訂されるとき、要素名が変更されずにデータ型定義名が変更される場合があることに着目し、旧ＸＭＬスキーマと新ＸＭＬスキーマとにおいて要素名が一致するデータを対応付けた対応関係抽出結果を生成して表示することができる。これにより、そのＸＭＬスキーマに基づいて処理を行うコンピュータシステムの運用者は、旧ＸＭＬスキーマと新ＸＭＬスキーマとにおいてどのような変更があったのかを効率良く把握することができる。これにより、ＸＭＬスキーマのバージョン改訂によるコンピュータシステムへの影響範囲を効率良く特定することができ、コンピュータシステムを運用するための負荷を軽減することが可能となる。
【００４９】
なお、本実施形態では、対応関係抽出結果において、旧ＸＭＬスキーマと新ＸＭＬスキーマとの親要素データ型定義名と、子要素名と、子要素データ型定義名とを対応付け、それぞれに削除フラグと追加フラグとを対応付ける例を説明したが、対応関係抽出結果には、この他の項目のデータを付加することもできる。図９は、対応関係抽出結果の別の例を示す図である。ここでは、対応関係抽出結果における旧ＸＭＬスキーマの項目のみの例を示しているが、新ＸＭＬスキーマの項目においても同様の項目を付加することができる。この例では、対応関係抽出結果には、親要素データ型定義名と、子要素名と、子要素データ型定義名と、削除フラグとに加えて、パーティクル情報と、属性と、制約情報と、出現回数と、変更内容との情報を付加している。このようにすれば、より有用な情報をコンピュータの運用者に提供することができる。
【００５０】
また、本実施形態では、ＸＭＬスキーマがバージョン改訂された場合に、旧ＸＭＬスキーマから新ＸＭＬスキーマに切り替えるために変更箇所の影響度を調査する例を示したが、異なるＸＭＬスキーマによるシステムへの影響度を調査したいような他の場合にも、本実施形態の対応関係抽出装置３００を適用することができる。
【００５１】
また、子要素の対応付けにおいて、例えば、同様の子要素が対応付けられている親要素同士を対応付けるような処理を行うこともできる。例えば、旧ＸＭＬスキーマにおけるある親要素に対応する親要素が新ＸＭＬスキーマにみつからない場合、その旧ＸＭＬスキーマの親要素の子要素がＡ要素とＢ要素とＣ要素であり、新ＸＭＬスキーマにおいて子要素がＡ要素とＢ要素とＤ要素である親要素が存在すれば、その子要素同士は対応するものとして対応付けるようにすることもできる。
【００５２】
また、本実施形態では、対応関係抽出結果において、旧ＸＭＬスキーマと新ＸＭＬスキーマとにおいて変更されているデータについては、太字（ボールド）に強調表示するとともに、下線を付す例を説明したが、太字にすることのみによって変更箇所を強調してもよいし、下線を付すことのみによって変更箇所を強調してもよい。あるいは、その他の方法により、変更箇所を強調するようにしてもよい。例えば、変更のあった項目のセルに網掛けをしたり、文字色を変更したりすることもできる。
【００５３】
また、本実施形態では、第１のデータ型定義一覧と第２のデータ型定義一覧とに基づいて対応関係抽出結果を生成する際に、ワークテーブルとしての対応要素テーブルを用いる例を説明したが、このようなワークテーブルを用いずに、第１のデータ型定義一覧と第２のデータ型定義一覧との対応関係を抽出するようにしてもよい。
【００５４】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより対応関係の抽出を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【００５５】
また、上述した機能の一部または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【００５６】
１００  入力装置
２００  出力装置
３００  対応関係抽出装置
３１０  記憶部
３１１  第１のスキーマ情報記憶部
３１２  第２のスキーマ情報記憶部
３１３  データ型定義一覧記憶部
３１４  対応関係抽出結果記憶部
３１５  対応要素テーブル記憶部
３２０  入力部
３３０  データ型定義内容抽出部
３４０  対応関係抽出部
３４１  初期対応決定部
３４２  子要素対応決定部
３４３  対応付け選択部
３５０  出力部
【図１】
2015162107.tif 000003
【図２】
2015162107.tif 000004
【図３】
2015162107.tif 000005
【図４】
2015162107.tif 000006
【図５】
2015162107.tif 000007
【図６】
2015162107.tif 000008
【図７】
2015162107.tif 000009
【図８】
2015162107.tif 000010
【図９】
2015162107.tif 000011