(57)【要約】【課題】ＸＭＬデータにおける記述構造によらず、ＸＭＬデータとテキストまたはＣＳＶ形式データとの相互変換時におけるＸＭＬデータ構造の正確な復元を可能とする。【解決手段】ＸＭＬデータを格納するデータ取得部１１０と、開始タグを検索し終了タグが検知される階層Ｙまでタグの読取り処理を実行するタグ読取り部１１１と、読み取ったタグに対応させてタグ位置ＩＤを採番し階層ＸからＹに至る経路についてのタグ位置ＩＤ群を格納する位置情報格納部１１２と、階層ＸからＹに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し格納するレコード生成部１１３と、レコードが含むタグ位置ＩＤ毎にＸＭＬデータ構造における階層を生成し階層データを設定しＸＭＬデータを復元する復元処理部１１４と、復元したＸＭＬデータを所定端末に送信するか出力する出力処理部１１５とからＸＭＬデータ構造の復元システム１００を構成する。【選択図】図１
2009122949.tif 000002
【特許請求の範囲】
【請求項１】
ＸＭＬデータとテキストまたはＣＳＶ形式のデータとを相互変換するコンピュータシステムであって、
ネットワーク上の所定端末よりＸＭＬデータを受信し、記憶装置に格納するデータ取得部と、
前記記憶装置よりＸＭＬデータをメモリに読み出して、前記ＸＭＬデータにおける開始タグを検索し、開始タグが検索された階層Ｘから下位階層に向けて、終了タグが検知される階層Ｙまでタグの読取り処理を実行する、タグ読取り部と、
前記階層Ｘから前記階層Ｙまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、前記階層Ｘから階層Ｙに至る経路についてのタグ位置ＩＤ群をメモリに格納する位置情報格納部と、
前記ＸＭＬデータの階層Ｘから階層Ｙまでの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリにおけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘから階層Ｙに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置に格納するレコード生成部と、
ネットワーク上の所定端末または入力インターフェイスからＸＭＬデータ構造の復元指示を受け付けるか、記憶装置にて予め設定されていたＸＭＬデータ構造の復元時期の到来を検知したならば、前記記憶装置より前記レコードをメモリに読み出して、当該レコードが含むタグ位置ＩＤ毎にＸＭＬデータ構造における階層を生成し、生成した各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、開始タグが検索された前記階層Ｘから終了タグが検知された階層Ｙまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元する復元処理部と、
前記メモリにて復元したＸＭＬデータを、ネットワーク上の所定端末に送信するか、出力インターフェイスに出力する、出力処理部と、
を備えることを特徴とするＸＭＬデータ構造の復元システム。
【請求項２】
前記タグ読取り部は、前記階層Ｙの終了タグの読取り処理を実行した後、当該階層Ｙを包含する上位の階層Ａにおいて、前記階層Ｙのものとは別の開始タグを検索し、この開始タグが検索された階層Ａから下位階層に向けて、前記階層Ｙのものとは別の終了タグが検知される階層Ｂまでタグの読取り処理を実行するものであり、
前記位置情報格納部は、前記階層Ａから前記階層Ｂまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、既にタグ位置ＩＤを採番済みの前記所定階層Ｘから前記階層Ａの経路についてのタグ位置ＩＤ群に、前記階層Ａから階層Ｂに至る経路について採番したタグ位置ＩＤ群をマージし、階層Ｘ〜Ａ〜Ｂの経路についてのタグ位置ＩＤ群としてメモリに格納するものであり、
前記レコード生成部は、前記ＸＭＬデータの階層Ｘ〜Ａ〜Ｂの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリにおけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘ〜Ａ〜Ｂに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置に格納するものであり、
前記復元処理部は、前記記憶装置より前記レコードをメモリに読み出して、当該レコードが含むタグ位置ＩＤのうち、前記階層Ａから階層ＢまでのものについてＸＭＬデータ構造における階層を生成し、生成した階層Ａから階層Ｂまでの各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、前記階層Ａから階層Ｂまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元し、このＸＭＬデータを、既に復元済みの前記階層Ｘから階層ＹまでのＸＭＬデータに追記し、前記階層Ｘ〜Ａ〜Ｂの各階層が階層データを含んだ構造をなすＸＭＬデータを復元するものである、
ことを特徴とする請求項１に記載のＸＭＬデータ構造の復元システム。
【請求項３】
前記ＸＭＬデータは、流通ビジネスメッセージ標準に準拠したデータのうち、出荷梱包についてのデータであることを特徴とする請求項１または２に記載のＸＭＬデータ構造の復元システム。
【請求項４】
ＸＭＬデータとテキストまたはＣＳＶ形式のデータとを相互変換するコンピュータが、
ネットワーク上の所定端末よりＸＭＬデータを受信し、記憶装置に格納する処理と、
前記記憶装置よりＸＭＬデータをメモリに読み出して、前記ＸＭＬデータにおける開始タグを検索し、開始タグが検索された階層Ｘから下位階層に向けて、終了タグが検知される階層Ｙまでタグの読取り処理を実行する処理と、
前記階層Ｘから前記階層Ｙまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、前記階層Ｘから階層Ｙに至る経路についてのタグ位置ＩＤ群をメモリに格納する処理と、
前記ＸＭＬデータの階層Ｘから階層Ｙまでの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリにおけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘから階層Ｙに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置に格納する処理と、
ネットワーク上の所定端末または入力インターフェイスからＸＭＬデータ構造の復元指示を受け付けるか、記憶装置にて予め設定されていたＸＭＬデータ構造の復元時期の到来を検知したならば、前記記憶装置より前記レコードをメモリに読み出して、当該レコードが含むタグ位置ＩＤ毎にＸＭＬデータ構造における階層を生成し、生成した各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、開始タグが検索された前記階層Ｘから終了タグが検知された階層Ｙまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元する処理と、
前記メモリにて復元したＸＭＬデータを、ネットワーク上の所定端末に送信するか、出力インターフェイスに出力する処理と、
を実行することを特徴とするＸＭＬデータ構造の復元方法。
【請求項５】
ＸＭＬデータとテキストまたはＣＳＶ形式のデータとを相互変換するコンピュータに、
ネットワーク上の所定端末よりＸＭＬデータを受信し、記憶装置に格納するステップと、
前記記憶装置よりＸＭＬデータをメモリに読み出して、前記ＸＭＬデータにおける開始タグを検索し、開始タグが検索された階層Ｘから下位階層に向けて、終了タグが検知される階層Ｙまでタグの読取り処理を実行するステップと、
前記階層Ｘから前記階層Ｙまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、前記階層Ｘから階層Ｙに至る経路についてのタグ位置ＩＤ群をメモリに格納するステップと、
前記ＸＭＬデータの階層Ｘから階層Ｙまでの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリにおけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘから階層Ｙに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置に格納するステップと、
ネットワーク上の所定端末または入力インターフェイスからＸＭＬデータ構造の復元指示を受け付けるか、記憶装置にて予め設定されていたＸＭＬデータ構造の復元時期の到来を検知したならば、前記記憶装置より前記レコードをメモリに読み出して、当該レコードが含むタグ位置ＩＤ毎にＸＭＬデータ構造における階層を生成し、生成した各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、開始タグが検索された前記階層Ｘから終了タグが検知された階層Ｙまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元するステップと、
前記メモリにて復元したＸＭＬデータを、ネットワーク上の所定端末に送信するか、出力インターフェイスに出力するステップと、
を実行させるＸＭＬデータ構造の復元プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＭＬデータ構造の復元システム、ＸＭＬデータ構造の復元方法、およびＸＭＬデータ構造の復元プログラムに関し、具体的には、流通ビジネスメッセージ標準に準拠したＸＭＬデータとテキストやＣＳＶ形式データとの相互変換における、ＸＭＬデータ構造の復元技術に関する。
【背景技術】
【０００２】
企業間における商取引に関する各種データ（標準的書式に統一）をやりとりするＥＤＩ（Electronic Data Interchange）の仕組みが普及し始めている。この仕組みでは、商品の受発注や見積もり、決済、出入荷などに関わるデータを、あらかじめ定められた形式にしたがって電子化しネットワークを通じて取引企業の端末間で送受信する。こうした中で、流通ビジネスメッセージ標準に準拠したＸＭＬファイルを用いてデータの送受信をする場合、取引相手等の端末から受信した流通ビジネスメッセージをテキスト又はＣＳＶ形式に変換する手段と、変換したテキスト又はＣＳＶ形式から、流通ビジネスメッセージ標準に準拠したＸＭＬファイルの構造に再変換する手段とが提案されている。
【０００３】
例えば、構造を持つデータを受け渡す遠隔メソッド呼出しの処理負荷の軽減とこのＸＭＬパーシングを行うシステム構築での記憶容量の削減とができることを課題とした、データ転送プロトコルを用いたクライアントとサーバとの間のサービス連携システムにおいて、プログラミング言語の構造型データ及び基本型データを、送付先で逆変換可能な高々一段の階層を持つテキスト文書に作成するクライアント非再帰データ表現生成シリアライザと、前記クライアント非再帰データ表現生成シリアライザで作成された高々一段の階層を持つテキスト文書を解釈して、サーバアプリケーション起動に必要な情報を取り出すサーバ非再帰データ表現解釈パーサと、サーバアプリケーションを起動した戻り値である構造型データ及び基本型データを、高々一段の階層でかつクライアント側で逆変換可能なテキスト文書に作成するサーバ非再帰データ表現生成シリアライザと、高々一段の階層を持つテキスト文書を入力して、サーバアプリケーションからの戻り値である構造を持ったパラメータを作成するクライアント非再帰データ表現解釈パーサとを有することにより、クライアントアプリケーションとサーバアプリケーションとの連携を可能とすることを特徴とするサービス連携システム（特許文献１参照）などが提案されている。
【０００４】
また、データ変換後のデータをより柔軟に利用することを可能にしたデータ変換処理装置、変換処理方法およびそのプログラムを提供することを課題とした、レガシーシステムが使用するレガシーデータとＸＭＬデータとをデータ変換処理する際に、前記レガシーシステムが使用するフォーマットをＸＭＬで定義したフォーマット定義ＸＭＬファイルを参照してデータ変換処理を行うデータ変換手段を具備することを特徴とするデータ変換処理装置（特許文献２参照）なども提案されている。
【特許文献１】特開２００４−２６５１６４号公報
【特許文献２】特開２００４−３１８４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、流通ビジネスメッセージ標準で定義されているＸＭＬスキーマには、各項目（タグ）が階層構造で定義されることとなっている。また、このスキーマにおける繰り返し記述は、同一階層で異なる内容のタグが繰返し記述される場合と、上位階層のタグから所定階層のタグまで繰返し記述する場合の２つの構造パターンがある。この２つの構造パターンのそれぞれにおいて繰り返し記述されたタグが前記２パターン間で同じである場合、このＸＭＬデータをテキスト又はＣＳＶ形式に変換すると変換結果が同じになってしまう。つまり、前記どちらの構造パターンで記述されていたＸＭＬデータなのかが不明となる。このため、この変換後のテキスト又はＣＳＶ形式のデータをＸＭＬデータに逆変換するとしても、元のＸＭＬデータと同一構造への復元が保障されない。
【０００６】
そこで、本発明は上記課題を鑑みてなされたものであり、ＸＭＬデータにおける記述構造によらず、ＸＭＬデータとテキストまたはＣＳＶ形式データとの相互変換時におけるＸＭＬデータ構造の正確な復元を可能とする技術の提供を目的とする。
【課題を解決するための手段】
【０００７】
本発明のＸＭＬデータ構造の復元システムは、ＸＭＬデータとテキストまたはＣＳＶ形式のデータとを相互変換するコンピュータシステムであって、ネットワーク上の所定端末よりＸＭＬデータを受信し、記憶装置に格納するデータ取得部と、前記記憶装置よりＸＭＬデータをメモリに読み出して、前記ＸＭＬデータにおける開始タグを検索し、開始タグが検索された階層Ｘから下位階層に向けて、終了タグが検知される階層Ｙまでタグの読取り処理を実行する、タグ読取り部と、前記階層Ｘから前記階層Ｙまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、前記階層Ｘから階層Ｙに至る経路についてのタグ位置ＩＤ群をメモリに格納する位置情報格納部と、前記ＸＭＬデータの階層Ｘから階層Ｙまでの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリにおけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘから階層Ｙに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置に格納するレコード生成部と、ネットワーク上の所定端末または入力インターフェイスからＸＭＬデータ構造の復元指示を受け付けるか、記憶装置にて予め設定されていたＸＭＬデータ構造の復元時期の到来を検知したならば、前記記憶装置より前記レコードをメモリに読み出して、当該レコードが含むタグ位置ＩＤ毎にＸＭＬデータ構造における階層を生成し、生成した各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、開始タグが検索された前記階層Ｘから終了タグが検知された階層Ｙまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元する復元処理部と、前記メモリにて復元したＸＭＬデータを、ネットワーク上の所定端末に送信するか、出力インターフェイスに出力する、出力処理部と、を備えること。
【０００８】
これによれば、所定の端末から受信した、例えば、流通ビジネスメッセージ標準準拠のＸＭＬデータを、ＸＭＬデータ構造についても配慮しつつテキスト又はＣＳＶ形式に変換し保存することができる。そのため、たとえＸＭＬデータ自体を紛失した場合でも、テキスト又はＣＳＶ形式に変換し保存してあるデータから、前記端末から受信した時のデータ構造を備えたＸＭＬデータに復元する事が保障できる。したがって、ＸＭＬデータにおける記述構造によらず、ＸＭＬデータとテキストまたはＣＳＶ形式データとの相互変換時におけるＸＭＬデータ構造の正確な復元が可能なる。
【０００９】
また、前記ＸＭＬデータ構造の復元システムにおいて、前記タグ読取り部は、前記階層Ｙの終了タグの読取り処理を実行した後、当該階層Ｙを包含する上位の階層Ａにおいて、前記階層Ｙのものとは別の開始タグを検索し、この開始タグが検索された階層Ａから下位階層に向けて、前記階層Ｙのものとは別の終了タグが検知される階層Ｂまでタグの読取り処理を実行するものであり、前記位置情報格納部は、前記階層Ａから前記階層Ｂまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、既にタグ位置ＩＤを採番済みの前記所定階層Ｘから前記階層Ａの経路についてのタグ位置ＩＤ群に、前記階層Ａから階層Ｂに至る経路について採番したタグ位置ＩＤ群をマージし、階層Ｘ〜Ａ〜Ｂの経路についてのタグ位置ＩＤ群としてメモリに格納するものであり、前記レコード生成部は、前記ＸＭＬデータの階層Ｘ〜Ａ〜Ｂの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリにおけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘ〜Ａ〜Ｂに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置に格納するものであり、前記復元処理部は、前記記憶装置より前記レコードをメモリに読み出して、当該レコードが含むタグ位置ＩＤのうち、前記階層Ａから階層ＢまでのものについてＸＭＬデータ構造における階層を生成し、生成した階層Ａから階層Ｂまでの各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、前記階層Ａから階層Ｂまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元し、このＸＭＬデータを、既に復元済みの前記階層Ｘから階層ＹまでのＸＭＬデータに追記し、前記階層Ｘ〜Ａ〜Ｂの各階層が階層データを含んだ構造をなすＸＭＬデータを復元するものである、としてもよい。
【００１０】
これによれば、ＸＭＬデータの階層構造が多重化している状況にも対応して、タグ位置の把握および記憶を可能とし、ＸＭＬデータのテキストまたはＣＳＶ形式への変換と、テキストまたはＣＳＶ形式のデータからのＸＭＬデータへの復元が、ＸＭＬデータ構造に沿って正確に実行できる。
【００１１】
また、前記ＸＭＬデータ構造の復元システムにおいて、前記ＸＭＬデータは、流通ビジネスメッセージ標準に準拠したデータのうち、出荷梱包についてのデータであるとしてもよい。
【００１２】
これによれば、ＸＭＬデータとして現在広く取り扱われている流通ビジネスメッセージ標準準拠の出荷梱包データについて、一度テキストまたはＣＳＶ形式へ変換したデータからの正確なＸＭＬデータ構造の復元が困難といった問題点を解消することが可能となる。
【００１３】
また、本発明のＸＭＬデータ構造の復元方法は、ＸＭＬデータとテキストまたはＣＳＶ形式のデータとを相互変換するコンピュータが、ネットワーク上の所定端末よりＸＭＬデータを受信し、記憶装置に格納する処理と、前記記憶装置よりＸＭＬデータをメモリに読み出して、前記ＸＭＬデータにおける開始タグを検索し、開始タグが検索された階層Ｘから下位階層に向けて、終了タグが検知される階層Ｙまでタグの読取り処理を実行する処理と、前記階層Ｘから前記階層Ｙまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、前記階層Ｘから階層Ｙに至る経路についてのタグ位置ＩＤ群をメモリに格納する処理と、前記ＸＭＬデータの階層Ｘから階層Ｙまでの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリにおけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘから階層Ｙに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置に格納する処理と、ネットワーク上の所定端末または入力インターフェイスからＸＭＬデータ構造の復元指示を受け付けるか、記憶装置にて予め設定されていたＸＭＬデータ構造の復元時期の到来を検知したならば、前記記憶装置より前記レコードをメモリに読み出して、当該レコードが含むタグ位置ＩＤ毎にＸＭＬデータ構造における階層を生成し、生成した各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、開始タグが検索された前記階層Ｘから終了タグが検知された階層Ｙまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元する処理と、前記メモリにて復元したＸＭＬデータを、ネットワーク上の所定端末に送信するか、出力インターフェイスに出力する処理と、を実行することを特徴とする。
【００１４】
これによれば、所定の端末から受信した、例えば、流通ビジネスメッセージ標準準拠のＸＭＬデータを、ＸＭＬデータ構造についても配慮しつつテキスト又はＣＳＶ形式に変換し保存することができる。そのため、たとえＸＭＬデータ自体を紛失した場合でも、テキスト又はＣＳＶ形式に変換し保存してあるデータから、前記端末から受信した時のデータ構造を備えたＸＭＬデータに復元する事が保障できる。したがって、ＸＭＬデータにおける記述構造によらず、ＸＭＬデータとテキストまたはＣＳＶ形式データとの相互変換時におけるＸＭＬデータ構造の正確な復元が可能なる。
【００１５】
また、本発明のＸＭＬデータ構造の復元プログラムは、ＸＭＬデータとテキストまたはＣＳＶ形式のデータとを相互変換するコンピュータに、ネットワーク上の所定端末よりＸＭＬデータを受信し、記憶装置に格納するステップと、前記記憶装置よりＸＭＬデータをメモリに読み出して、前記ＸＭＬデータにおける開始タグを検索し、開始タグが検索された階層Ｘから下位階層に向けて、終了タグが検知される階層Ｙまでタグの読取り処理を実行するステップと、前記階層Ｘから前記階層Ｙまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、前記階層Ｘから階層Ｙに至る経路についてのタグ位置ＩＤ群をメモリに格納するステップと、前記ＸＭＬデータの階層Ｘから階層Ｙまでの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリにおけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘから階層Ｙに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置に格納するステップと、ネットワーク上の所定端末または入力インターフェイスからＸＭＬデータ構造の復元指示を受け付けるか、記憶装置にて予め設定されていたＸＭＬデータ構造の復元時期の到来を検知したならば、前記記憶装置より前記レコードをメモリに読み出して、当該レコードが含むタグ位置ＩＤ毎にＸＭＬデータ構造における階層を生成し、生成した各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、開始タグが検索された前記階層Ｘから終了タグが検知された階層Ｙまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元するステップと、前記メモリにて復元したＸＭＬデータを、ネットワーク上の所定端末に送信するか、出力インターフェイスに出力するステップと、を実行させるプログラムである。
【００１６】
これによれば、所定の端末から受信した、例えば、流通ビジネスメッセージ標準準拠のＸＭＬデータを、ＸＭＬデータ構造についても配慮しつつテキスト又はＣＳＶ形式に変換し保存することができる。そのため、たとえＸＭＬデータ自体を紛失した場合でも、テキスト又はＣＳＶ形式に変換し保存してあるデータから、前記端末から受信した時のデータ構造を備えたＸＭＬデータに復元する事が保障できる。したがって、ＸＭＬデータにおける記述構造によらず、ＸＭＬデータとテキストまたはＣＳＶ形式データとの相互変換時におけるＸＭＬデータ構造の正確な復元が可能なる。
【００１７】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００１８】
本発明によれば、ＸＭＬデータにおける記述構造によらず、ＸＭＬデータとテキストまたはＣＳＶ形式データとの相互変換時におけるＸＭＬデータ構造の正確な復元が可能となる。
【発明を実施するための最良の形態】
【００１９】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は本実施形態におけるＸＭＬデータ構造の復元システム１００の構成図である。本実施形態におけるＸＭＬデータ構造の復元システム１００（以下、システム１００）は、ＸＭＬデータとテキストまたはＣＳＶ形式のデータとを相互変換するコンピュータシステムであり、例えば、流通ビジネスメッセージ標準に準拠したＸＭＬデータのやりとりを行う、企業のサーバ装置を想定できる。こうしたサーバ装置は、商取引に関する各種データ、例えば、商品の受発注や見積もり、決済、出入荷などに関わるデータを、あらかじめ定められた形式にしたがって電子化しネットワークを通じて他社の備える他社端末２００との間で送受信するものとなる。
【００２０】
流通ビジネスメッセージ標準に準拠したＸＭＬデータを送受信するには、企業間での相対関係が前提となる。そこで本実施形態では、取引で相対する企業を他社と自社とに分けて示している。例えば、自社においては、本発明のＸＭＬデータ構造の復元システムを実現する送受信サーバ１００の他に、従来から商取引に関するデータ処理を制御していた基幹サーバ１１、担当者からの指示を受け付けて前記送受信サーバに入力する運用端末１２などが含まれると想定できる。また例えば、他社が備える他社端末２００には、送受信サーバ２０（機能として前記送受信サーバ１００と同様）、従来から商取引に関するデータ処理を制御していた基幹システム２１などが含まれると想定できる。なお、こうした構成例は具体的な装置構成をイメージした一例であり、以下の説明では、相対する企業からＸＭＬデータを受信し、このＸＭＬデータとてテキストまたはＣＳＶ形式のデータとを相互変換する装置をシステム１００とし、このシステム１００がテキストまたはＣＳＶ形式のデータから逆変換して生成したＸＭＬデータを送信する先が他社端末２００とする。
【００２１】
勿論、流通ビジネスメッセージ標準準拠のＸＭＬデータは他社端末２００からシステム１００側（前記他社に対して自社のもの）に送られるだけでなく、システム１００から他社端末２００に送られる訳であるから、システム１００としての機能を前記他社端末２００が備えて、自社のシステム１００と他社の他社端末２００とで相互にＸＭＬデータの送受信と本発明のＸＭＬデータ構造の復元方法を実行するとしてもよい。
【００２２】
前記システム１００は、ＸＭＬデータ構造の復元方法を実行する機能を実現すべく不揮発性メモリなどの記憶装置１０１に格納されたプログラム１０２をメモリ１０３に読み出し、演算装置たるＣＰＵ１０４により実行する。また、前記システム１００は、コンピュータ装置が一般に備えている各種ボタン類、キーボードなどの入力インターフェイス１０５や、ＬＥＤやディスプレイなどの出力インターフェイス１０６、ならびに他社の端末との通信を担う通信装置１０７などを有している。
【００２３】
続いて、前記システム１００が例えばプログラム１０２に基づき構成・保持する機能部につき説明を行う。前記システム１００は、ネットワーク１４０上の所定端末たる他社端末２００よりＸＭＬデータを受信し、記憶装置１０１に格納するデータ取得部１１０を備える。
【００２４】
また、前記システム１００は、前記記憶装置１０１よりＸＭＬデータをメモリ１０３に読み出して、前記ＸＭＬデータにおける開始タグを検索し、開始タグが検索された階層Ｘから下位階層に向けて、終了タグが検知される階層Ｙまでタグの読取り処理を実行する、タグ読取り部１１１を備える。
【００２５】
また、前記システム１００は、前記階層Ｘから前記階層Ｙまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、前記階層Ｘから階層Ｙに至る経路についてのタグ位置ＩＤ群をメモリ１０３に格納する位置情報格納部１１２を備える。
【００２６】
また、前記システム１００は、前記ＸＭＬデータの階層Ｘから階層Ｙまでの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリ１０３におけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘから階層Ｙに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置１０１に格納するレコード生成部１１３を備える。
【００２７】
また、前記システム１００は、ネットワーク１４０上の所定端末２００または入力インターフェイス１０５からＸＭＬデータ構造の復元指示を受け付けるか、記憶装置１０１にて予め設定されていたＸＭＬデータ構造の復元時期の到来を検知したならば、前記記憶装置１０１より前記レコードをメモリ１０３に読み出して、当該レコードが含むタグ位置ＩＤ毎にＸＭＬデータ構造における階層を生成し、生成した各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、開始タグが検索された前記階層Ｘから終了タグが検知された階層Ｙまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元する復元処理部１１４を備える。
【００２８】
また、前記システム１００は、前記メモリ１０３にて復元したＸＭＬデータを、ネットワーク１４０上の所定端末２００に送信するか、出力インターフェイス１０６に出力する、出力処理部１１５を備える。
【００２９】
なお、前記タグ読取り部１１１は、前記階層Ｙの終了タグの読取り処理を実行した後、当該階層Ｙを包含する上位の階層Ａにおいて、前記階層Ｙのものとは別の開始タグを検索し、この開始タグが検索された階層Ａから下位階層に向けて、前記階層Ｙのものとは別の終了タグが検知される階層Ｂまでタグの読取り処理を実行するものである、としてもよい。この場合、前記位置情報格納部１１２は、前記階層Ａから前記階層Ｂまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、既にタグ位置ＩＤを採番済みの前記所定階層Ｘから前記階層Ａの経路についてのタグ位置ＩＤ群に、前記階層Ａから階層Ｂに至る経路について採番したタグ位置ＩＤ群をマージし、階層Ｘ〜Ａ〜Ｂの経路についてのタグ位置ＩＤ群としてメモリ１０３に格納するものとなる。また、前記レコード生成部１１３は、前記ＸＭＬデータの階層Ｘ〜Ａ〜Ｂの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリ１０３におけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘ〜Ａ〜Ｂに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置１０１に格納するものとなる。また、前記復元処理部１１４は、前記記憶装置１０１より前記レコードをメモリ１０３に読み出して、当該レコードが含むタグ位置ＩＤのうち、前記階層Ａから階層ＢまでのものについてＸＭＬデータ構造における階層を生成し、生成した階層Ａから階層Ｂまでの各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、前記階層Ａから階層Ｂまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元し、このＸＭＬデータを、既に復元済みの前記階層Ｘから階層ＹまでのＸＭＬデータに追記し、前記階層Ｘ〜Ａ〜Ｂの各階層が階層データを含んだ構造をなすＸＭＬデータを復元するものとなる。
【００３０】
また、前記システム１００において、前記ＸＭＬデータは、流通ビジネスメッセージ標準に準拠したデータのうち、出荷梱包についてのデータであるとしてもよい。
【００３１】
なお、これまで示した前記システム１００における各機能部１１０〜１１５は、ハードウェアとして実現してもよいし、メモリやＨＤＤ（Hard Disk Drive）などの適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、システム１００のＣＰＵがプログラム実行に合わせて記憶装置より該当プログラムをメモリに読み出して、これを実行することとなる。
【００３２】
−−−全体フロー例１−−−
以下、本実施形態におけるＸＭＬデータ構造の復元方法の実際手順について、図に基づき説明する。なお、以下で説明するＸＭＬデータ構造の復元方法に対応する各種動作は、前記システム１００がメモリに読み出して実行するプログラムによって実現される。そしてこのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００３３】
図２は、本実施形態の全体シーケンス例１である。ここで、前記システム１００のデータ取得部１１０は、ネットワーク１４０上の他社端末２００よりＸＭＬデータを受信し、記憶装置１０１に格納する（ｓ１００）。
【００３４】
また、前記システム１００のタグ読取り部１１１は、前記記憶装置１０１よりＸＭＬデータをメモリ１０３に読み出して、前記ＸＭＬデータにおける開始タグを検索し、開始タグが検索された階層Ｘから下位階層に向けて、終了タグが検知される階層Ｙまでタグの読取り処理を実行する（ｓ１０１）。
【００３５】
次に、前記システム１００の位置情報格納部１１２は、前記階層Ｘから前記階層Ｙまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、前記階層Ｘから階層Ｙに至る経路についてのタグ位置ＩＤ群をメモリ１０３に格納する（ｓ１０２）。
【００３６】
また、前記システム１００のレコード生成部１１３は、前記ＸＭＬデータの階層Ｘから階層Ｙまでの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリ１０３におけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘから階層Ｙに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置１０１に格納する（ｓ１０３）。
【００３７】
また、その後、前記システム１００の復元処理部１１４は、ネットワーク１４０上の他社端末２００または入力インターフェイス１０５からＸＭＬデータ構造の復元指示を受け付けるか、記憶装置１０１にて予め設定されていたＸＭＬデータ構造の復元時期の到来を検知したならば、前記記憶装置１０１より前記レコードをメモリ１０３に読み出して、当該レコードが含むタグ位置ＩＤ毎にＸＭＬデータ構造における階層を生成し、生成した各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、開始タグが検索された前記階層Ｘから終了タグが検知された階層Ｙまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元する（ｓ１０４）。
【００３８】
また、前記システム１００の出力処理部１１５は、前記メモリ１０３にて復元したＸＭＬデータを、ネットワーク１４０上の他社端末２００に送信するか、出力インターフェイス１０６に出力する（ｓ１０５）。
【００３９】
−−−全体フロー例２−−−
図３は、本実施形態の全体シーケンス例２である。次に、前記タグ読取り部１１１が、前記階層Ｙの終了タグの読取り処理を実行した後、当該階層Ｙを包含する上位の階層Ａにおいて、前記階層Ｙのものとは別の開始タグを検索した場合の処理について説明する。この場合、前記タグ読取り部１１１は、前記階層Ｙの終了タグの読取り処理を実行した後、当該階層Ｙを包含する上位の階層Ａにおいて、前記階層Ｙのものとは別の開始タグを検索し、この開始タグが検索された階層Ａから下位階層に向けて、前記階層Ｙのものとは別の終了タグが検知される階層Ｂまでタグの読取り処理を実行する（ｓ２００）。
【００４０】
また前記位置情報格納部１１２は、前記階層Ａから前記階層Ｂまでの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、既にタグ位置ＩＤを採番済みの前記所定階層Ｘから前記階層Ａの経路についてのタグ位置ＩＤ群に、前記階層Ａから階層Ｂに至る経路について採番したタグ位置ＩＤ群をマージし、階層Ｘ〜Ａ〜Ｂの経路についてのタグ位置ＩＤ群としてメモリ１０３に格納する（ｓ２０１）。
【００４１】
次に、前記レコード生成部１１３は、前記ＸＭＬデータの階層Ｘ〜Ａ〜Ｂの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリ１０３におけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘ〜Ａ〜Ｂに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置１０１に格納する（ｓ２０２）。  またその後、前記復元処理部１１４は、前記記憶装置１０１より前記レコードをメモリ１０３に読み出して、当該レコードが含むタグ位置ＩＤのうち、前記階層Ａから階層ＢまでのものについてＸＭＬデータ構造における階層を生成し、生成した階層Ａから階層Ｂまでの各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し、前記階層Ａから階層Ｂまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元し、このＸＭＬデータを、既に復元済みの前記階層Ｘから階層ＹまでのＸＭＬデータに追記し、前記階層Ｘ〜Ａ〜Ｂの各階層が階層データを含んだ構造をなすＸＭＬデータを復元する（ｓ２０３）。
【００４２】
−−−ＸＭＬデータおよびテキストまたはＣＳＶ形式データの構造例−−−
次に、ＸＭＬデータおよびＸＭＬデータを変換したテキストまたはＣＳＶ形式データのの構造例について説明する。図４は流通ビジネスメッセージ標準で定義されているＸＭＬデータの構造例を示している。この例のＸＭＬデータ４０は、発注、受領、返品、支払、請求、出荷伝票、出荷梱包といったデータ種の内、出荷梱包のＸＭＬデータ構造を示す。本ＸＭＬデータ構造は、最上位階層（階層１）をＳＢＤＨ（Standard Business Document Header）として定義しており、そのＳＢＤＨ内に内包される形で出荷梱包ファイルヘッダ（ListOfPackageShipments：階層２）を定義している。同様に、前記階層２に内包されているのが出荷梱包発注元情報（PackageShipmentByReciever：階層３）となり、出荷梱包情報（PackageInfo：階層４）および出荷梱包明細情報（ItemInfo:階層５）もそれぞれ１段階上位の階層に内包されている。
【００４３】
また図５に、本実施形態におけるテキストまたはＣＳＶファイルの構造例を示している。ここで示すテキストまたはＣＳＶファイル５０は、本発明のＸＭＬデータ構造の復元方法によりＸＭＬデータ４０を変換して生成したものであり、ＸＭＬデータ構造中におけるタグ位置情報たるタグ位置ＩＤを取入れたテキストまたはＣＳＶファイルの構造体（出荷梱包）となっている。このＣＳＶファイル５０の構造は、図４において階層的に表したＸＭＬデータ４０の構造を２次元の表形式で表しており、ＸＭＬデータ４０の各階層毎にタグ位置ＩＤを取入れた構造となる。
【００４４】
−−−変換処理例１−−−
次に、ＸＭＬデータからのテキストまたはＣＳＶ形式データへの変換処理について詳細を説明する。図６は、本実施形態のＸＭＬデータ構造の復元方法の処理手順例１を示すフローチャートである。まずこの説明での前提として、他社端末２００がネットワーク１４０経由で送信した流通ビジネスメッセージ標準準拠のＸＭＬデータを、システム１００のデータ取得部１１０が受信し、記憶装置１０１等に格納する（ｓ３００）。
【００４５】
次に、前記システム１００のタグ読取り部１１１は、記憶装置１０１に格納したＸＭＬデータが、例えば、メッセージ種情報２０８（図４参照）のエリアに引数を含むか判定する（ｓ３０１）。
【００４６】
前記タグ読取り部１１１は、前記判定処理にて引数がＸＭＬデータ中に存在すると判明した場合は（ｓ３０１：Ｙｅｓ）、メモリ１０３上に該当引数を待避する（ｓ３０２）。他方、記判定処理にて引数がＸＭＬデータに存在しないと判明した場合は（ｓ３０１：Ｎｏ）、本フローを終了する。
【００４７】
前記ステップｓ３０２に続いて前記タグ読取り部１１１は、前記ステップｓ３０２でメモリ１０３上に待避した引数と、記憶装置１０１にて予め備えている引数一覧で定義している引数とが一致するか判定する（ｓ３０３）。引数一覧としては、発注：order、受領：RecievingNotification、・・・全て：ALL、などが想定できる。一例として、ＸＭＬデータとテキストまたはＣＳＶ形式データとの相互変換時に、ＸＭＬデータ構造の復元が従来は困難であった「出荷梱包」に関する引数のみを前記引数一覧に定義しておき、この出荷梱包に関するＸＭＬデータの存在をシステム１００が検知することを想定する。
【００４８】
前記タグ読取り部１１１は、前記ステップｓ３０３でメモリ１０３上に待避した引数と前記引数一覧で設定された引数とが一致した場合（ｓ３０３：Ｙｅｓ）、該当ＸＭＬデータに関して図４の例で示した最上位階層（SBDH）から下位の階層に向けて順次開始タグを検索し、開始タグが検索された階層Ｘ（図４の場合だと階層１）から下位階層に向けて、終了タグが検知される階層Ｙ（図４の場合だと階層５）までタグの読取り処理を実行する（ｓ３０４）。なお、メモリ１０３上に待避した引数と前記引数一覧で設定された引数とが一致しなかった場合（ｓ３０３：Ｎｏ）、本フローを終了する。
【００４９】
続いて前記システム１００の位置情報格納部１１２は、前記階層Ｘたる階層１から前記階層Ｙたる階層５までの各階層で読み取ったタグに対応させて、各タグを一意に特定するタグ位置ＩＤを採番し、前記階層Ｘから階層Ｙに至る経路についてのタグ位置ＩＤ群をメモリ１０３に格納する（ｓ３０５）。
【００５０】
そして、前記システム１００のレコード生成部１１３は、前記ＸＭＬデータの階層Ｘから階層Ｙまでの各階層で記述されている階層データをＸＭＬデータから読取り、各階層のＸＭＬデータを、前記メモリ１０３におけるタグ位置ＩＤ群が含む各階層のタグ位置ＩＤに対応付けし、前記階層Ｘから階層Ｙに至る経路についてタグ位置ＩＤと階層データとが対応付けされたレコードを生成し、テキストまたはＣＳＶ形式のデータとして記憶装置１０１に格納する（ｓ３０６）。なお、前記レコードにおけるタグ位置ＩＤ群の設定先としては、図５に示したＣＳＶファイル５０におけるタグ位置ＩＤ欄２９７〜３０１となる。
【００５１】
ここで、前記タグ位置ＩＤの採番やレコードへの設定処理の詳細について説明しておく。ここでの説明に際して採用するＸＭＬデータとしては図８に示すＸＭＬデータ４１を想定する。また、このＸＭＬデータ４１を変換して得られるＣＳＶファイル（またはテキスト）としては図１０に示すＣＳＶファイル５１を想定する。
【００５２】
例えば図８のＸＭＬデータ４１のように、階層５（開始タグ２１７、２１９、２２１）のレベルで繰返しデータが記述されている場合、前記タグ読取り部１１１は、階層１の開始タグ２１３を検知して読込み、階層１における階層データ２８２（データ“ＡＡＡ”）をメモリ１０３に待避させる。そして、次の開始タグである階層２の開始タグ２１４を読込むと、これに応じてメモリカウンター（システム１００が備えてタグ読取り部１１１が制御するものであり、初期値：０００）に１を加算して“００１”を採番する。
【００５３】
前記レコード生成部１１３は、前記タグ読取り部１１１が採番した“００１”のデータをタグ位置ＩＤとして、ＣＳＶファイル５１（図１０）における１レコード目の階層１のタグ位置ＩＤ欄２４３にセットする。また、タグ位置ＩＤのセット後、メモリ１０３に待避させた階層１における階層データ２８２（“ＡＡＡ”）を前記ＣＳＶファイル５１における１レコード目の階層１のデータ欄２４４にセットする。そして、階層２以降、階層４まで、階層１で先に示した内容と同様の処理を実施し、ＣＳＶファイル５１における１レコード目の階層２、階層３、階層４それぞれのタグ位置ＩＤ欄２４５、２４７、２４９に、それぞれタグ位置ＩＤ“００２”、“００３”、“００４”、をセットする。また、データ欄２４６、２４８、２５０に、それぞれ階層データ“ＢＢＢ”、“ＣＣＣ”、“ＤＤＤ”をセットする。
【００５４】
階層５についても同様に、前記タグ読取り部１１１は、階層５の最初の開始タグ２１７を検知し、階層５における階層データ２８６（“ＥＥＥ”）をメモリ１０３に待避させる。そして、次に検知できる開始タグが階層５の終了タグ２１８となるので、階層４までについて加算されていた前記メモリカウンタ（この時点で“００４”）に１を加算してタグ位置ＩＤ“００５”を採番する。
【００５５】
そしてレコード生成部１１３は、前記タグ位置ＩＤ“００５”をＣＳＶファイル５１における１レコード目の階層５のタグ位置ＩＤ欄２５１にセットする。このタグ位置ＩＤ“００５”のセット後、メモリ１０３に待避させた階層５における階層データ２８６（“ＥＥＥ”）をＣＳＶファイル５１における１レコード目の階層５のデータ欄２５２にセットする。
【００５６】
次に、前記タグ読取り部１１１は、階層４の終了タグ２２３を読込む前に、階層５における他の開始タグ２１９を検知する。また、この開始タグ２１９に対応した階層５の階層データ２８７（“ＦＦＦ”）をメモリ１０３に待避させ、メモリカウンター（この時点で“００５”）に１を加算してタグ位置ＩＤ“００６”を採番する。
【００５７】
前記レコード生成部１１３は、前記ＣＳＶファイル５１において新たなレコード（２レコード目となる）を生成し、前記タグ位置ＩＤ“００６”をこの２レコード目の階層５のタグ位置ＩＤ欄２６１にセットする。このタグ位置ＩＤのセット後、メモリ１０３に待避させていた階層５における階層データ２８７（“ＦＦＦ”）を、前記２レコード目の階層５のデータ欄２６２にセットする。
【００５８】
なお、前記レコード生成部１１３は、前記２レコード目を生成する際、２レコード目の階層１、階層２、階層３、階層４それぞれのタグ位置ＩＤ欄２５３、２５５、２５７、２５９には、前記１レコード目の階層１、階層２、階層３、階層４のそれぞれのタグ位置ＩＤ“００１”、“００２”、“００３”、“００４”、をセットする。また、２レコード目のデータ欄２５４、２５６、２５８、２６０には、前記１レコード目の階層データ“ＡＡＡ”、“ＢＢＢ”、“ＣＣＣ”、“ＤＤＤ”、をセットする。
【００５９】
こうして、前記ＸＭＬデータ４１について、ＸＭＬデータ構造の情報を取り込んだＣＳＶファイル５１が生成されることとなる。
【００６０】
−−−変換処理例２−−−
また、図９に示すＸＭＬデータ４２のように、開始タグ２３０と終了タグ２３３で区切られた階層４（階層データ２９２と１つの階層５を含むもの）と、同じく階層４あって、開始タグ２３４と終了タグ２３９で区切られた他の階層４（階層データ２９４と２つの階層５を含むもの）とを含むＸＭＬデータについて、前記タグ位置ＩＤの採番やレコードへの設定処理の詳細について説明しておく。
【００６１】
この場合まず、前記タグ読取り部１１１は、階層１の開始タグ２２７を検知して読込み、階層１における階層データ２８９（“ＡＡＡ”）をメモリ１０３に待避させる。そして、次の開始タグである階層２の開始タグ２２８を検知して読込んで、前記メモリカウンター（初期値：０００）に１を加算してタグ位置ＩＤ“００１”を採番する。
【００６２】
また、前記レコード生成部１１３は、前記タグ位置ＩＤ“００１”を、図１１に示すＣＳＶファイル５２における１レコード目の階層１のタグ位置ＩＤ欄２６３にセットする。レコード生成部１１３は、このタグ位置ＩＤのセット後、メモリ１０３に待避させていた階層１における階層データ“ＡＡＡ”を前記ＣＳＶファイル５２における１レコード目の階層１のデータ欄２６４にセットする。
【００６３】
前記レコード生成部１１３は、階層２以降、階層４まで前記階層１について示した処理内容と同様の処理を実施し、前記ＣＳＶファイル５２における１レコード目の階層２、階層３、階層４それぞれの、タグ位置ＩＤ欄２６５、２６７、２６９に、タグ位置ＩＤ“００２”、“００３”、“００４”をセットする。また、前記ＣＳＶファイル５２における１レコード目の階層２、階層３、階層４それぞれのデータ欄２６６、２６８、２７０に、階層データ“ＢＢＢ”、“ＣＣＣ”、“ＤＤＤ”をセットする。
【００６４】
前記タグ読取り部１１１は、階層５についても上記と同様に、前記階層４の開始タグ２３０の読み込み後に、階層５の開始タグ２３１を検知して読込み、前記階層５における階層データ２９３（“ＦＦＦ”）をメモリ１０３に待避させる。また、次に読み込むタグが階層５の終了タグ２３２となるので、階層４までについて加算されていたメモリカウンタ（“００４”）に１を加算してタグ位置ＩＤ“００５”を採番する。
【００６５】
前記レコード生成部１１３は、前記タグ位置ＩＤ“００５”を、前記ＣＳＶファイル５２における１レコード目の階層５のタグ位置ＩＤ欄２７１にセットする。また、タグ位置ＩＤのセット後、メモリ１０３に待避していた階層５の階層データ“ＦＦＦ”を、ＣＳＶファイル５２の１レコード目の階層５のデータ欄２７２にセットする。
【００６６】
前記タグ読取り部１１１は、前記階層４の終了タグ２３３を読込んだ後に、階層３の終了タグ２４０を読み込む前に、別の階層４の開始タグ２３４を新たに検知して読込むこととなる。その為、この新たな階層４における階層データ２９４（“ＧＧＧ”）をメモリ１０３に待避させる。また、前記メモリカウンタ（この時点で“００５”）に１を加算してタグ位置ＩＤ“００６”を採番する。
【００６７】
その後、レコード生成部１１３は、前記ＣＳＶファイル５２における２レコード目を生成し、この２レコード目の階層４のタグ位置ＩＤ欄２７９に前記タグ位置ＩＤ“００６”をセットする。そして、前記タグ位置ＩＤ“００６”のセット後、メモリ１０３に待避させていた前記階層４の階層データ“ＧＧＧ”を、前記ＣＳＶファイル５２における２レコード目の階層４のデータ欄２８０にセットする。
【００６８】
なお、前記レコード生成部１１３が前記階層４の２レコード目をセットする際、２レコード目の階層１、階層２、階層３それぞれの、タグ位置ＩＤ欄２７３、２７５、２７７には、１レコード目の階層１、階層２、階層３それぞれのタグ位置ＩＤ“００１”、“００２”、“００３”をそれぞれセットする。また前記２レコード目の階層１、階層２、階層３それぞれの、データ欄２７４、２７６、２７８には、１レコード目の階層１、階層２、階層３それぞれの、階層データ“ＡＡＡ”、“ＢＢＢ”、“ＣＣＣ”、をセットする。
【００６９】
前記タグ読取り部１１１は、前記階層４の階層データ２９４を読み込んだ後、新たな階層５の開始タグ２３５を検知して読込むこととなる。そこで、この階層５の階層データ２９５（“ＨＨＨ”）をメモリ１０３に待避させる。また、次に読み込むタグが階層５の終了タグ２３６となるので、前記２レコード目の階層４についてまで加算されていたメモリカウンタ（この時点で“００６”）に１を加算してタグ位置ＩＤ“００７”を採番する。
【００７０】
そしてレコード生成部１１３は、ＣＳＶファイル５２における１レコード目の階層５のタグ位置ＩＤ欄２８１に、前記タグ位置ＩＤ“００７”をセットする。このタグ位置ＩＤのセット後、メモリ１０３に待避させていた階層５の階層データ“ＨＨＨ”を、ＣＳＶファイル５２における２レコード目の階層５のデータ欄２８２にセットする。
【００７１】
前記タグ読取り部１１１は、前記階層５の終了タグ２３６を読込んだ後に、階層４の終了タグ２３９を読み込む前に、別の階層５の開始タグ２３７を新たに検知して読込むこととなる。その為、この新たな階層５における階層データ２９６（“ＩＩＩ”）をメモリ１０３に待避させる。また、前記メモリカウンタ（この時点で“００７”）に１を加算してタグ位置ＩＤ“００８”を採番する。
【００７２】
その後、レコード生成部１１３は、前記ＣＳＶファイル５２における３レコード目を生成し、この３レコード目の階層５のタグ位置ＩＤ欄２９１に前記タグ位置ＩＤ“００８”をセットする。そして、前記タグ位置ＩＤ“００８”のセット後、メモリ１０３に待避させていた前記階層５の階層データ“ＩＩＩ”を、前記ＣＳＶファイル５２における３レコード目の階層５のデータ欄２９２にセットする。
【００７３】
なお、前記レコード生成部１１３が前記階層５の３レコード目をセットする際、３レコード目の階層１、階層２、階層３それぞれの、タグ位置ＩＤ欄２８３、２８５、２８７、２８９には、２レコード目の階層１、階層２、階層３、階層４それぞれのタグ位置ＩＤ“００１”、“００２”、“００３”、“００６”をそれぞれセットする。また前記３レコード目の階層１、階層２、階層３それぞれの、データ欄２８４、２８６、２８８、２９０には、２レコード目の階層１、階層２、階層３それぞれの、階層データ“ＡＡＡ”、“ＢＢＢ”、“ＣＣＣ”、“ＤＤＤ”、をセットする。
【００７４】
こうして、前記ＸＭＬデータ４２について、ＸＭＬデータ構造の情報を取り込んだＣＳＶファイル５２が生成されることとなる。
【００７５】
−−−逆変換処理について−−−
次に、ＸＭＬデータから生成したＣＳＶファイルを逆変換して元のＸＭＬデータを復元する処理について説明する。図７は、本実施形態のＸＭＬデータ構造の復元方法の処理手順例２を示す図である。ここで、前記システム１００の復元処理部１１４は、ネットワーク１４０上の他社端末２００または入力インターフェイス１０５からＸＭＬデータ構造の復元指示を受け付けるか、記憶装置１０１にて予め設定されていたＸＭＬデータ構造の復元時期の到来を検知（例：コンピュータが備えるクロック機能やカレンダ機能で所定日時到来を検知）したならば（ｓ４００）、復元指示を受けたＸＭＬデータないしは復元時期が到来したＸＭＬデータについて生成されているテキストまたはＣＳＶファイルを、記憶装置１０１よりメモリ１０３に読み出す（ｓ４０１）。勿論、ＸＭＬデータとこれに基づいて生成したテキストまたはＣＳＶファイルとは、記憶装置１０１にて対照表が予め生成されている。
【００７６】
また、前記復元処理部１１４は、前記テキストまたはＣＳＶファイルを構成する前記レコードを１つずつ読込み、メモリ１０３に待避させる（ｓ４０２）。そして、前記レコードが含むタグ位置ＩＤ間で重複を判定し、重複無いタグ位置ＩＤ毎にＸＭＬデータ構造における階層を生成する（ｓ４０３）。また、生成した各階層に対し、該当タグ位置ＩＤに対応する階層データを前記レコードより抽出して設定し（ｓ４０４）、開始タグが検索された階層Ｘから終了タグが検知された階層Ｙまでの各階層が階層データを含んだ構造をなすＸＭＬデータを復元する（ｓ４０５）。
【００７７】
そして前記システム１００の出力処理部１１５は、前記メモリ１０３にて復元したＸＭＬデータを、ネットワーク上の他社端末２００に送信するか、出力インターフェイス１０６に出力し、処理を終了する。
【００７８】
続いて、前記レコードからのタグ位置ＩＤの取込やＣＳＶファイル生成の処理詳細について説明する。なお、この説明においては、逆変換対象のＣＳＶファイルとして図１２に示すＣＳＶファイル６０を想定し、逆変換により復元されたＸＭＬデータとして図１３に示すＸＭＬデータ７０を想定するものとする。例えば、図１２に示すように、ＣＳＶファイル６０が２つのレコードを含むものである場合、前記復元処理部１１４は、まず１レコード目を読込み、階層１、階層２、階層３、階層４、階層５それぞれの、タグ位置ＩＤ欄３０５、３０６、３０７、３０８、３０９におけるタグ位置ＩＤ“００１”、“００２”、“００３”、“００４”、“００５”、をメモリ１０３に待避させる。また同様に、前記１レコード目が含む、階層データを各階層１〜５毎に、“ＡＡＡ”、“ＢＢＢ”、“ＣＣＣ”、“ＤＤＤ”、“ＥＥＥ”、と読み出してメモリ１０３に退避させる。そして、メモリ１０３に退避させていた、各タグ位置ＩＤ毎に階層を生成し、この階層に対応する階層データを設定してＸＭＬデータ３５０に生成する。
【００７９】
次に、復元処理部１１４は、前記ＣＳＶファイル６０の２レコード目を読込み、１レコード目と同様、階層１、階層２、階層３、階層４それぞれの、タグ位置ＩＤ３１０、３１１、３１２、３１３、３１４として、“００１”、“００２”、“００６”、“００７”、“００８”、を読み取る。そしてこのタグ位置ＩＤのデータをメモリ１０３に待避させる（前記メモリ１０３において１レコード目の記憶領域とは別の記憶領域に退避）。
【００８０】
また、復元処理部１１４は、１レコード目で待避させた各階層のタグ位置ＩＤ群３１５のタグ位置ＩＤそれぞれと、２レコード目で待避させた各階層のタグ位置ＩＤ群３１６のタグ位置ＩＤそれぞれとで比較し、異なる階層のタグ位置ＩＤ３１７が存在した場合は、この異なる階層から新たにタグ（図中の囲み３１８）を生成する。生成されたＸＭＬデータ３６０は、前記出力処理部１１５が他社端末２００に送信し、処理を終了する。
【００８１】
こうして、ＣＳＶファイル等から、正確なデータ構造を再現しつつＸＭＬデータを復元することができる。
【００８２】
本実施形態によれば、所定の端末から受信した、例えば、流通ビジネスメッセージ標準準拠のＸＭＬデータを、ＸＭＬデータ構造についても配慮しつつテキスト又はＣＳＶ形式に変換し保存することができる。そのため、たとえＸＭＬデータ自体を紛失した場合でも、テキスト又はＣＳＶ形式に変換し保存してあるデータから、前記端末から受信した時のデータ構造を備えたＸＭＬデータに復元する事が保障できる。
【００８３】
したがって、ＸＭＬデータにおける記述構造によらず、ＸＭＬデータとテキストまたはＣＳＶ形式データとの相互変換時におけるＸＭＬデータ構造の正確な復元を可能となる。
【００８４】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【００８５】
【図１】本実施形態におけるＸＭＬデータ構造の復元システムの全体構成図である。
【図２】本実施形態の全体シーケンス例１を示す図である。
【図３】本実施形態の全体シーケンス例２を示す図である。
【図４】本実施形態におけるＸＭＬデータ構造の例１を示す図である。
【図５】本実施形態におけるテキストまたはＣＳＶファイルの構造例を示す図である。
【図６】本実施形態のＸＭＬデータ構造の復元方法の処理手順例１を示すフローチャートである。
【図７】本実施形態のＸＭＬデータ構造の復元方法の処理手順例２を示す図である。
【図８】本実施形態におけるＸＭＬデータ構造の例２を示す図である。
【図９】本実施形態におけるＸＭＬデータ構造の例３を示す図である。
【図１０】本実施形態の変換後のテキストまたはＣＳＶファイルの構造例１を示す図である。
【図１１】本実施形態の変換後のテキストまたはＣＳＶファイルの構造例２を示す図である。
【図１２】本実施形態の逆変換処理対象のテキストまたはＣＳＶファイルの構造例を示す図である。
【図１３】本実施形態の逆変換処理により生成したＸＭＬデータ構造例１を示す図である。
【図１４】本実施形態の逆変換処理により生成したＸＭＬデータ構造例２を示す図である。
【符号の説明】
【００８６】
１００  ＸＭＬデータ構造の復元システム
１０１  記憶装置
１０２  プログラム
１０３  メモリ
１０４  ＣＰＵ
１０５  入力インターフェイス
１０６  出力インターフェイス
１０７  通信装置
１１０  データ取得部
１１１  タグ読取り部
１１２  位置情報格納部
１１３  レコード生成部
１１４  復元処理部
１１５  出力処理部
２００  他社端末
【図１】
2009122949.tif 000003
【図２】
2009122949.tif 000004
【図３】
2009122949.tif 000005
【図４】
2009122949.tif 000006
【図５】
2009122949.tif 000007
【図６】
2009122949.tif 000008
【図７】
2009122949.tif 000009
【図８】
2009122949.tif 000010
【図９】
2009122949.tif 000011
【図１０】
2009122949.tif 000012
【図１１】
2009122949.tif 000013
【図１２】
2009122949.tif 000014
【図１３】
2009122949.tif 000015
【図１４】
2009122949.tif 000016