(57)【特許請求の範囲】
【請求項１】
ファイル記憶装置を備える構造化データ処理装置が，システム間で送受信される所定のマークアップ言語で記述された構造化データのスキーマを管理する方法であって，
前記構造化データ処理装置が，
前記スキーマを格納するスキーマファイルとして，構造化データのスキーマを記述した実スキーマファイルと，少なくとも前記実スキーマファイルのファイル名をデータとして記憶する，構造化データから参照される参照用スキーマファイルとを，別のファイルで前記ファイル記憶装置に保存する処理と，
前記構造化データについて前記ファイル記憶装置に保存された参照用スキーマファイルを参照し，その参照用スキーマファイル内に記憶された前記ファイル名のデータをもとに前記ファイル記憶装置に保存された実スキーマファイルを参照する処理とを実行する
ことを特徴とするスキーマ管理方法。
【請求項２】
ファイル記憶装置を備える構造化データ処理装置が，システム間で送受信される所定のマークアップ言語で記述された構造化データのスキーマを管理する方法であって，
前記構造化データ処理装置が，
前記スキーマを格納するスキーマファイルとして，構造化データのスキーマを記述した実スキーマファイルと，少なくとも前記実スキーマファイルのファイル名をデータとして記憶する，構造化データから参照される参照用スキーマファイルとを，別のファイルで前記ファイル記憶装置に保存する処理と，
前記スキーマを格納するスキーマファイルを，スキーマファイルのバージョンごとに前記ファイル記憶装置における異なるディレクトリの配下に保存する処理と，
前記構造化データについて前記ファイル記憶装置に保存された前記スキーマファイルのバージョンに対応する参照用スキーマファイルを参照し，その参照用スキーマファイル内に記憶された前記ファイル名のデータをもとに前記ファイル記憶装置に保存された実スキーマファイルを参照する処理とを実行する
ことを特徴とするスキーマ管理方法。
【請求項３】
ファイル記憶装置を備え，システム間で送受信される所定のマークアップ言語で記述された構造化データのスキーマを管理する構造化データ処理装置であって，
前記スキーマを格納するスキーマファイルとして，構造化データのスキーマを記述した実スキーマファイルと，少なくとも前記実スキーマファイルのファイル名をデータとして記憶する，構造化データから参照される参照用スキーマファイルとを，別のファイルで前記ファイル記憶装置に保存する処理手段と，
前記構造化データについて前記ファイル記憶装置に保存された参照用スキーマファイルを参照し，その参照用スキーマファイル内に記憶された前記ファイル名のデータをもとに前記ファイル記憶装置に保存された実スキーマファイルを参照して構造化データのデータ構造をチェックする処理手段とを備える
ことを特徴とする構造化データ処理装置。
【請求項４】
ファイル記憶装置を備え，システム間で送受信される所定のマークアップ言語で記述された構造化データのスキーマを管理する構造化データ処理装置であって，
前記スキーマを格納するスキーマファイルとして，構造化データのスキーマを記述した実スキーマファイルと，少なくとも前記実スキーマファイルのファイル名をデータとして記憶する，構造化データから参照される参照用スキーマファイルとを，別のファイルで前記ファイル記憶装置に保存する処理手段と，
前記スキーマを格納するスキーマファイルを，スキーマファイルのバージョンごとに前記ファイル記憶装置における異なるディレクトリの配下に保存する処理手段と，
前記構造化データについて前記ファイル記憶装置に保存された前記スキーマファイルのバージョンに対応する参照用スキーマファイルを参照し，その参照用スキーマファイル内に記憶された前記ファイル名のデータをもとに前記ファイル記憶装置に保存された実スキーマファイルを参照して構造化データのデータ構造をチェックする処理手段とを備える
ことを特徴とする構造化データ処理装置。
【請求項５】
請求項３または請求項４記載の構造化データ処理装置をコンピュータによって実現するための構造化データ処理プログラムであって，
前記コンピュータを，
前記構造化データ処理装置が備える各処理手段として機能させるための構造化データ処理プログラム。
【請求項６】
請求項３または請求項４記載の構造化データ処理装置をコンピュータによって実現するための構造化データ処理プログラムを記録したコンピュータ読み取り可能な記録媒体であって，
前記コンピュータを，
前記構造化データ処理装置が備える前記各処理手段として機能させるための構造化データ処理プログラムを記録した
ことを特徴とする構造化データ処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は，システム間で交換されるＸＭＬ（extensible markup language）などのマークアップ言語で記述されたデータの，スキーマの変更作業にかかる時間を少なくし，またスキーマファイルの変更時の制約を減らすためのスキーマ管理方法，構造化データ処理装置，そのプログラムおよびそのプログラムの記録媒体に関するものである。
【０００２】
【従来の技術】
近年，社内の業務の電子化，システム化が進んでいる。さらに，個別の業務用に開発されたシステムを業務の流れに合わせてネットワークを介して統合することにより，よりいっそう業務の効率化を図ろうという動きが活発化している。
【０００３】
システムを統合する際の，システム間で送受信されるデータを記述する言語の１つとして，ＸＭＬがある。システム間でこのようなＸＭＬで記述されたデータを交換する場合，送受信するデータのスキーマをあらかじめスキーマファイルに記述しておき，送受信の際にデータ構造がスキーマに合致しているかをスキーマファイルを用いてチェックすることにより，データの欠落や構造の間違いなどが起こらない確実なデータの送受信を行うことができる。スキーマファイルの場所は，ＸＭＬデータの中で指定する。
【０００４】
Open Application Groupが提案しているＯＡＧＩＳ（Open Application Group Interface Specification Release 7.2.1，http://www.openapplications.org/，Oct.31 2001 ）のような従来の手法では，システム間で送受信されるＸＭＬのスキーマファイルを管理する際に，あるシステムと異なる複数のシステムとの間でデータの送受信を行う場合でも，データの構造が変わらなければ同一のスキーマファイルを参照している。この場合，スキーマファイルを変更する際には，システム内でスキーマファイルに従ってデータを作成する部分と，スキーマファイルとを同時に変更する必要がある。スキーマファイルの構成や保存場所を変更する場合には，ＸＭＬデータの中のスキーマファイルを参照している部分も同時に変更する必要がある。
【０００５】
図８に，従来のスキーマファイルとＸＭＬデータの例を示す。この例では，図８（Ｂ）のＸＭＬデータ中の▲１▼の部分で，図８（Ａ）に示すスキーマファイル（ファイル名＝ｈｕｍａｎ．ｄｔｄ）を参照している。ＸＭＬデータ中の▲１▼の部分では，ファイル名だけが記述されており，この場合，スキーマファイルはＸＭＬデータと同じ場所（ディレクトリ）にあることを意味する。このとき，以下のような場合にＸＭＬデータ中の▲１▼の部分を変更する必要がある。
（１）スキーマファイルの保存場所が変更されたとき
（２）スキーマファイルの構成の変更に伴い，スキーマファイルの参照先が変更されたとき
この場合，例えばスキーマファイルの場所をプログラムで制御しているシステムでは，プログラムの変更が必要となる。また，スキーマファイルの場所がＸＭＬデータファイルにあらかじめ書かれていたとしても，ＸＭＬデータが複数存在する場合には，その全てを変更する必要がある。
【０００６】
【発明が解決しようとする課題】
以上の従来技術によれば，複数のシステムで同一のスキーマファイルを参照している場合に，スキーマファイルの変更が発生すると，そのスキーマファイルを参照している全てのシステム内のデータ作成部分を，スキーマファイルと同時に変更しなければならない。言い換えれば，データ作成部分を変更していないシステムとＸＭＬデータを送受信する際には，変更前のスキーマファイルを用いてスキーマのチェックを行い，データ作成部分を変更したシステムとＸＭＬデータを送受信する際には，変更後のスキーマファイルを用いてスキーマのチェックを行うことが必要であるが，これらは従来技術では両立できない。
【０００７】
また，スキーマのファイル構成や保存場所が変わるたびに，そのスキーマファイルの場所を指定する全ての部分を変更する必要がある。このため，スキーマファイルの変更に時間がかかる。
【０００８】
本発明は以上の問題点の解決を図り，特にシステム間で送受信されるＸＭＬで記述されたデータの，スキーマの変更にかかる時間を従来よりも少なくすることを目的とする。
【０００９】
【課題を解決するための手段】
以下では，マークアップ言語の代表的なものとしてＸＭＬを例に説明するが，構造化データを記述することができるマークアップ言語であれば，ＸＭＬに限らず本発明を適用することができる。
【００１０】
上記課題を解決するために，本発明のスキーマ管理方法は，スキーマファイルを，ＸＭＬデータから参照される参照用スキーマファイルと，ＸＭＬデータのスキーマを記述した実スキーマファイルとに分けて保存し，ＸＭＬデータは参照用スキーマファイルを参照し，参照用スキーマファイルから実スキーマファイルを参照することを特徴とする。本発明は，スキーマファイルを変更するときに，ＸＭＬデータの中のスキーマファイルの場所を指定する部分を変更する必要がない点が，従来の技術と異なる。
【００１１】
また，本発明のスキーマ管理方法は，システム間で送受信されるＸＭＬで記述されたデータのスキーマファイルを管理する方法であって，スキーマファイルを保存する場所を，スキーマファイルのバージョンごとに分けることを特徴とする。従来の技術とは，データ作成部分を変更していないシステムから送られてきたデータは変更前のスキーマファイルを用いてチェックを行うことができ，データ作成部分を変更したシステムから送られてきたデータは変更後のスキーマファイルを用いてチェックを行うことができる点が異なる。
【００１２】
また，本発明のスキーマ管理方法は，スキーマを格納するスキーマファイルを，構造化データから参照される参照用スキーマファイルと，構造化データのスキーマを記述した実スキーマファイルとに分けて保存し，かつ参照用スキーマファイルを保存する場所を，スキーマファイルのバージョンごとに分け，構造化データはスキーマファイルのバージョンに対応する参照用スキーマファイルを参照し，その参照用スキーマファイルから実スキーマファイルを参照することを特徴とする。従来技術とは，スキーマの変更作業にかかる時間を少なくすることができ，また複数バージョンのスキーマファイルが混在するシステムであっても，適切なバージョンを自動的に選択し，対応できる点が異なる。
【００１３】
なお，以上のようなマークアップ言語データの送受信方法として，システム間でＸＭＬを送受信する場合に，送受信するＸＭＬデータのスキーマのバージョン番号を取得する過程と，スキーマファイルを保存してある場所をＸＭＬデータの中に書き込む過程と，実際にＸＭＬデータを送受信する過程とを有する方法を用いてもよい。この方法を用いれば，データ作成部分を変更していないシステムに送るＸＭＬデータは，変更前のスキーマファイルを用いてスキーマのチェックを行い，データ作成部分を変更したシステムに送るデータは，変更後のスキーマファイルを用いてスキーマのチェックを行うことができる。
【００１４】
【発明の実施の形態】
図１は，本発明の実施形態の一例を示したものである。スキーマファイルは，１つの参照用スキーマファイル２と，複数の実スキーマファイル３に分かれている。ＸＭＬデータ１は，常に参照用スキーマファイル２を参照し，参照用スキーマファイル２は，１つもしくは複数の実スキーマファイル３を参照する。ＸＭＬデータ１から実スキーマファイル３が直接参照されることはない。
【００１５】
図２は，本発明の他の実施形態の一例を示したものである。スキーマファイルが変更された場合，変更前のスキーマファイル６は変更前ディレクトリ５の下に保存され，変更後のスキーマファイル７は変更後ディレクトリ８の下に保存される。変更前ディレクトリ５と変更後ディレクトリ７は，同じスキーマディレクトリ４の下に保存される。スキーマディレクトリ４の下のディレクトリは，３つ以上あってもよい。また，変更前ディレクトリ５および変更後ディレクトリ７を作成せずに，変更前スキーマファイル６および変更後スキーマファイル８のファイル名に，変更前ディレクトリ５および変更後ディレクトリ７の名前を含めてもよい。
【００１６】
図３は，本発明のさらに他の実施形態の一例を示したものであり，図１に示すスキーマ管理方法と図２に示すスキーマ管理方法とを組み合わせたものである。図３において，ＸＭＬデータ１Ａは，変更前実スキーマファイル３１（バージョン番号＝１．０）で規定された構造を持つデータであり，ＸＭＬデータ１Ｂは，変更後実スキーマファイル３２（バージョン番号＝２．０）で規定された構造を持つデータである。
【００１７】
変更前実スキーマファイル３１と，変更後実スキーマファイル３２とは，それぞれ変更前参照用スキーマファイル２１と，変更後参照用スキーマファイル２２とから参照される。
【００１８】
変更前参照用スキーマファイル２１と，変更後参照用スキーマファイル２２とは，それぞれバージョン番号＝１の管理用ディレクトリである変更前ディレクトリ５，バージョン番号＝２の管理用である変更後ディレクトリ７の異なるディレクトリの下に保存され，ファイル名は同一である。変更前実スキーマファイル３１と，変更後実スキーマファイル３２とは，ファイル名が同一である必要はない。
【００１９】
図４は，本発明の実施の形態によるＸＭＬデータ送信方法を示したものである。システム内で前処理を行った後，ＸＭＬデータを送信する際には，まずどのシステムに送信するかを決定し（Ｓ１），次に送信するＸＭＬデータを作成する（Ｓ２）。
【００２０】
その後，送信側のシステムが複数のバージョンのスキーマファイルに対応している場合に，送信先のシステムが対応しているスキーマのバージョンを取得する（Ｓ３）。相手システムのバージョンの取得は，あらかじめ各システムごとのスキーマファイルのバージョン情報が登録されたテーブルを用意し，それを参照することによって取得してもよく，また相手システムに通信によって問い合わせて取得してもよい。なお，送信側のシステムが単一のバージョンしか対応していない場合には，このステップＳ３の処理は省略する。
【００２１】
続いて，ステップＳ３で取得したバージョンをもとに，図３で示される参照用スキーマファイルの位置を書き込む（Ｓ４）。なお，送信側のシステムが単一のバージョンしか対応していない場合には，ステップＳ４ではそのバージョンを書き込む。
【００２２】
次に，スキーマファイルによるＸＭＬデータの構造のチェックを行い（Ｓ５），ＸＭＬデータを送信先システムへ送信する（Ｓ６）。
【００２３】
図５は，本発明の実施の形態によるＸＭＬデータ受信方法を示したものである。ＸＭＬデータが受信されると（Ｓ７），ＸＭＬデータに書かれているスキーマファイル参照部分をもとに，そのＸＭＬデータがどのバージョンのスキーマファイルに基づいて作成されたものであるかを判定する（Ｓ８）。なお，受信側のシステムが対応していないバージョンであった場合には，エラーとなる。
【００２４】
次に，ステップＳ８で判定したスキーマファイルのバージョンに従い，対応するディレクトリにあるスキーマファイルを用いてＸＭＬデータの構造のチェックを行い，次の処理へ進む（Ｓ９）。
【００２５】
例えば，スキーマファイルのバージョンが“００１”であった場合には，“．／ｓｃｈｅｍａ／００１／スキーマファイル名”にあるスキーマを参照し，バージョンが“００２”であった場合には，“．／ｓｃｈｅｍａ／００２／スキーマファイル名”にあるスキーマを参照する。
【００２６】
以上の処理は，コンピュータとソフトウェアプログラムとによって実現することができ，そのプログラムは，コンピュータが読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスク等の適当な記録媒体に格納して，そこから読み出すことによりコンピュータに実行させることができる。また，そのプログラムは通信回線を経由して他のコンピュータからダウンロードすることができ，それをインストールして実行させることもできる。
【００２７】
図６は，本発明のシステム構成例を示す。変更前・変更後対応システム１０と変更前システム１４と変更後システム１５とは，通信サービス提供業務を支援するコンピュータシステムであり，ネットワーク１６を介して接続されている。
【００２８】
変更前・変更後対応システム１０には，変更前スキーマファイル６と変更後スキーマファイル８の両方が，図２に従ってそれぞれ変更前ディレクトリ５と変更後ディレクトリ７に保存されている。変更前システム１４には，変更前スキーマファイル６が保存されており，変更後システム１５には，変更後スキーマファイル８が保存されている。
【００２９】
なお，図３のスキーマファイル構成を採用するシステムでは，図６の変更前スキーマファイル６は，変更前参照用スキーマファイル２１と変更前実スキーマファイル３１に対応し，変更後スキーマファイル８は，変更後参照用スキーマファイル２２と変更前実スキーマファイル３２に対応する。図３の例の場合，変更前システム１４は，変更後ディレクトリ７とその配下のファイルを持たず，変更後システム１５は，変更前ディレクトリ５とその配下のファイルを持たない。
【００３０】
変更前・変更後対応システム１０におけるスキーマファイル特定部１１は，ＸＭＬデータ送受信部１３によってＸＭＬデータを他のシステムとの間で送受信する際に，スキーマのバージョンを取得または判定して，変更前スキーマファイル６を用いるか，変更後スキーマファイル８を用いるかを決定し，スキーマによる構造チェック部１２は，決定された変更前スキーマファイル６または変更後スキーマファイル８を用いて，送受信するＸＭＬデータの構造をチェックする。
【００３１】
変更前・変更後対応システム１０が複数あってもよいし，変更後システム１５からさらに変更が加えられたシステムがあってもよい。
【００３２】
スキーマファイルを変更する際には，変更前・変更後対応システム１０は，図２または図３に示すスキーマディレクトリ４の下に，新たなディレクトリ（再変更後ディレクトリ）を作成し，その下に新たなスキーマファイル（例えばバージョン番号＝３）を保存する。その後，変更前システム１４，変更後システム１５等では，対応できるときにスキーマファイル（参照用スキーマファイルおよび実スキーマファイル）を順次バージョンアップしていく。
【００３３】
変更前スキーマファイル６は，どのシステムでもバージョンアップが完了し，使われなくなったときに必要に応じて削除する。
【００３４】
スキーマファイルのバージョン管理方法について，本発明の実施の形態と従来技術との違いについて，さらに詳しく説明する。
【００３５】
従来技術では，図８（Ｂ）に示すＸＭＬデータ中の▲１▼のように，スキーマファイルを直接参照し，バージョン管理は行なわれていなかった。そのため，１つのシステムで利用するスキーマファイルは１種類であった。したがって，スキーマファイルのバージョンが上がると，そのスキーマファイルを使用している全てのシステムのプログラムを同時にバージョンアップさせる必要があった。しかし，例えばシステムが全国で利用されており，利用時間も異なる場合などには，プログラムを一斉にバージョンアップさせることは困難である。
【００３６】
これに対し，図６に示す本発明の実施の形態に係るシステムでは，スキーマファイルを，以下のような場所に置く。
【００３７】
「．／スキーマディレクトリ／バージョン番号／スキーマファイル名」
そして，通信相手が複数存在するシステムについては，その時点で使われている全てのバージョンのスキーマファイルを保持し，通信相手が１つだけしか存在しないシステムについては，プログラムが対応しているバージョンのスキーマを保持する。図６のシステムでは，変更前・変更後対応システム１０が，変更前システム１４，変更後システム１５と通信を行い，変更前システム１４と変更後システム１５とは，それぞれ変更前・変更後対応システム１０とだけ通信を行うことを前提としている。この条件のもとで，図４および図５で説明した処理を行うことにより，複数バージョンのスキーマファイルが混在するシステムであっても，適切なバージョンを自動的に選択し，処理を行うことができる。
【００３８】
図７に，本実施の形態の実スキーマファイルと参照用スキーマファイルとＸＭＬデータの例を示す。
【００３９】
この例では，図７（Ｂ）の参照用スキーマファイル２のファイル名は，ｈｕｍａｎＰｒｏｘｙ．ｄｔｄであり，「．／ｓｃｈｅｍａ／００１／」のディレクトリのパスに接続されている。図７（Ｃ）のＸＭＬデータ１から▲２▼で示す部分で図７（Ｂ）の参照用スキーマファイル２を参照している。実スキーマファイル３のファイル名はｈｕｍａｎ．ｄｔｄであり，図７（Ｂ）の参照用スキーマファイル２の▲１▼に示す部分で，図７（Ａ）の実スキーマファイル３を参照している。
【００４０】
ＸＭＬデータ１のスキーマファイルの保存場所や構成が変更されたとしても，図７（Ｂ）の▲１▼の部分（場合によっては図７（Ａ）の実スキーマファイル３）を変更するだけでよく，ＸＭＬデータ１やプログラムは変更する必要はない。例えば，実スキーマファイル３のファイル名が変更された場合には，参照用スキーマファイル２のファイル指定部分（図７（Ｂ）の▲１▼の部分）を変更する必要があるが，参照用スキーマファイル２は，１つのスキーマ構造に対して１つだけしか存在しないため，変更する場合でも従来の方法に比べて変更の作業量は軽減される。また，図７（Ｂ）の▲１▼の部分を変更しても，プログラムで指定するのは，ＸＭＬデータ１内の参照用スキーマファイル指定部分（図７（Ｃ）の▲２▼の部分）だけであるため，プログラムの変更は発生しない。
【００４１】
【発明の効果】
以上説明したように，本発明によれば，スキーマファイルを，構造化データから参照される参照用スキーマファイルと，構造化データのスキーマを記述した実スキーマファイルとに分けて保存し，構造化データは参照用スキーマファイルを参照し，参照用スキーマファイルから実スキーマファイルを参照しており，スキーマファイルを変更する際には実スキーマファイルおよび参照用スキーマファイルの参照先のみを変更するので，構造化データの中のスキーマファイルを参照する部分を変更する必要がない。したがって，スキーマファイルの変更にかかる時間を少なくできる。
【００４２】
なお，本発明を適用するシステムにおいて，スキーマファイルを保存する場所を，スキーマファイルのバージョンごとに分けておき，構造化データを送信したシステムのバージョンを判定して構造のチェックを行うようにし，データ作成部分を変更していないシステムとの間で構造化データを送受信する際には，変更前のスキーマファイルを用いてスキーマのチェックを行い，データ作成部分を変更したシステムとの間で構造化データを送受信する際には，変更後のスキーマファイルを用いてスキーマのチェックを行うことができるようにすることにより，従来あった変更時の制約を解消することもできる。
【図面の簡単な説明】
【図１】本発明の実施形態の一例を示した図である。
【図２】本発明の他の実施形態の一例を示した図である。
【図３】本発明のさらに他の実施形態の一例を示した図である。
【図４】本発明の実施の形態によるＸＭＬデータ送信方法を示した図である。
【図５】本発明の実施の形態によるＸＭＬデータ受信方法を示した図である。
【図６】本発明のシステム構成例を示した図である。
【図７】本発明の実施の形態の実スキーマファイルと参照用スキーマファイルとＸＭＬデータの例を示した図である。
【図８】従来のスキーマファイルとＸＭＬデータの例を示した図である。
【符号の説明】
１  ＸＭＬデータ
２  参照用スキーマファイル
３  実スキーマファイル
４  スキーマディレクトリ
５  変更前ディレクトリ
６  変更前スキーマファイル
７  変更後ディレクトリ
８  変更後スキーマファイル
１０  変更前・変更後対応システム
１１  スキーマファイル特定部
１２  スキーマによる構造チェック部
１３  ＸＭＬデータ送受信部
１４  変更前システム
１５  変更後システム
１６  ネットワーク
２１  変更前参照用スキーマファイル
２２  変更後参照用スキーマファイル
３１  変更前実スキーマファイル
３２  変更後実スキーマファイル
【図１】
0003892738.tif 000002
【図２】
0003892738.tif 000003
【図３】
0003892738.tif 000004
【図４】
0003892738.tif 000005
【図５】
0003892738.tif 000006
【図６】
0003892738.tif 000007
【図７】
0003892738.tif 000008
【図８】
0003892738.tif 000009