(57)【特許請求の範囲】
【請求項１】
対応するスキーマを有するＸＭＬ文書を処理するための圧縮段階と解凍段階とを備えた方法であって、
前記圧縮段階が、
ＸＭＬ文書の構造内容とデータ内容を抽出するステップと、
前記構造内容におけるノードのパスコード、及び、記憶しておいた前記ノードの先行順に基づいて前記ノードに対応するデータ内容を確定するステップと、
確定された前記ノードのパスコードと確定された前記データ内容をそれぞれ圧縮し、前記圧縮の間に文書構造情報を生成するステップと、
生成された前記文書構造情報を圧縮するステップとを備えており、
前記ノードのパスコードが、前記構造内容における前記ノードの記憶位置を示すためのものであって、前記文書構造情報が、前記ノードの先行順と確定された前記データ内容の先行順を含み、
前記解凍段階が、
圧縮された前記ノードのパスコードと圧縮された文書構造情報を取得するステップと、
前記圧縮された前記ノードのパスコードを解凍して解凍されたパスコードに対応するノードを取得するステップと、
前記圧縮された文書構造情報を解凍するステップとを備えており、
解凍された前記ノードのパスコードと一致するパスコードに対応するデータ内容の先行順の系列長がゼロではない場合には、前記解凍されたノードの前記先行順より大きく、かつ、パスにおける次のノードの先行順より小さい先行順に対応するデータ内容を、前記解凍されたノードに対応するデータ内容であると確定するステップをさらに含むことを特徴とする方法。
【請求項２】
前記構造内容におけるノードのパスコードを確定するステップにおいては、
前記構造内容における前記ノードに対応する実際のパスに含まれる各ノードを対応するノードコードに置き換えて、置き換えられた後に取得されたパスを前記構造内容における前記ノードのパスコードとし、
前記ノードの実際のパスが、前記構造内容における前記ノードの実際の記憶パスを示すことを特徴とする請求項１に記載の方法。
【請求項３】
入力された照会パスをパスコードに変換するステップと、
圧縮されたＸＭＬ文書において変換されたパスコードに対応するノードを検索し、取得されたノードを照会結果として出力するステップをさらに備えることを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記入力された照会パスをパスコードに変換するステップにおいては、
前記照会パスに含まれるノードを前記ノードに対応するノードコードに変換し、変換されたノードコードを前記照会パスのパスコードとすることを特徴とする請求項３に記載の方法。
【請求項５】
前記圧縮されたＸＭＬ文書は前記データ内容の先行順を含んでおり、
前記圧縮されたＸＭＬ文書において前記変換されたパスコードに対応するノードを検索するステップにおいては、
前記変換されたパスコードにおける最後のノードコードに述語が含まれる場合に、前記圧縮されたＸＭＬ文書において前記変換されたパスコードと一致するパスコードに対応するノードを検索し、取得されたノードが１つであり、かつ、前記取得されたノードが第一パスコードによって確定されたノードであれば、前記取得されたノードを前記変換されたパスコードに対応するノードとし、前記取得されたノードが２つ以上であれば、前記述語に基づいて前記取得されたノードから１つ以上のノードを確定し、１つ以上の確定されたノードを前記変換されたパスコードに対応するノードとし、ここで、前記述語は前記第一パスコードに対応する１つ以上のノードを表し、前記第一パスコードは前記変換されたパスコードにおける、前記述語を有するノードコードと前記述語を有するノードコードの前の各ノードコードによって確定されるパスコードであり、或いは、
前記変換されたパスコードにおける、最後のノードコードを除くノードコードに述語が含まれる場合に、前記圧縮された文書において第一パスコードと一致するパスコードに対応するノードを検索し、取得されたノードが１つであり、かつ、前記取得されたノードが前記第一パスコードによって確定されたノードであれば、前記圧縮されたＸＭＬ文書において、前記変換されたパスコードと一致し、かつ、前記取得されたパスコードに対応するノードコードが含まれるパスコードを検索し、取得されたパスコードに対応するノードを前記変換されたパスコードに対応するノードとし、前記取得されたノードが２つ以上であれば、前記述語に基づいて取得されたノードから１つ以上のノードを確定し、前記圧縮されたＸＭＬ文書において、前記変換されたパスコードと一致し、かつ、前記取得されたノードから確定された１つ以上のノードに対応するノードコードが含まれるパスコードを検索し、取得されたパスコードに対応するノードを変換されたパスコードに対応するノードとすることを特徴とする請求項３又は４に記載の方法。
【請求項６】
入力された照会パスをパスコードに変換するステップと、
前記圧縮されたＸＭＬ文書及び前記取得されたノードに対応するデータ内容において、変換されたパスコードに対応するノードを検索するステップとをさらに備えることを特徴とする請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記ＸＭＬ文書が、前記ノードの先行順と前記データ内容の先行順とを含んでおり、
前記取得されたノードに対応するデータ内容を検索するステップにおいては、
前記圧縮されたＸＭＬ文書において前記変換されたパスコードと一致するパスコードに対応するデータ内容を検索し、
取得されたデータ内容の数が１である場合に、前記取得されたデータ内容を前記変換されたパスコードに対応するデータ内容とし、
前記取得されたデータ内容の数が２以上である場合に、前記取得されたデータ内容から、前記取得されたノードの先行順との差が１である先行順に対応するデータ内容を確定し、確定されたデータ内容を前記変換されたパスコードに対応するデータ内容とすることを特徴とする請求項６に記載の方法。
【請求項８】
対応するスキーマを有するＸＭＬ文書を処理するための圧縮装置と解凍装置とを備えた装置であって、
前記圧縮装置が、
プロセッサによって実装(implement)され、ＸＭＬ文書の構造内容とデータ内容を抽出するように構成された抽出部と、
前記プロセッサによって実装され、前記構造内容におけるノードのパスコードを確定し、記憶しておいた前記ノードの先行順に基づいて前記ノードに対応するデータ内容を確定するように構成された確定部と、
前記プロセッサによって実装され、前記ノードのパスコードと前記データ内容を圧縮するように構成された圧縮部と、
前記圧縮の間に文書構造情報を生成するように構成された生成部とを備えており、
前記ノードのパスコードが、前記構造内容における前記ノードの記憶位置を示すためのものであって、前記文書構造情報が、前記データ内容の先行順と前記データ内容の先行順の系列長とを含んでおり、前記圧縮部も前記文書構造情報を圧縮するように構成されており、
前記解凍装置が、
圧縮された前記ノードのパスコードと圧縮された文書構造情報を取得するように構成された取得部と、
前記圧縮された前記ノードのパスコードと前記圧縮された文書構造情報とを解凍するように構成された解凍部と、
解凍された文書構造情報に基づいて解凍されたノードに対応する圧縮されたデータ内容を確定するように構成されたデータ確定部とを備え、
前記データ確定部は、さらに、
解凍された前記ノードのパスコードと一致するパスコードに対応するデータ内容の先行順の系列長がゼロではない場合に、前記解凍されたノードの前記先行順より大きく、かつ、パスにおける次のノードの先行順より小さい先行順に対応するデータ内容を、前記解凍されたノードに対応するデータ内容であると確定するように構成されていることを特徴とする装置。
【請求項９】
前記確定部は、さらに、
前記構造内容における前記ノードに対応する実際のパスに含まれる各ノードを対応するノードコードに置き換えて、置き換えられた後に取得されたパスを前記構造内容における前記ノードのパスコードとするように構成され、
前記ノードの実際のパスが、前記構造内容における前記ノードの実際の記憶パスを示すことを特徴とする請求項８に記載の装置。
【請求項１０】
入力された照会パスをパスコードに変換するように構成された変換部と、
圧縮されたＸＭＬ文書において変換されたパスコードに対応するノードを検索するように構成されたノード検索部とを、さらに備えることを特徴とする請求項８又は９に記載の方法。
【請求項１１】
前記ノード検索部で取得されたノードに対応するデータ内容を検索するように構成されたデータ検索部と、
前記ノード検索部で取得されたノードを照会結果として出力するように、又は、前記データ検索部で取得されたデータ内容を照会結果として出力するように構成された出力部とを、さらに備えることを特徴とする請求項１０に記載の装置。
【請求項１２】
前記ＸＭＬ文書は前記ノードの先行順と前記データ内容の先行順を含んでおり、
前記データ検索部は、さらに、
前記圧縮されたＸＭＬ文書において前記変換されたパスコードと一致するパスコードに対応するデータ内容を検索し、
取得されたデータ内容の数が１である場合に、前記取得されたデータ内容を前記変換されたパスコードに対応するデータ内容とし、
前記取得されたデータ内容の数が２以上である場合に、前記取得されたデータ内容から、前記取得されたノードの先行順との差が１である先行順に対応するデータ内容を確定し、確定されたデータ内容を前記変換されたパスコードに対応するデータ内容とするように構成されたことを特徴とする請求項１１に記載の装置。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本件出願は、２０１１年１２月３０日に提出された中国特許出願Ｎｏ.２０１１１０４５６６６.１の利益をクレームするものであり、当該出願は本願の一部として完全に本願に引用されて組み込まれる。
【技術分野】
【０００２】
本発明はコンピューターアプリケーション技術に関し、特に、文書を圧縮、解凍、照会するための方法と装置に関する。
【背景技術】
【０００３】
ＸＭＬ（Extensible Markup language）は通常のデータ記憶言語として広く使用されている。ＸＭＬ文書に大量のデータ冗長があるため、実際にＸＭＬ文書のデータを圧縮するように専用のＸＭＬ圧縮方法がよく使用されている。一般的に、２つの普通のＸＭＬ圧縮方法がある。
【０００４】
１つの方法は、照会できない圧縮方法である。この方法で圧縮されたＸＭＬ文書からＸＭＬデータを照会して取得するように、先ず、ＸＭＬ文書を解凍(decompress：復元、伸長)する必要があり、それから、照会が行なわれて結果が取得される。
【０００５】
もう１つの方法は、照会できる圧縮方法である。当該方法は圧縮されたＸＭＬ文書から直接に照会してＸＭＬデータを取得できる。この方法において、圧縮されたＸＭＬ文書を照会するように、ＸＰａｔｈ、ＸＱｕｅｒｙなどの照会言語が使用される。これらの照会言語は、あるノードと目標ノードの間にアクセスされた全ノードを含む系列であるパスに基づいて、ＸＭＬ文書から情報を検索する。当該パスは、アクセスされたノードと特別なシンボルとを符号化する文字列で表れてもよい。ＸＰａｔｈはＸＭＬデータの文字表現に着眼しなく、抽象的なロジック構造ツリーを操作する。ＸＰａｔｈの名前は、統一資源識別子（ＵＲＩ）におけるパス表現方法と同じような方法でＸＭＬデータの階層構造においてトラバースして位置決めることに由来する。ＸＭＬ文書において特定なデータセグメントを位置決めるためであるＸｐａｔｈの主な目的を達成するために、Ｘｐａｔｈの規格に基本文字列、数値及びブーリアン（Boolean）処理機能が提供される。
【０００６】
従来の技術において、対応するスキーマ（Schema）を有するＸＭＬ文書を効率的に圧縮したり解凍したりすることができず、圧縮された状態で照会操作もできない。
【発明の概要】
【０００７】
本発明の一観点によって、上記した従来の技術の問題を解決するために、対応するスキーマを有するＸＭＬ文書を圧縮するための方法と装置を提供する。
【０００８】
ある実施形態において、対応するスキーマを有するＸＭＬ文書を圧縮するための方法は、構造内容とデータ内容を抽出するステップと、前記構造内容におけるノードのパスコード（path code）を確定し、記憶しておいた前記ノードの先行順（preorder）に基づいて前記ノードに対応するデータ内容を確定するステップと、プリセット方法で前記構造内容におけるノードとノードのパスコードを処理して、処理されたノード、処理されたノードのパスコード及び前記データ内容をそれぞれ圧縮するステップと備えてもよく、ここで、前記構造内容に、ラベルにおける属性値とラベル同士の間における内容を除外したＸＭＬ文書のラベル（又はタグ）における内容が含まれて、前記ノードのパスコードは前記ノードと前記構造内容における他のノードによって前記構造内容における当該ノードの記憶位置(storage position)を示す(identify)。
【０００９】
ある実施形態において、対応するスキーマを有するＸＭＬ文書を圧縮するための装置は、構造内容とデータ内容を抽出するように構成された抽出部と、前記構造内容におけるノードのパスコードを確定し、記憶しておいた前記ノードの先行順に基づいて前記ノードに対応するデータ内容を確定するように構成された確定部と、プリセット方法で前記構造内容におけるノードとノードのパスコードを処理して、処理されたノード、処理されたノードのパスコード及び前記データ内容をそれぞれ圧縮するように構成された圧縮部と備えてもよく、ここで、前記構造内容に、ラベルにおける属性値とラベル同士の間における内容を除外したＸＭＬ文書のラベルにおける内容が含まれて、前記ノードのパスコードは前記ノードと前記構造内容における他のノードによって前記構造内容における当該ノードの記憶位置を示す。
【００１０】
また、本発明の一観点によって、上記した圧縮方法で圧縮された対応するスキーマを有するＸＭＬ文書を解凍するための方法と装置を提供する。
【００１１】
ある実施形態において、上記した圧縮方法で圧縮されたＸＭＬ文書を解凍するための方法は、圧縮された前記ノードのパスコードと圧縮された文書構造情報を取得するステップと、圧縮された前記ノードのパスコードを解凍し、解凍されたパスコードに対応するノードを出力するステップと、圧縮された文書構造情報を解凍し、解凍された文書構造情報に基づいて解凍されたノードに対応する圧縮されたデータ内容を確定し、確定されたデータ内容を解凍して出力するステップと、を備えてもよい。
【００１２】
ある実施形態において、上記した圧縮方法で圧縮されたＸＭＬ文書を解凍するための装置は、圧縮された前記ノードのパスコードと圧縮された文書構造情報を取得するように構成された取得部と、圧縮された前記ノードのパスコードと圧縮された文書構造情報を解凍するように構成された解凍部と、解凍された文書構造情報に基づいて解凍されたノードに対応する圧縮されたデータ内容を確定するように構成されたデータ確定部と、解凍部によって解凍されたパスコードに対応するノードを出力し、データ確定部によって確定されたデータ内容を出力するように構成された出力部と、を備えてもよい。
【００１３】
従って、本発明のある実施形態において提供される解凍方法は、圧縮されたノードのパスコード、圧縮されたデータ内容のパスコード及び圧縮された文書構造情報が取得され解凍された後に、解凍されたパスコードに対応するノードを出力するステップと、解凍されたノードのパスコードと一致するパスコードを有する、圧縮されたデータ内容を確定し、確定されたデータ内容を解凍して出力するステップと、を備えてもよい。そこで、当該方法は上記した圧縮方法で圧縮されたＸＭＬ文書を解凍することができる。
【００１４】
また、本発明の一観点によって、従来の対応するスキマーを有する圧縮されたＸＭＬ文書を照会できない問題を解決するために、対応するスキーマを有するＸＭＬ文書を照会するための方法と装置を提供する。
【００１５】
ある実施形態において、ＸＭＬ文書を照会するための方法は、プリセット変換方法で入力された照会パス（query path：クエリパス）をパスコードに変換するステップと、圧縮されたＸＭＬ文書において変換されたパスコードに対応するノードを検索し、取得されたノードを照会結果として出力し、或いは、圧縮されたＸＭＬ文書において変換されたパスコードに対応するノードと、圧縮されたＸＭＬ文書において取得されたノードに対応するデータ内容を検索し、取得されたノードとデータ内容を照会結果として出力するステップと、を備えてもよい。
【００１６】
ある実施形態において、ＸＭＬ文書を照会するための装置は、プリセット変換方法で入力された照会パスをパスコードに変換するように構成された変換部と、圧縮されたＸＭＬ文書において変換されたパスコードに対応するノードを検索するように構成されたノード検索部と、前記ノード検索部によって取得されたノードを照会結果として出力するように構成された出力部と、を備えてもよい。
当該装置は前記ノード検索部によって取得されたノードに対応するデータ内容を検索するように構成されたデータ検索部を備えてもよい。前記出力部又はもう１つの出力部はデータ検索部によって取得されたデータ内容を照会結果として出力することに使用されてもよい。
【００１７】
本発明のある実施形態において提供される照会方法において、前記圧縮方法で圧縮された、対応するスキーマを有するＸＭＬ文書におけるノード及び／又はデータ内容の記憶パス(storage path)はパスコードであるため、照会パスがパスコードに変換された後に、ノード及び／又はデータ内容を照会して、照会されたノード及び／又はデータ内容を出力することが可能である。従って、この方法は対応するスキーマを有するＸＭＬ文書を照会することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は本発明の一実施形態に係る対応するスキーマを有するＸＭＬ文書を圧縮するための方法のフローチャートを示す。
【図２】図２は本発明の一実施形態に係るＸＭＬ文書を解凍するための方法のフローチャートを示す。
【図３】図３は本発明の一実施形態に係るＸＭＬ文書を照会するための方法のフローチャートを示す。
【図４】図４は本発明の一実施形態に係るＸＭＬ文書におけるスキーマの概略構造を示す。
【図５】図５は本発明の一実施形態に係るＸＭＬ文書におけるスキーマの概略構造図である。
【図６】図６は本発明の一実施形態に係る対応するスキーマを有するＸＭＬ文書を圧縮するための装置の概略構造を示す。
【図７】図７は本発明の一実施形態に係るＸＭＬ文書を解凍するための装置の概略構造を示す。
【図８】図８は本発明の一実施形態に係るＸＭＬ文書を照会するための装置の概略構造を示す。
【発明を実施するための形態】
【００１９】
本発明のある実施形態において、対応するスキーマを有するＸＭＬ文書を圧縮するための方法が提供される。この方法は、ＸＭＬ文書の構造内容とデータ内容を抽出するステップと、当該ノードのパスコードとデータ内容のパスコードをそれぞれ確定するステップと、当該ノードのパスコード、データ内容のパスコード及びデータ内容をそれぞれ圧縮するステップと、を備えてもよい。ここで説明される実施例において、「ノード」と「当該ノード」が言及されるが、当業者であれば、当該説明が複数のノードに適用されても良いことを理解すべきである。
【００２０】
具体的には、ある実施形態によれば、図１に示されるように、当該方法は以下のステップを備えてもよい。
【００２１】
ステップ１１においては、ラベルにおける属性値とラベル同士の間における内容を除外したＸＭＬ文書のラベル（又はタグ）における内容を含む構造内容とデータ内容を抽出しもよい。
【００２２】
ステップ１２においては、前記構造内容におけるノードのパスコードを確定し、記憶しておいた前記ノードの先行順に基づいて前記ノードに対応するデータ内容を確定してもよく、ここで、前記ノードのパスコードは前記ノードと前記構造内容における他のノードによって構造内容における当該ノードの記憶位置を示す。
【００２３】
ステップ１３においては、プリセット方法で前記構造内容におけるノードとノードのパスコードを処理して、処理されたノード、処理されたノードのパスコード及び前記データ内容をそれぞれ圧縮してもよい。
【００２４】
ある実施形態において、ステップ１２においては、構造内容におけるノードに対応する実際のパスに含まれる各ノードを対応するノードコードに置き換えて、置き換えられた後に取得されたパスを前記構造内容におけるノードのパスコードとしてもよく、ここで、前記ノードの実際のパスは前記ノードと前記構造内容における他のノードによって構造内容における当該ノードの実際の記憶位置を示す。
【００２５】
ある実施形態において、次の解凍操作を容易にするように、上記した圧縮方法においては、ＸＭＬ文書の構造情報を生成して、当該文書構造情報を圧縮してもよく、ここで、当該文書構造情報はノードの先行順とデータの先行順を含む。
【００２６】
本発明のある実施形態において、上記した圧縮方法で圧縮されたＸＭＬ文書を解凍するための方法が提供される。この方法は、圧縮されたノードのパスコード、圧縮されたデータ内容のパスコード及び圧縮された文書構造情報を取得して解凍した後に、解凍されたパスコードに対応するノードを出力して、解凍された文書構造情報を基づいて、解凍されたノードのパスコードと一致するパスコードを有する圧縮されたデータ内容を確定して、確定されたデータ内容を解凍して出力してもよい。
【００２７】
図２に示されるある実施形態において、当該解凍方法は以下のステップを備えてもよい。
【００２８】
ステップ２１においては、圧縮された前記ノードのパスコードと圧縮された文書構造情報を取得してもよい。
【００２９】
ステップ２２においては、圧縮された前記ノードのパスコードを解凍し、解凍されたパスコードに対応するノードを出力してもよい。
【００３０】
ステップ２３においては、圧縮された文書構造情報を解凍し、解凍された文書構造情報に基づいて解凍されたノードに対応する圧縮されたデータ内容を確定し、確定されたデータ内容を解凍して出力してもよい。
【００３１】
ある実施形態において、上記した圧縮方法で圧縮されたＸＭＬ文書はノードの先行順とデータ内容の先行順を含んでも良いため、ステップ２３における解凍された文書構造情報に基づいて解凍されるノードに対応する圧縮されたデータ内容を確定するためのプロセスにおいては、さらに、解凍された前記ノードのパスコードと一致するパスコードに対応するデータ内容の先行順の系列長(sequence length)がゼロではない場合に、解凍された前記ノードの先行順との差が１である先行順に対応する圧縮されたデータ内容を、解凍された前記ノードのパスコードと一致するパスコードを有する圧縮されたデータ内容に確定してもよい。
【００３２】
本発明のある実施形態において、上記した圧縮方法で圧縮されたＸＭＬ文書を照会するための方法が提供される。前記圧縮方法で圧縮された、対応するスキーマを有するＸＭＬ文書におけるノード及び／又はデータ内容の記憶パスはパスコードであるため、照会パスがパスコードに変換された後に、ノード及び／又はデータ内容を照会して、照会されたノード及び／又はデータを照会結果として出力することが可能である。
【００３３】
図３に示されるある実施形態において、当該照会方法は以下のステップを備えてもよい。
【００３４】
ステップ３１においては、プリセット変換方法で入力された照会パスをパスコードに変換してもよい。
【００３５】
ステップ３２においては、圧縮されたＸＭＬ文書において変換されたパスコードに対応するノードを検索し、取得されたノードを照会結果として出力し、或いは、圧縮されたＸＭＬ文書において変換されたパスコードに対応するノードと、圧縮されたＸＭＬ文書において取得されたノードに対応するデータ内容を検索し、取得されたノードとデータ内容を照会結果として出力してもよい。
【００３６】
ある実施形態において、ステップ３１においては、さらに、前記照会パスに含まれるノードを当該ノードに対応するノードコードに変換し、変換されたパスを前記照会パスのパスコードとしてもよい。
【００３７】
ある実施形態において、上記した圧縮方法で圧縮されたＸＭＬ文書はデータ内容の先行順を含んでも良いため、ステップ３２における圧縮されたＸＭＬにおいて変換されたパスコードに対応するノードを検索する方法は、前記変換されたパスコードにおける最後のノードコードに述語(predicate) が含まれる場合に、前記圧縮されたＸＭＬ文書において前記変換されたパスコードのパスコードと一致するパスコードに対応するノードを検索し、取得されたノードが１つであり、かつ、前記取得されたノードが第一パスコードによって確定されたノードであれば、前記取得されたノードを前記変換されたパスコードに対応するノードとし、前記取得されたノードは１つ以上であれば、前記述語に基づいて前記取得されたノードから１つ以上のノードを確定し、１つ以上の確定されたノードを前記変換されたパスコードに対応するノードとし、ここで、前記述語は前記第一パスコードに対応する１つ以上のノードを表し、前記第一パスコードは前記変換されたパスコードにおける、前記述語を有するノードコードと前記述語を有するノードコードの前の各ノードコードによって確定されるパスコードであり、或いは、前記変換されたパスコードにおける、最後のノードコードを除くノードコードに述語が含まれる場合に、前記圧縮された文書において第一パスコードと一致するパスコードに対応するノードを検索し、取得されたノードが１つであり、かつ、前記取得されたノードが前記第一パスコードによって確定されたノードであれば、前記圧縮されたＸＭＬ文書において、前記変換されたパスコードと一致し、かつ、前記取得されたパスコードに対応するノードコードが含まれるパスコードを検索し、取得されたパスコードに対応するノードを前記変換されたパスコードに対応するノードとし、前記取得されたノードは１つ以上であれば、前記述語に基づいて取得されたノードから１つ以上のノードを確定し、前記圧縮されたＸＭＬ文書において、前記変換されたパスコードと一致し、かつ、前記取得されたノードから確定された１つ以上のノードに対応するノードコードが含まれるパスコードを検索し、取得されたパスコードに対応するノードを変換されたパスコードに対応するノードとしてもよい。
【００３８】
ある実施形態において、上記した圧縮方法で圧縮されたＸＭＬ文書はノードの先行順を含んでも良いため、ステップ３２においる変換されたパスコードに対応するデータ内容を検索することにおいては、さらに、圧縮されたＸＭＬ文書において変換されたパスコードと一致するパスコードに対応するデータ内容を検索するステップと、検索された結果における取得されたデータ内容の数は１である場合に、取得されたデータ内容を変換されたパスコードに対応するデータ内容とするステップと、検索された結果における取得されたデータ内容の数が２以上である場合に、取得されたデータ内容から、取得されたノードの先行順との差が１である先行順に対応するデータ内容を確定し、確定されたデータ内容を変換されたパスコードに対応するデータ内容とするステップ、とを備えてもよい。
【００３９】
ある実施形態において、スキーマ構造はサイト（site）ノード、領域（regions）ノード、ナメリカ（namerica）ノード、アイテム（item）ノード、識別（id）ノード、位置（location）ノード、カテゴリー（categories）ノード、複合型（complexType）ノード、シーケンス（sequence）指示器及び選択（choice）指示器を備えてもよい。例えば、対応するスキーマを有する典型的なＸＭＬのスキーマ構造は以下のように示されてもよい。
<?xml version=“1.0” encoding=“UTF-8”>
<xs:schema xmlns:xs=“http://www.w3.org/2001/xmlschema”>
<  xs:element name=“root” type=“t1”/>
< xs: complexType name=“t1” >
< xs:sequence maxOccurs=“3” >
< xs:choice maxO ccurs=“2” >
<xs:element name=“e1” type=“xs:int” minOccurs=“0”/>
<xs:element name=“e2” type=“xs:string” minOccurs=“0”/>
<xs:element name=“e3” type=“xs:int” minOccurs=“0”/>
< /xs:choice>
< /xs: sequence>
< /xs: sequence>
< /xs: complexType>
< /xs: schema>
【００４０】
当該スキーマに１つの選択指示器を含むシーケンス指示器とサブノードを有しないシーケンス指示器が含まれてもよい。選択指示器に第一サブノードe1、第二サブノードe２及び第三サブノードe３の三つのサブノードが含まれてもよい。これらのサブノードはオプショナルでもよい。当該スキーマ構造に対応するツリー構造は図４に示されている。
【００４１】
以下、本発明の実施例を説明する。
【００４２】
便宜上、以下、全ての実施例は図５に示される構造を有するＸＭＬ文書を使用する。第一データノードに対応するデータ内容はitem0であり、第二データノードに対応するデータ内容はＵＳであり、第三データノードに対応するデータ内容はitem１であり、第四データノードに対応するデータ内容はitem２であり、第五データノードに対応するデータ内容はＣＡである。図５に示されるように、全ノードの先行順を取得するために、当該構造に対して先行順のトラバーサル（traversal）が行なわれる。当該ＸＭＬ文書はスキーマノードを含む、対応するスキーマ構造を有する。
【実施例１】
【００４３】
本発明の実施例１は対応するスキーマを有するＸＭＬ文書を圧縮するための方法を提供する。この方法においては、先ず、データ内容とＸＭＬの構造内容を抽出し、それから、ノードのパスコードとデータ内容のパスコードをそれぞれ確定し、最後、ノードのパスコード、データ内容のパスコード及びデータ内容をそれぞれ圧縮する。この方法は以下のステップを備えており、即ち、
ステップＡ：プリセットの抽出方法に基づいて構造内容とＸＭＬ文書のデータ内容を抽出し、ここで、前記構造内容は、ラベルにおける属性値とラベル同士の間における内容を除外したＸＭＬ文書のラベルにおける内容を含み、前記データ内容はＸＭＬ文書における、ラベルにおける属性値とラベル同士の間における内容を含む。
ステップＢ：site、regions、namerica、item、id、location、categories、categoryに対してプリセットのノード番号をそれぞれ割り当て、ここで、各ノード番号は唯一のスキーマノードに対応し、例えば、site、regions、namerica、item、id、location、categories、categoryに割り当てられるノード番号はそれぞれ１、２、３、４、５、６である。
ステップＣ：前記構造内容における全ノードのパスコードを確定し、記憶しておいた前記ノードの先行順に基づいて前記ノードに対応するデータ内容を確定し、ノードの先行順と当該ノードに対応するデータ内容の先行順との差が１であり、そのため、データ内容のパスコードは当該データ内容のノードのパスコードと一致する。
【００４４】
前記ノードのパスコードは前記ノードと前記構造内容における他のノードによって当該ノードにおける記憶位置を示す。
【００４５】
ある実施形態において、構造内容における全ノードのパスコードを確定するステップにおいては、前記構造内容におけるノードに対応する実際のパスに含まれる各ノードを対応するノードコードに置き換えて、置き換えられた後に取得されたパスを前記構造内容におけるノードのパスコードとし、ここで、前記ノードの実際のパスは前記ノードと前記構造内容における他のノードによって構造内容における当該ノードの実際の記憶位置を示し、例えば、「/site/regions/namerica」である「namerica」ノードの実際のパスが取得され、プリセットのノード番号に基づいて、当該「namerica」ノードのパスコードは「１/２/３」であり、当該パスコードに基づいて、「namerica」ノードの先行順が３と確定でき、当該先行順に対してコード差演算（２つの連続的なノードの間の差を計算する）を行なった後に取得されたコード先行順は３であり、同じ方法で全スキーマノードのパスコード、先行順及びコード先行順が取得できる。また、「location」ノードに対応するデータ内容の実際のパスは「/site/regions/namerica/item/location」である場合に、当該実際のパスのパスコードは「１/２/３/４/６」であり、当該パスコードに基づいて、当該パスコードに対応するデータ内容が「ＣＡ」と「ＵＳ」と確定でき、当該パスコードに対応する先行順が４２と８である。
【００４６】
上記した全ノードとデータ内容の実際のパス、パスコード、先行順、コード先行順を取得するための方法によって、取得された結果は以下の表１に示されている。即ち、
【表１】
0005800441.tif 000002
【００４７】
この方法においては、さらに、
ステップＤ：前記ノードのパスコード、ノード及びノードに対応するデータ内容をそれぞれ圧縮し、例えば、データ内容を従来の方法のいずれかで圧縮できる。
ステップＥ：圧縮されたデータ内容、圧縮されたノードのパスコード及び他の情報を圧縮ＸＭＬ文書に記憶する。
【００４８】
ある実施形態において、ＸＭＬ文書の構造を簡素化するために、ステップＡの前に、プリセットの最適化方法でＸＭＬ文書のスキーマ構造を最適化し、最適化された情報をｂｓｇファイルに記憶し、ここで、前記ｂｓｇファイルにスキーマノードのノード名、当該スキーマノードのサブノード数、データタイプとノードタイプを含む当該スキーマノードのタイプ、当該スキーマノードの指示器のタイプ、指示器の出現回数、構造内容とＸＭＬ文書におけるデータが含まれ、前記指示器のタイプに「all」指示器、「choice」指示器及び「sequence」指示器が含まれる。当該最適化方法は従来の方法でもよい。
【００４９】
ある実施形態において、圧縮効果を向上させるために、上記した方法は、ステップＣとステップＤの間において、プリセット方法でデータを前処理することを含んでいてもよい。前記プリセット方法は従来の方法のいずれかでもよく、例えば、Lempel-Ziv-Welch（ＬＺＷ）方法が挙げられる。
【００５０】
ある実施形態において、プリセット方法で構造内容を前処理するステップは、圧縮プロセスにおいて文書構造情報を生成して文書構造情報を圧縮し、前記文書構造情報にデータ内容の先行順の長さが含まれてもよく、前記文書構造情報に、例えば、パスの先行順系列長、パスの先行順系列、当該パスに対応するデータ内容の先行順系列長及び当該パスに対応する非決定性の構造内容が順序に従って含まれてもよく、前記パスの先行順系列に全ノードの先行順の組合せが含まれ、前記非決定性の構造内容に、前記非決定性の構造内容の長さ、当該パスにおいてノードの指示器が出現する回数及び当該パスにおいてノードのサブノード数が含まれる。当該ノードに複数のサブノードが含まれる場合に、前記複数のサブノードはこれらのサブノードの先行順の値の順番に配列されて、前記パスの先行順系列は構造内容において、各スキーマノードのノード構造内容の順番を確定する。
【００５１】
ある実施形態において、圧縮効果を向上させるために、前記パスの先行順系列に、当該パスにおいて全ノードのコード先行順の組合せが含まれる。
【００５２】
例えば、図５に、最適化されたＸＭＬ文書の２進ツリー構造が示されている。当該２進ツリーに対して先行順トラバーサルが行なわれた後に、当該ＸＭＬ文書の文書構造情報の一部は：１１０３２０１である。
【００５３】
圧縮されたＸＭＬ文書において、各ノードのパス系列が予め順番に記憶されてもよい。ここで、パスは実際のパスでも良いし、パスコードでもよく、便宜上、以下では両方ともパスと呼ばれる。パスコードが使用される場合に、記憶空間が著しく節約される。前記パス系列に、パスの先行順系列コードと先行順系列コードに対応するパスとが含まれてもよい。当該先行順系列に、当該パスにおいて全ノードのコード先行順の組合せが含まれてもよい。例えば、/ siteパスの先行順系列は１であり、/site/regionsパスの先行順系列は２であり、/ site / regions /namericaパスの先行順系列は３である。
【００５４】
「１１０３２０１」の意味は、パス先行順系列長が１であり、そこで、リードパスの先行順系列が１であり、即ち、/ siteパスであり、当該パスに対応するデータ内容の先行順系列長が０であり、即ち、当該パスに対応するデータ内容がなく、当該パスの非決定性の構造内容の長さが３であり、非決定性の構造内容の長さが３である三つのデータ内容「２０１」を読み、ｂｓｇファイルから分かるように、当該パスにおいてノードの指示器は選択指示器であり、そのため、「２０１」は、当該選択指示器が２回出現し、第１回においてsiteノードの第一サブノード、即ちregionsノードを選択し、第２回においてsiteノードの第二サブノード、即ちcategoriesノードを選択することを表す。
【実施例２】
【００５７】
本発明の実施例２が上記した圧縮方法で圧縮されたＸＭＬ文書を解凍するための方法を提供する。この方法は、圧縮されたノードのパスコード、圧縮されたデータ内容のパスコード及び圧縮された文書構造情報を取得して解凍した後に、解凍されたパスコードに対応するノードを出力でき、解凍されたノードに対する圧縮されたデータ内容を確定し、確定されたデータ内容を解凍して出力する。この方法において、以下のステップを備えており、即ち、
ステップ１：ＸＭＬ文書に２進スキーマグラフ（ｂｓｇ）ファイルはあるかどうかを判断する。ある場合に、ステップ２にジャンプする。前記ｂｓｇファイルに、スキーマノードのノード名、当該スキーマノードのサブノード数、データタイプとノードタイプを含む当該スキーマノードのタイプ、当該スキーマノードの指示器のタイプ、指示器の出現回数、構造内容とＸＭＬ文書におけるデータが含まれ、前記指示器のタイプに「all」指示器、「choice」指示器及び「sequence」指示器が含まれる。
ステップ２：ｂｓｇファイルを解析し、圧縮された前記ノードのパスコード、圧縮された前記データ内容及び圧縮された文書構造情報を取得する。
ステップ３：圧縮された前記ノードのパスコードを解凍し、解凍されたパスコードに対応するノードを出力する。便宜上、前記ＸＭＬ文書における「site」ノードとそのサブノードを解凍することを例とし、「site」ノードのパスコードに基づいて、「site」ノードと、「site」ノードに対応するラベル情報を出力し、例えば＜site＞と＜site＞、前記構造内容である「１１０３２０１」に基づいて、当該「site」ノードが２つのサブノードを有すること確定し、これらのサブノードに対応するラベル情報をそれぞれ出力し、当該「site」ノードの他のサブノードに対応するラベル情報を順次に出力する。
ステップ４：圧縮された前記文書構造情報を解凍し、解凍された前記ノードのパスコードと一致するパスコードを有する圧縮されたデータ内容を確定し、確定されたデータ内容を解凍して出力する。当該ステップ４における解凍された文書構造情報と出力ノードに基づいて圧縮されたデータを確定するための方法においては、ＸＭＬ文書にノードの先行順とデータ内容の先行順とが含まれるため、解凍された前記ノードのパスコードと一致するパスコードに対応するデータ内容の先行順の系列長がゼロではない場合に、解凍された前記ノードの先行順との差が１である先行順に対応する圧縮されたデータ内容を、解凍された前記ノードのパスコードと一致するパスコードを有する圧縮されたデータ内容に確定する。例えば、文書構造情報に基づいてある解凍されたノードのパスコードは１/２/３/４/６であり、パスコードに対応するデータ内容の先行順の系列長はゼロではなく、パスコードに対応するデータ内容の先行順は７であると確定できるため、パスコード１/２/３/４/６を有するデータ内容が「ＵＳ」と「ＣＡ」であり、「ＵＳ」の先行順が８であり、「ＣＡ」の先行順が４２であり、ノードのデータ内容の先行順はノードの先行順プラス１であり、そのため、先行順「８」に対応するデータ内容「ＵＳ」を所望のデータ内容とする。
【実施例３】
【００５８】
本発明の実施例３が上記した圧縮方法で圧縮されたＸＭＬ文書を照会するための方法を提供する。上記した圧縮方法で圧縮された後に、対応するスキーマを有するＸＭＬ文書におけるノード及び／又はデータ内容の記憶パスはパスコードであるため、照会パスがパスコードに変換された後に、ノード及び／又はデータ内容を照会して、照会結果として照会されたノード及び／又はデータを出力することが可能である。このステップにおいては、ＸＭＬ文章に含まれるｂｓｇファイルに、スキーマノードのノード名、当該スキーマノードのサブノード数、データタイプとノードタイプを含む当該スキーマノードのタイプ、当該スキーマノードの指示器のタイプ、指示器の出現回数、構造内容とＸＭＬ文書におけるデータが含まれ、前記指示器のタイプに「all」指示器、「choice」指示器及び「sequence」指示器が含まれ、前記ｂｓｇファイルにスキーマノードに対応する「start」ラベルと「end」ラベルとも含まれ、この照会方法は以下のステップを備える。
【００５９】
ステップ１：プリセット変換方法で入力された照会パスをパスコードに変換し、即ち、前記照会パスに含まれるノードを当該ノードに対応するノードコードに変換し、変換されたパスを前記照会パスのパスコードとする。例えば、site、regions、namerica、item、id、location、categories、categoryノードに割り当てられたノード番号がそれぞれ１，２，３，４，５，６である。
【００６０】
当該ステップ１においては、前記照会パスはシンプル照会である場合に、例えばsite/regions/namerica/item/locationである場合に、当該照会パスにおけるノードを当該ノードに対応するノードコードに変換し、変換されたパスコードが１/２/３/４/６である。
【００６１】
前記照会パスは述語を有する時に、例えば、site/regions/namerica/item［２］/location(［２］が述語である)である場合に、当該照会パスにおけるノードを当該ノードに対応するノードコードに変換し、変換されたパスコードが１/２/３/４［２］/６である。ここで、前記述語は第一パスコードに対応する１つ以上のノードを表し、第一パスコードは、変換されたパスコードに前記述語を有するノードコードと当該前記述語を有するノードコードの前の各ノードコードによって確定されたパスコードであり、例えば、第一パスが１/２/３/４であれば、述語は［２］/である。
【００６２】
前記照会パスは非決定性である時に、例えば、//itemである場合に、変換されたパスコードが//４である。２進ツリーにおいてトラバーサルサーチ(traversal search)が行なわれる場合に、itemノードに対応するあらゆるノードは照会結果であり、例えば、１/２/３/４である。
【００６３】
ステップ２：圧縮されたＸＭＬ文書において変換されたパスコードに対応するノードを検索し、取得されたノードを照会結果として出力する。
【００６４】
照会パスがシンプルパスである時に、検索する方法は下記のとおりになり、即ち、構造内容において前記パスコード「１/２/３/４/６」を有する照会待ちのlocationノードを検索し、文書構造情報に基づいて当該照会待ちのlocationノードがサブノードを有しないと確定された場合に、当該照会待ちのノードに対応するラベル情報を出力し、例えば、＜location＞＜/ location＞である。
【００６５】
照会待ちのパスが述語を有する時に、当該検索する方法は以下のとおりになり、即ち、
第一、前記変換されたパスコードにおける最後のノードコードに述語が含まれる場合に、前記圧縮されたＸＭＬ文書において前記変換されたパスコードと一致するパスコードに対応するノードを検索し、取得されたノードが１つであり、かつ、前記取得されたノードが第一パスコードによって確定されたノードであれば、前記取得されたノードを前記変換されたパスコードに対応するノードとし、前記取得されたノードは１つ以上であれば、前記述語に基づいて前記取得されたノードから１つ以上のノードを確定し、１つ以上の確定されたノードを前記変換されたパスコードに対応するノードとし、ここで、前記述語は前記第一パスコードに対応する１つ以上のノードを表し、前記第一パスコードは前記変換されたパスコードにおける、前記述語を有するノードコードと前記述語を有するノードコードの前の各ノードコードによって確定たパスコードである。例えば、照会待ちのパスコードが１/２/３/４［２］である場合に、１/２/３/４に基づいて当該パスコードに対応するノードを探し、即ち、三つのitemノードであり、述語に基づいて全ての取得されたノードから第二itemノードを探し、取得された第二itemノードを変換されたパスコードに対応するノードとする。また、
第二、前記変換されたパスコードにおける、最後のノードコードを除くノードコードに述語が含まれる場合に、前記圧縮された文書において第一パスコードと一致するパスコードに対応するノードを検索し、取得されたノードが１つであり、かつ、前記取得されたノードが前記第一パスコードによって確定されたノードであれば、前記圧縮されたＸＭＬ文書において、前記変換されたパスコードと一致し、かつ、前記取得されたパスコードに対応するノードコードが含まれるパスコードを検索し、取得されたパスコードに対応するノードを前記変換されたパスコードに対応するノードとし、前記取得されたノードは１つ以上であれば、前記述語に基づいて取得されたノードから１つ以上のノードを確定し、前記圧縮されたＸＭＬ文書において、前記変換されたパスコードと一致し、かつ、前記取得されたノードから確定された１つ以上のノードに対応するノードコードが含まれるパスコードを検索し、取得されたパスコードに対応するノードを変換されたパスコードに対応するノードとする。例えば、照会待ちのパスコードが１/２/３/４［２］/５である場合に、１/２/３/４に基づいて当該パスコードに対応するノードを検索し、即ち、三つのitemノードであり、述語に基づいて全ての取得されたノードから第二itemノードを検索し、探し出された第二itemノードを含むコードパスは１/２/３/４/５と確定し、従って、１/２/３/４［２］/５に対応するノードが「id」ノードと確定し、取得された「id」ノードを変換されたパスコードに対応するノードとする。
【００６６】
照会待ちのパスコードが１/２/３/４［２］/６である場合に、表１から分かるように、当該「item」ノードの先行順が２１であり、当該ノードのサブノードの先行順が２１と３８の間にある。そのため、「location」ノードの先行順は２１と３８の間にあるサブノードがなければ、検索が失敗する。
【００６７】
照会待ちのパスコードが非決定性の照会パスである場合に、最後のノードが「item」ノードである全てのパスを検索し、シンプル照会パスにおいてサブノードを照会する方法で「item」ノードの全サブノードを照会して、照会結果を出力する。
【００６８】
文書構造情報に基づいて、検索待ちのパスコードに対応するデータ内容が存在すると確定される場合に、変換されたパスコードに対応するデータ内容を検索、検索する方法においては、圧縮されたＸＭＬ文書において変換されたパスコードと一致するパスコードに対応するデータ内容を検索するステップと、検索された結果における取得されたデータ内容の数は１である場合に、取得されたデータ内容を変換されたパスコードに対応するデータ内容とするステップと、検索された結果における取得されたデータ内容の数が２以上である場合に、取得されたデータ内容から、取得されたノードの先行順との差が１である先行順に対応するデータ内容を確定し、確定されたデータ内容を変換されたパスコードに対応するデータ内容とするステップ、とを備える。
【００６９】
図６に示される本発明のある実施形態において、対応するスキーマを有するＸＭＬ文書を圧縮するための装置が提供される。この装置は、ＸＭＬ文書の構造内容とデータ内容を抽出するための抽出部６１と、前記構造内容におけるノードのパスコードを確定し、記憶しておいた前記ノードの先行順に基づいて前記ノードに対応するデータ内容を確定するための確定部６２と、プリセット方法で前記構造内容におけるノードとノードのパスコードを処理して、処理されたノード、処理されたノードのパスコード及び前記データ内容をそれぞれ圧縮するための圧縮部６３と備えてもよく、ここで、前記構造内容はラベルにおける属性値とラベル同士の間にある内容を除外したＸＭＬ文書のラベルにおける内容を含み、前記ノードのパスコードは前記ノードと前記構造内容における他のノードによって構造内容における当該ノードの記憶位置を示す。
【００７０】
ある実施形態において、前記確定部６２は、構造内容におけるノードに対応する実際のパスに含まれる各ノードを対応するノードコードに置き換えて、置き換えられた後に取得されたパスを前記構造内容におけるノードのパスコードとするために使用されてもよく、ここで、前記ノードの実際のパスは前記ノードと前記構造内容における他のノードによって構造内容における当該ノードの実際の記憶位置を示す。
【００７１】
ある実施形態において、前記装置は、さらに、圧縮されたデータを記憶するための記憶部６４を備えてもよい。
【００７２】
ある実施形態において、前記装置は、さらに、圧縮の間に文書構造情報を生成するための生成部６５を備えてもよく、ここで、前記文書構造情報はデータの先行順とデータ内容の先行順の系列長とを含む。
【００７３】
ある実施形態において、前記圧縮部６３は前記生成部６５で生成された文書構造情報を圧縮するために使用されてもよい。
【００７４】
図７に示される本発明のある実施形態において、上記した圧縮方法で圧縮されたＸＭＬ文書を解凍するための装置が提供される。この解凍装置は、圧縮された前記ノードのパスコードと圧縮された文書構造情報を取得するための取得部７１と、圧縮された前記ノードのパスコードと圧縮された文書構造情報を解凍するための解凍部７２と、解凍された文書構造情報に基づいて解凍されたノードに対応する圧縮されたデータ内容を確定するためのデータ確定部７３と、解凍部７２によって解凍されたパスコードに対応するノードを出力し、データ確定部７３によって確定されたデータ内容を出力するための出力部７４と、を備えてもよい。前記装置は、例えば解凍部７２によって確定されて圧縮されたデータ内容を解凍して、当該データ内容を出力してもよい。
【００７５】
ある実施形態において、前記ＸＭＬ文書はノードの先行順とデータ内容の先行順とを含んでもよい。前記データ確定部７３は、さらに、解凍された前記ノードのパスコードと一致するパスコードに対応するデータ内容の先行順の系列長がゼロではない場合に、前記ノードの先行順より大きく、かつ、当該パスにおいて次のノードの先行順より小さい先行順に対応するデータ内容を解凍された前記ノードに対応するデータ内容と確定してもよい。
【００７６】
図８に示される本発明のある実施形態において、上記した圧縮方法で圧縮されたＸＭＬ文書を照会するための装置が提供される。この照会装置は、プリセット変換方法で入力された照会パスをパスコードに変換するための変換部８１と、圧縮されたＸＭＬ文書において変換されたパスコードに対応するノードを検索するためのノード検索部８２と、ノード検索部８２で取得されたノードに対応するデータ内容を検索するためのデータ検索部８３と、前記ノード検索部８２によって取得されたノードを照会結果として出力し、或いは、前記ノード検索部８２によって取得されたノードと前記データ検索部８３によって取得されたデータ内容を照会結果として出力するための出力部８４と、を備えてもよい。
【００７７】
ある実施形態において、前記変換部８１は、前記照会パスに含まれるノードを当該ノードに対応するノードコードに変換し、変換されたパスを前記照会パスのパスコードとするために使用されてもよい。
【００７８】
ある実施形態において、前記ノード検索部８２は、前記変換されたパスコードにおける最後のノードコードに述語が含まれる場合に、前記圧縮されたＸＭＬ文書において前記変換されたパスコードと一致するパスコードに対応するノードを検索し、取得されたノードが１つであり、かつ、前記取得されたノードが第一パスコードによって確定されたノードであれば、前記取得されたノードを前記変換されたパスコードに対応するノードとし、前記取得されたノードは１つ以上であれば、前記述語に基づいて前記取得されたノードから１つ以上のノードを確定し、１つ以上の確定されたノードを前記変換されたパスコードに対応するノードとし、ここで、前記述語は前記第一パスコードに対応する１つ以上のノードを表し、前記第一パスコードは前記変換されたパスコードにおける、前記述語を有するノードコードと前記述語を有するノードコードの前の各ノードコードによって確定されるパスコードであり、或いは、
前記変換されたパスコードにおける、最後のノードコードを除くノードコードに述語が含まれる場合に、前記圧縮された文書において第一パスコードと一致するパスコードに対応するノードを検索し、取得されたノードが１つであり、かつ、前記取得されたノードが前記第一パスコードによって確定されたノードであれば、前記圧縮されたＸＭＬ文書において、前記変換されたパスコードと一致し、かつ、前記取得されたパスコードに対応するノードコードが含まれるパスコードを検索し、取得されたパスコードに対応するノードを前記変換されたパスコードに対応するノードとし、前記取得されたノードは１つ以上であれば、前記述語に基づいて取得されたノードから１つ以上のノードを確定し、前記圧縮されたＸＭＬ文書において、前記変換されたパスコードと一致し、かつ、前記取得されたノードから確定された１つ以上のノードに対応するノードコードが含まれるパスコードを検索し、取得されたパスコードに対応するノードを変換されたパスコードに対応するノードとするために使用されてもよい。
【００７９】
ある実施形態において、前記データ検索部８３は、圧縮されたＸＭＬ文書において変換されたパスコードと一致するパスコードに対応するデータ内容を検索し、検索された結果における取得されたデータ内容の数は１である場合に、取得されたデータ内容を変換されたパスコードに対応するデータ内容とし、検索された結果における取得されたデータ内容の数が２以上である場合に、取得されたデータ内容から、取得されたノードの先行順との差が１である先行順に対応するデータ内容を確定し、確定されたデータ内容を変換されたパスコードに対応するデータ内容とするために使用されてもよい。
【００８０】
本発明のある実施形態において提供される圧縮方法は、構造内容とＸＭＬ文書のデータ内容を抽出し、ノードのパスコードとデータ内容のパスコードをそれぞれ確定し、ノードのパスコード、データ内容のパスコード及びデータ内容をそれぞれ圧縮する。以上から分かるように、当該方法によれば対応するスキーマを有するＸＭＬ文書を圧縮することができる。
【００８１】
本発明のある実施形態において提供される解凍方法は、圧縮されたノードのパスコード、圧縮されたデータ内容のパスコード及び圧縮された文書構造情報が取得され解凍された後に、解凍されたパスコードに対応するノードを出力し、解凍されたノードのパスコードと一致するパスコードを有する、圧縮されたデータ内容を確定し、確定されたデータ内容を解凍して出力する。以上から分かるように、当該方法によれば上記した圧縮方法で圧縮されたＸＭＬ文書を解凍することができる。
【００８２】
本発明のある実施形態において照会方法も提供される。上記した圧縮方法で圧縮された、対応するスキーマを有するＸＭＬ文書におけるノード及び／又はデータ内容の記憶パスはパスコードであるため、照会パスがパスコードに変換された後に、ノード及び／又はデータ内容を照会して、照会されたノード及び／又はデータを照会結果として出力することが可能である。当該方法によれば上記した圧縮方法で圧縮された対応するスキーマを有するＸＭＬ文書を照会することができる。
【００８３】
当業者であれば理解すべきであるように、本発明の実施形態は方法、システム、又はコンピュータープログラム製品のいずれでもよい。そのため、本発明の実施形態は、完全ハードウェア実施形態、完全ソフトウェア実施形態、或いはそれらの態様を組合せた実施形態の形態として採用されてもよい。更に、本発明の実施形態は、コンピュータ読み取り可能なプログラムコードを有する１つ以上のコンピュータ読み取り可能な可能な記憶媒体（ディスク記憶装置、ＣＤ-ＲＯＭ、光学メモリなどが含まれるが、限定されるものではない）上に具現化されたのコンピュータプログラム製品の形態として採用されてもよい。
【００８４】
本発明の実施形態に基づく方法、装置（システム）及びコンピュータプログラム製品のフローチャート図及び／又はブロック図を参照しながら本発明を説明する。フローチャート図の各フロー及び／又はブロック図の各ブロック、並びにその組み合わせは、コンピュータプログラム命令によって実施することができる点は理解されるであろう。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、内蔵されたプロセッサ、又は他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを形成し、これにより、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサで実行される命令によって、フローチャートにおける１つ以上のフロー及び／又はブロック図における１つ以上のブロックの特定機能を実施するように構成された装置が生成される。
【００８５】
当該コンピュータプログラム命令はまた、コンピュータ読み取り可能なメモリに記憶されることができ、当該命令は、コンピュータ又は他のプログラム可能なデータ処理装置に命令して特定の方式で機能させることができ、コンピュータ読み取り可能なメモリに記憶された命令が、フローチャートにおける１つ以上のフロー及び／又はブロック図における１つ上のブロックの特定機能を実施する命令装置を含む製品を生成するようにする。
【００８６】
当該コンピュータプログラム命令はまた、コンピュータ又は他のプログラム可能データ処理装置上にロードされることができ、一連の動作ステップをコンピュータ又は他のプログラム可能なデータ処理装置上で実行させてコンピュータで実施される処理を生成し、フローチャートにおける１つ以上のフロー及び／又はブロック図における１つ上のブロックの特定機能を実施するステップを提供するようにする。
【００８７】
以上より、本発明の好ましい実施形態が説明されたが、一旦、当業者が基本的な創造的な概念を学んだ場合に、これたの実施形態に対して様々な変更、修正を行なうことができる。従って、付加される請求項が好ましい実施形態と本発明の範囲内における全ての変更と修正を含むことと解釈されたい。
【００８８】
言うまでもなく、当業者にとって、本発明の主旨と原則を離脱しない範囲で、本発明に対して様々な変更や変化が可能である。当該変化や修正は本発明の請求項及び請求項と等価の範囲内にあれば、本発明にこれらの変化や修正が含まれるように意図されている。
【図１】
0005800441.tif 000003
【図２】
0005800441.tif 000004
【図３】
0005800441.tif 000005
【図４】
0005800441.tif 000006
【図５】
0005800441.tif 000007
【図６】
0005800441.tif 000008
【図７】
0005800441.tif 000009
【図８】
0005800441.tif 000010