(57)【要約】【課題】階層構造の形状に依存した処理を考慮して不要情報を削除する。【解決手段】ＸＭＬプロセッサ２０２は、ＸＭＬ文書２０８から検索式が抽出された場合、その検索式を解析して検索実行の為に必要な情報と検索式とを対応づけた検索式管理テーブルを格納する。上位ＸＭＬアプリケーション２０４から、記憶部内のノードの削除要求があった場合、ＸＭＬプロセッサ２０２は、検索式管理テーブルを参照して削除しようとするノードが検索式の検索対象か否かを判断し、検索対象のノードの場合、検索式管理テーブルの必要情報と削除対象ノードを比較して不要な情報のみを削除する。【選択図】図２
2005222465.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素による階層構造を含む構造化情報が記憶された記憶部と、
前記複数の要素に含まれる特定要素を検索するために前記階層構造内における特定要素までの経路を示した検索情報に基づいて、前記記憶された構造化情報のうちの前記経路を特定するために必要な情報を識別する識別部と、
前記識別された必要な情報を残して、前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除する削除処理部と、
を有する、
ことを特徴とする情報処理装置。
【請求項２】
複数の要素による階層構造を含む構造化情報が記憶された記憶部と、
前記複数の要素に含まれる特定要素を検索するための検索情報に基づいて、その特定要素のデータとその特定要素の検索情報とを対応付けた対応情報を生成する対応情報生成部と、
削除を要求された特定要素のうちの前記対応情報が生成された特定要素を前記記憶部から削除する削除処理部と、
を有する、
ことを特徴とする情報処理装置。
【請求項３】
複数の要素による階層構造を含む構造化情報が記憶された記憶部と、
前記複数の要素に含まれる特定要素を検索するための検索情報を解析する解析部と、
前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除する削除処理部と、
前記削除される前に解析が行われた削除前検索情報、および、前記削除された後の削除後構造化情報に基づいて、削除前検索情報に対応した特定要素を削除後構造化情報内で検索するための削除後検索情報を生成する検索情報再構成部と、
を有する、
ことを特徴とする情報処理装置。
【請求項４】
複数の要素による階層構造を含む構造化情報が記憶された記憶部と、
前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除し、削除した情報を補助記憶部へ退避する退避処理部と、
前記複数の要素に含まれる特定要素を検索するための検索情報に基づいて、前記検索情報から特定要素を検索するために必要な対象情報を識別する対象情報識別部と、
前記対象情報が前記補助記憶部へ退避されている場合に、前記補助記憶部から前記対象情報を取得する対象情報取得部と、
前記取得された対象情報を利用して前記検索情報から特定要素を検索する検索処理部と、
を有する、
ことを特徴とする情報処理装置。
【請求項５】
複数の要素による階層構造を含む構造化情報が記憶された記憶部から情報を削除するために情報処理装置が実行する情報処理方法であって、
前記複数の要素に含まれる特定要素を検索するために前記階層構造内における特定要素までの経路を示した検索情報に基づいて、前記記憶された構造化情報のうちの前記経路を特定するために必要な情報を識別し、
前記識別された必要な情報を残して、前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除する、
ことを特徴とする情報処理方法。
【請求項６】
請求項５に記載の情報処理方法であって、
前記検索情報に基づいて、その検索情報によって検索される特定要素に対応したデータを検索し、検索したデータのデータ量が所定量より小さいか否かを判断し、
前記データ量が所定量より小さいと判断された場合に、そのデータとその検索情報とを対応付けた対応情報を生成し、削除を要求された特定要素のうちの前記対応情報が生成された特定要素を前記記憶部から削除し、
前記データ量が所定量より小さくないと判断された場合に、前記識別された必要な情報を残して、前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除する、
ことを特徴とする情報処理方法。
【請求項７】
請求項５に記載の情報処理方法であって、
前記削除を要求された情報が検索情報による検索結果として返されるオブジェクトか否かを判断し、
検索結果として返されるオブジェクトでないと判断された場合に、削除を要求された情報を前記記憶部から削除し、
前記削除される前の削除前検索情報、および、前記削除された後の削除後構造化情報に基づいて、削除前検索情報に対応した特定要素を削除後構造化情報内で検索するための削除後検索情報を生成する、
ことを特徴とする情報処理方法。
【請求項８】
複数の要素による階層構造を含む構造化情報が記憶された記憶部から情報を削除するために情報処理装置が実行する情報処理方法であって、
前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除して削除した情報を補助記憶部へ退避し、
前記複数の要素に含まれる特定要素を検索するための検索情報に基づいて、前記検索情報から特定要素を検索するために必要な対象情報を識別し、
前記対象情報が前記補助記憶部へ退避されている場合に、前記補助記憶部から前記対象情報を取得する、
ことを特徴とする情報処理方法。
【請求項９】
請求項２に記載の情報処理装置であって、
前記検索情報に基づいて、その検索情報によって検索される特定要素に対応したデータを検索し、検索したデータのデータ量が所定量より小さいか否かを判断し、
前記データ量が所定量より小さいと判断された場合に、そのデータとその検索情報とを対応付けた対応情報を生成し、削除を要求された特定要素のうちの前記対応情報が生成された特定要素を前記記憶部から削除し、
前記データ量が所定量より小さくないと判断された場合に、前記検索情報に基づいて前記記憶された構造化情報のうちの経路を特定するために必要な情報として識別された情報を残して、前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除する、
ことを特徴とする情報処理装置。
【請求項１０】
請求項３に記載の情報処理装置であって、
前記削除を要求された情報が検索情報による検索結果として返されるオブジェクトか否かを判断し、
検索結果として返されるオブジェクトでないと判断された場合に、削除を要求された情報を前記記憶部から削除し、
前記削除される前の削除前検索情報、および、前記削除された後の削除後構造化情報に基づいて、削除前検索情報に対応した特定要素を削除後構造化情報内で検索するための削除後検索情報を生成する、
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の要素が階層的に記述された構造化情報を処理する情報処理装置に関する。
【背景技術】
【０００２】
装置／アプリケーション間のデータ交換フォーマットとして相互接続性や健読性等の理由からＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）が多く利用されている（例えば、特許文献１および特許文献２参照）。ＸＭＬは、様々なデータを仮想的な木構造状に配置し、個々のデータとそれらの関連を表現することが可能である。
【０００３】
このような意味的に構造化されたＸＭＬデータに対して要素データやその属性の取得／追加等の操作をする際、アプリケーションが「ＤＯＭライブラリ」を利用することが一般的である。ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）とは、ＸＭＬデータのあらゆる要素をノードとしてとらえ、ノードのツリー（ＤＯＭツリー）として展開するものである。
【０００４】
また目的とする要素データや属性等を検索する手段として、ＸＭＬデータの構造から検索を行う「ＸＰａｔｈライブラリ」を利用することも一般的である。ＸＰａｔｈ（ＸＭＬ  Ｐａｔｈ  Ｌａｎｇｕａｇｅ）とは、ＸＭＬ文書のＤＯＭツリーにおいて、起点となるノードから出発して目的のノードに至るまでの経路を表現するものである。
【０００５】
【特許文献１】特開２００２−２９７５６９号公報
【特許文献２】特開２００２−１０８８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＸＭＬは様々な装置において利用されている。装置によっては少ないメモリ量での動作を強いられている場合があり、そのため、上述したＸＭＬの木構造状のデータのうち不要となった要素データや属性データを消去することによりメモリ領域を開放するなどして、使用メモリ量を削減することが望ましい。もちろん、開放される領域のデータをハードディスク等へ退避することも考えられる。
【０００７】
しかし、上述したＸＰａｔｈライブラリを利用したデータの検索においては、対象とするデータ構造を踏まえた検索を行うため、一部分の要素データや属性データの開放によって、常に正しい検索結果が得られなくなってしまう。そのため、不要データ解放をする際、木構造の形状（枝／節データの有無）に依存する処理（例えばＸＰａｔｈ検索など）に影響を与え無いように削除するデータを選択する必要がある。
【０００８】
そこで、本発明は、階層構造の形状に依存した処理を考慮して不要情報を削除することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の好適な態様である情報処理装置は、複数の要素による階層構造を含む構造化情報が記憶された記憶部と、前記複数の要素に含まれる特定要素を検索するために前記階層構造内における特定要素までの経路を示した検索情報に基づいて、前記記憶された構造化情報のうちの前記経路を特定するために必要な情報を識別する識別部と、前記識別された必要な情報を残して、前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除する削除処理部とを有することを特徴とする。
【００１０】
この構成によれば、経路を特定するために必要な情報が残されるため、検索処理に利用される検索経路を確保しつつ不要情報を削除することができる。
【００１１】
また、上記目的を達成するために、本発明の好適な態様である情報処理装置は、複数の要素による階層構造を含む構造化情報が記憶された記憶部と、前記複数の要素に含まれる特定要素を検索するための検索情報に基づいて、その特定要素のデータとその特定要素の検索情報とを対応付けた対応情報を生成する対応情報生成部と、削除を要求された特定要素のうちの前記対応情報が生成された特定要素を前記記憶部から削除する削除処理部と、を有することを特徴とする。
【００１２】
この構成によれば、情報の削除の結果、検索情報によって特定要素の検索ができない場合でも、対応情報に基づいて、その特定要素に対応するデータを参照することが可能になる。つまり、検索処理の結果として必要なデータを確保しつつ不要情報を削除することができる。
【００１３】
また、上記目的を達成するために、本発明の好適な態様である情報処理装置は、複数の要素による階層構造を含む構造化情報が記憶された記憶部と、前記複数の要素に含まれる特定要素を検索するための検索情報を解析する解析部と、前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除する削除処理部と、前記削除される前に解析が行われた削除前検索情報、および、前記削除された後の削除後構造化情報に基づいて、削除前検索情報に対応した特定要素を削除後構造化情報内で検索するための削除後検索情報を生成する検索情報再構成部と、を有することを特徴とする。
【００１４】
この構成によれば、情報の削除の結果、削除前検索情報によって特定要素の検索ができない場合でも、削除後検索情報に基づいて特定要素を検索することができる。つまり、新たな検索情報によって特定要素の検索を可能にしつつ不要情報を削除することができる。
【００１５】
また、上記目的を達成するために、本発明の好適な態様である情報処理装置は、複数の要素による階層構造を含む構造化情報が記憶された記憶部と、前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除し、削除した情報を補助記憶部へ退避する退避処理部と、前記複数の要素に含まれる特定要素を検索するための検索情報に基づいて、前記検索情報から特定要素を検索するために必要な対象情報を識別する対象情報識別部と、前記対象情報が前記補助記憶部へ退避されている場合に、前記補助記憶部から前記対象情報を取得する対象情報取得部と、前記取得された対象情報を利用して前記検索情報から特定要素を検索する検索処理部と、を有することを特徴とする。
【００１６】
この構成によれば、特定要素を検索するために必要な対象情報を補助記憶部から取得することができるため、特定要素の検索を可能にしつつ記憶部から不要情報を削除することができる。
【００１７】
上記目的を達成するために、本発明の好適な態様である情報処理方法は、複数の要素による階層構造を含む構造化情報が記憶された記憶部から情報を削除するために情報処理装置が実行する情報処理方法であって、前記複数の要素に含まれる特定要素を検索するために前記階層構造内における特定要素までの経路を示した検索情報に基づいて、前記記憶された構造化情報のうちの前記経路を特定するために必要な情報を識別し、前記識別された必要な情報を残して、前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除する、ことを特徴とする。
【００１８】
望ましくは、前記検索情報に基づいて、その検索情報によって検索される特定要素に対応したデータを検索し、検索したデータのデータ量が所定量より小さいか否かを判断し、前記データ量が所定量より小さいと判断された場合に、そのデータとその検索情報とを対応付けた対応情報を生成し、削除を要求された特定要素のうちの前記対応情報が生成された特定要素を前記記憶部から削除し、前記データ量が所定量より小さくないと判断された場合に、前記識別された必要な情報を残して、前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除する、ことを特徴とする。望ましくは、前記削除を要求された情報が検索情報による検索結果として返されるオブジェクトか否かを判断し、検索結果として返されるオブジェクトでないと判断された場合に、削除を要求された情報を前記記憶部から削除し、前記削除される前の削除前検索情報、および、前記削除された後の削除後構造化情報に基づいて、削除前検索情報に対応した特定要素を削除後構造化情報内で検索するための削除後検索情報を生成する、ことを特徴とする。
【００１９】
また、上記目的を達成するために、本発明の好適な態様である情報処理方法は、複数の要素による階層構造を含む構造化情報が記憶された記憶部から情報を削除するために情報処理装置が実行する情報処理方法であって、前記記憶された構造化情報のうちの削除を要求された情報を前記記憶部から削除して削除した情報を補助記憶部へ退避し、前記複数の要素に含まれる特定要素を検索するための検索情報に基づいて、前記検索情報から特定要素を検索するために必要な対象情報を識別し、前記対象情報が前記補助記憶部へ退避されている場合に、前記補助記憶部から前記対象情報を取得する、ことを特徴とする。
【発明の効果】
【００２０】
本発明により、階層構造の形状に依存した処理に利用される情報を確保しつつ不要情報を削除することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【００２２】
図１は、本発明の好適な実施形態を説明するための図であり、図１には、本発明に係る情報処理装置の構成図が示されている。
【００２３】
情報処理装置１００は、操作部１０１、第１記憶部１０２、入出力部１０３、ＣＰＵ１０５、ネットワークＩ／Ｆ１０６、ＲＯＭ１０７を含んでおり、これらは内部バス１０８で互いに接続されている。また、入出力部１０３には第２記憶部１０４が接続されている。ＲＯＭ１０７内には、情報処理装置１００で利用される複数のプログラムが記憶されており、ＣＰＵ１０５はＲＯＭ１０７に記憶されたプログラムに従って動作する。
【００２４】
ＲＯＭ１０７には、情報処理装置１００をＸＭＬプロセッサとして機能させるＸＭＬ文書解析処理プログラム、ＸＭＬ文書を扱う上位ＸＭＬアプリケーションとして機能させるアプリケーションプログラムが記憶されている。さらに、ＤＯＭツリー作成処理を実行するプログラム、ＤＯＭインターフェースを実現するためのプログラムも記憶されている。これらプログラムによって実現される処理については後に、図２から図５を利用して説明する。
【００２５】
第１記憶部１０２は例えばＲＡＭにより構成され、作成されたＤＯＭツリー等を記憶する。入出力部１０３は各種データを入出力するためのインターフェースである。入出力部１０３には第２記憶部１０４が接続されている。第２記憶部１０４には、例えばハードディスク装置等が利用される。なお、操作部１０１は、ユーザから操作を受け付けるユーザインターフェースとして機能し、ネットワークＩ／Ｆ１０６は、情報処理装置１００が図示しないネットワークに接続された際に、ネットワークを介して情報の授受を行う通信インターフェースとして機能する。
【００２６】
図２は、図１の情報処理装置１００で実行される処理を説明するための図である。図２には、図１のＲＯＭ１０７内に記憶されたプログラムによって実現される機能が示されている。つまり、ＸＭＬプロセッサ（ＸＭＬパーサ）２０２、上位ＸＭＬアプリケーション２０４、ＤＯＭインターフェース２０６が示されている。
【００２７】
上位ＸＭＬアプリケーション２０４は、ＸＭＬ文書２０８を利用するアプリケーションであり、ＸＭＬ文書２０８に関するＤＯＭツリー作成指示と共にＸＭＬ文書２０８をＤＯＭインターフェース２０６経由でＸＭＬプロセッサ２０２に提供する。テキスト形式で記述されたＸＭＬ文書２０８はＸＭＬプロセッサ２０２によって解析され、解析結果としてＸＭＬ文書２０８の各要素をノードとする木構造で表現したオブジェクト（ＤＯＭツリー２１０）が作成される。上位ＸＭＬアプリケーション２０４は、ＤＯＭインターフェース２０６経由で、作成されたＤＯＭツリー２１０を参照し又は操作することができる。
【００２８】
図３は、ＸＭＬ文書の一例を示したものである。ＸＭＬ文書２０８はテキスト形式で記述されており、要素の始まりを示す開始タグ“＜  ＞”と終了を示す終了タグ“＜／    ＞”により複数の要素が階層的に表現されている。図３において、要素ｐｒｏｃは、タグ３０２を開始タグ、タグ３０４を終了タグとして記述されており、また、要素ｓｅｔは、タグ３０６を開始タグ、タグ３０８を終了タグとして記述されている。ＸＭＬ文書２０８では、複数の要素が入れ子構造で記述されて要素間の包含関係が表現される。つまり、より外側の要素を上位の要素とする階層構造で表現される。
【００２９】
図４は、図３のＸＭＬ文書２０８を解析した結果に対応する木構造のオブジェクト（ＤＯＭツリー２１０）を示している。ＸＭＬプロセッサ（図２の符号２０２）は、ＸＭＬ文書（図３の符号２０８）を文頭から順に読み込み、開始タグおよび、終了タグを次々に検出して、ＸＭＬ文書２０８の各要素の階層構造を解析し、解析結果に基づいて図４に示すＤＯＭツリー２１０を作成する。
【００３０】
図４では、ＸＭＬ文書２０８で最も外側の要素ｐｒｏｃが最上位のノードとして配置され、そして、要素ｐｒｏｃの直下に要素ｓｅｔと要素ｍｏｄｅのノードが並列的に配置される。さらに、要素ｓｅｔの直下に３つの要素ｐｒｍのノードが並列的に配置される。なお、各要素のノードの直下には、その要素の属性ノードや名前空間（Ｎａｍｅｓｐａｃｅ）も配置される。また、３つの要素ｐｒｍには、図３に示すように、それぞれテキスト（ｎａｍｅ１，ｎａｍｅ２，ｎａｍｅ３）が含まれており、ＤＯＭツリー２１０には、これらテキストに対応するテキストノードも反映されている。
【００３１】
ＸＭＬ文書の要素、属性、名前空間およびテキストは、図４に示すような木構造（階層構造）で表現できる。ＸＭＬ文書では、この構造を利用したＸＰａｔｈ（ＸＭＬ  Ｐａｔｈ  Ｌａｎｇｕａｇｅ）と呼ばれる検索式が利用される。
【００３２】
図５は、ＸＰａｔｈを説明するための図である。ＸＰａｔｈは、ＸＭＬ文書のＤＯＭツリー（図４の符号２１０参照）において、起点となるノードから出発して目的のノードに至るまでの経路を表現するものである。図５に示すＸＰａｔｈ（／ｐｒｏｃ／ｓｅｔ／ｐｒｍ［＠ｉｄ＝“１”］）の意味は次のとおりである。
【００３３】
つまり、ルートノード（図４における要素ｐｒｏｃの親ノードに相当）の子ノードであるｐｒｏｃ要素の子ノードであるｓｅｔ要素の、さらにその子ノードのｐｒｍ要素のうち、ｉｄ属性が指定されたノードが指定されている。このＸＰａｔｈ式において検索の為に必要な情報は、ルートノードの子ノードであるｐｒｏｃ要素、その子ノードのｓｅｔ要素、さらにその子ノードのｐｒｍ要素でｉｄ属性をもつノードとなる。本実施形態では、ＸＰａｔｈ式とその式に対応する検索の為に必要な情報とを対応づけた検索式管理テーブルが作成され、第１記憶部（図１の符号１０２）に記憶される。
【００３４】
図６は、本実施形態の情報処理装置において実行される処理の詳細を説明するためのフローチャートである。以下、図１および図２に記載した部分にはそれぞれの図で付した符号を利用して、図６のフローチャートを説明する。
【００３５】
まず、ＸＭＬプロセッサ２０２は、上位ＸＭＬアプリケーション２０４の指示を受け、ＸＭＬ文書２０８を取得するする（Ｓ６０１）。ＸＭＬプロセッサ２０２は、取得したＸＭＬ文書２０８の中にＸＰａｔｈ式（検索式）が含まれるか否かを調べて、ＸＰａｔｈ式が抽出された場合そのＸＰａｔｈ式を解析する（Ｓ６０２）。そして、ＸＭＬプロセッサ２０２は、ＸＰａｔｈ式の評価（検索実行）の為に必要な情報（図５参照）を解析し（Ｓ６０３）、解析した検索式と必要な情報とを対応づけた検索式管理テーブル（図５参照）を第１記憶部１０２に格納する（Ｓ６０４）。ＸＭＬ文書の中にＸＰａｔｈ式が複数含まれる場合、ＸＭＬプロセッサ２０２は、Ｓ６０２〜Ｓ６０４の各ステップを繰り返し、全てのＸＰａｔｈ式を抽出して必要な情報と対応づけして第１記憶部１０２に格納する。
【００３６】
次に、ＸＭＬプロセッサ２０２は、取得したＸＭＬ文書２０８の先頭から構造解析処理を実行する（Ｓ６０５）。この構造解析処理では、図３を利用して説明したように、開始タグや終了タグが順に検出される。なお、ＸＭＬ文書２０８が複数存在してもよく、さらに、ＸＰａｔｈ式が記述されているＸＭＬ文書２０８と、そのＸＰａｔｈ式によって参照されるデータを含むＸＭＬ文書２０８が別文書であってもよい。
【００３７】
そして、ＸＭＬプロセッサ２０２は、解析結果に基づいて木構造のオブジェクト（ＤＯＭツリー２１０）を作成し（Ｓ６０６）、作成したＤＯＭツリー２１０を第１記憶部１０２に格納する（Ｓ６０７）。格納されたＤＯＭツリー２１０は、上位ＸＭＬアプリケーション２０４によって参照される。
【００３８】
Ｓ６０８〜Ｓ６１２には、本実施形態の特徴的処理の一つであるＤＯＭツリー２１０の削除処理が示されている。つまり、使用メモリ量削減等の為に上位ＸＭＬアプリケーション２０４の指示により、格納されたＤＯＭツリー２１０を部分的に削除する処理を行う。ＸＭＬプロセッサ２０２は、上位ＸＭＬアプリケーション２０４から削除要求があるか否かを判断し（Ｓ６０８）、削除要求がない場合には、Ｓ６０５からＳ６０７の処理を実行して、ＤＯＭツリー２１０の作成を継続する。一方、削除要求があった場合、記憶している検索式管理テーブルを参照し、削除しようとするノードがＸＰａｔｈ式の検索対象か否かを判断する（Ｓ６０９）。検索対象のノードとは、検索式の結果として返されるオブジェクトに含まれるノードや、検索式による計算の為に必要なノードである。また、検索対象か否かの判定は、記憶されているすべてのＸＰａｔｈ式について行われる。検索対象のノードの場合、ＸＭＬプロセッサ２０２は、検索式管理テーブルの必要情報と削除対象ノードを比較して不要な部分を削除する（Ｓ６１０）。
【００３９】
ここで、図４のＤＯＭツリー２１０に関して、図５の検索式管理テーブルが存在する場合を例として、削除可能な不要な部分について説明する。図４のＤＯＭツリー２１０に対して、領域Ａ内のノードの削除、つまり、要素ｓｅｔのノードおよび二つの要素ｐｒｍのノードの削除（これらに付随するノードも含まれる）が要求されたとする。ところが、削除対象のノードのうち要素ｐｒｍ（その属性がｉｄ＝１）のノードは、図５に示す検索式（ＸＰａｔｈ式）の検索対象ノードとなっている。そこで、ＸＭＬプロセッサ２０２は、検索式管理テーブルの必要情報と削除対象ノードを比較して、削除対象ノードのうち必要情報以外のノードを不要な部分と判断する。つまり、図４における、「Ｂ」が付されたノードを不要な部分と判断して削除する。これらのノードが削除されても、ＸＰａｔｈ式の検索対象ノードである要素ｐｒｍ（その属性がｉｄ＝１）のノードまでの経路が確保される。すなわち、「Ｂ」のノードが削除されても、要素ｓｅｔのノードからの経路が確保され、ＸＰａｔｈ式による参照状態が保たれる。
【００４０】
図６に戻り、Ｓ６０９で検索対象ノードでないと判断された場合には、その削除指定ノードを削除する（Ｓ６１１）。そして、ＸＭＬ文書２０８の終わりまで解析処理が実行されたか否かを判断し（Ｓ６１２）、終了していない場合にはＳ６０５に戻り、Ｓ６０５以降の処理を再び実行する。一方、Ｓ６１２でＸＭＬ文書２０８の終わりまで解析処理が終了したと判断された場合には、解析結果である木構造（ＤＯＭツリー２１０）が上位ＸＭＬアプリケーション２０４に渡されて本フローが終了する。
【００４１】
図７は、ＤＯＭツリー削除処理の他の例を説明するための図であり、図６のＳ６０８〜Ｓ６１２に換えて実行される処理のフローチャートである。
【００４２】
ＸＰａｔｈ式の検索結果として返されるオブジェクト、つまり、ＸＰａｔｈ式で特定される要素に対応したデータの種類には、ノード集合、ブール値、数値、文字列などが挙げられる。これらの内容によっては、比較的少ないデータ量のオブジェクトがＸＰａｔｈ式の検索結果として返される場合がある。例えば、図８に示すように、検索式による検索結果としてブール値（Ｔｒｕｅ）や数値（５）のようにデータ量の少ないオブジェクトが対応する場合がある。このように、比較的少ないデータ量のオブジェクトの場合には、検索式と検索結果であるオブジェクトを直接対応づけて記憶しておき、検索式の実行時には結果として記憶しているオブジェクト（データ）を返すことにより、処理効率も上がり、より多くの情報を削減できる。以下、図７に戻りその処理について説明する。
【００４３】
Ｓ６０８（図６参照）において、ＤＯＭツリー２１０の一部を削除する指示を受取ると、ＸＭＬプロセッサ２０２は、削除しようとするノードがＸＰａｔｈ式の検索対象か否かを判断し（Ｓ７０１）、検索対象である場合、その検索結果となるオブジェクトが所定量以下であるか否かを判断する（Ｓ７０２）。Ｓ７０２では、例えば、検索結果がブール値や数値の場合にはこれらのデータ量が小さいため常に所定量以下と判断し、検索結果がノード集合ならＮノード以下であるか否かを判断し、検索結果が文字列ならＮ文字以下であるか否かを判断する。検索結果がＮバイト以下か否かを判断してもよい。
【００４４】
Ｓ７０２で所定量以下であると判断された場合はその検索式を実行し（Ｓ７０３）、検索結果と検索式を対応づけて第１記憶部１０２に記憶する（Ｓ７０４）。そして、削除を指定されたノードを削除する。Ｓ７０４で検索結果と検索式が対応づけられているため、検索対象のノードが削除されても検索結果であるオブジェクトの参照が可能になる。
【００４５】
なお、Ｓ７０２で、オブジェクトが所定量以下ではないと判断された場合には、検索式管理テーブルの必要な情報と削除対象ノードを比較して不要な部分のみを削除する（Ｓ７０６）。つまり、図６におけるＳ６１０と同じ処理を実行する。
【００４６】
図９は、ＤＯＭツリー削除処理のさらに他の例を説明するための図であり、図６のＳ６０８〜Ｓ６１２に換えて実行される処理のフローチャートである。検索対象のノードとは、検索式の結果として返されるオブジェクトに含まれるノードや、検索式による計算の為に必要なノードである。そこで、検索式による計算の為だけに必要なノードに対して削除要求があった場合には、そのノードを削除し、削除後のツリートポロジーを反映させた検索式を再作成し、削除後に検索式を実行する際には、再作成した検索式を用いて検索を実行する。これにより、さらに多くの情報を削減できる。
【００４７】
Ｓ６０８（図６参照）において、ＤＯＭツリー２１０の一部を削除する指示を受取ると、ＸＭＬプロセッサ２０２は、削除しようとするノードがＸＰａｔｈ式の検索対象か否かを判断する（Ｓ９０１）。検索対象である場合、削除ノードが検索式の結果として返されるオブジェクト（直接参照）か否かを判断する（Ｓ９０２）。直接参照でない場合、指定ノードの削除後も検索式が同じ結果を導き出せるような式を再作成し（Ｓ９０３）、元の検索式と再作成した検索式を対応づけて第１記憶部１０２に記憶する（Ｓ９０４）。そして指定のノードを削除する（Ｓ９０５）。
【００４８】
図１０は、検索式と再作成した検索式を対応させた管理テーブルを説明するための図である。検索式（／ｐｒｏｃ／ｓｅｔ／ｐｒｍ［２］）は、ルートノードの子ノードのｐｒｏｃ要素の子ノードのｓｅｔ要素の子ノードの２番目のｐｒｍ要素を示すＸＰａｔｈ式であり、図４のＤを検索する検索式に相当する。ここで、検索対象だが直接参照ではない図４のＣの削除が指定された場合、つまり、ｓｅｔ要素の子ノードの１番目のｐｒｍ要素が指定され削除されると、削除後、元の２番目のｐｒｍ要素（図４のＤ）が１番目のｐｒｍ要素となる。そこで、検索式を（／ｐｒｏｃ／ｓｅｔ／ｐｒｍ［１］）と再作成することでＣの削除後も同じＤを検索することが可能になる。
【００４９】
図９に戻り、Ｓ９０２で直接参照と判断された場合には、検索式管理テーブルの必要な情報と削除対象ノードを比較して不要な部分のみを削除する（Ｓ９０６）。つまり、図６におけるＳ６１０と同じ処理を実行する。
【００５０】
図１１は、本実施形態の情報処理装置において実行される、ＸＭＬ文書の解析および退避処理を説明するためのフローチャートである。
【００５１】
まず、ＸＭＬプロセッサ２０２は、上位ＸＭＬアプリケーション２０４の指示を受け、ＸＭＬ文書２０８を取得する（Ｓ１１０１）。ＸＭＬプロセッサ２０２は、取得したＸＭＬ文書２０８を文書の最初から順次解析し（Ｓ１１０２）、ＸＰａｔｈ式（検索式）が含まれるか否かを調べ（Ｓ１１０３）、ＸＰａｔｈ式が抽出された場合、そのＸＰａｔｈ式を解析する（Ｓ１１０４）。
【００５２】
そして、ＸＭＬプロセッサ２０２は、ＸＰａｔｈ式の評価（検索実行）の為に必要な情報（図５参照）を解析し（Ｓ１１０５）、解析した検索式と必要な情報を対応づけた対応データを検索式管理テーブルに格納する（Ｓ１１０６）。さらに、ＸＭＬプロセッサ２０２は、検索式の検索対象となっているノードがすでに解析済みか否かを判断し（Ｓ１１０７）、解析済みの場合、対象ノードが退避されているか否かを判断する（Ｓ１１０８）。対象ノードが退避済みの場合、退避されたノードの情報を第２記憶部１０４から取得して（Ｓ１１０９）、検索式を実行し（Ｓ１１１０）、検索式と実行結果を対応づけて管理テーブルに登録する（Ｓ１１１１）。
【００５３】
図１２は、第２記憶部に退避されたノードが参照された場合、つまり、図１１のＳ１１０８およびＳ１１０９において実行される処理を説明するためのフローチャートである。  まず、ＸＰａｔｈ式によるノードの参照指定を受け付け（Ｓ１２０１）、検索式の管理テーブルを参照する（Ｓ１２０２）。そして、検索対象ノードがすでに退避されているノードか否かを判別し（Ｓ１２０３）、退避されているノードの場合、検索実行に必要な情報を判別し（Ｓ１２０４）、必要情報のみを第２記憶部から取得する（Ｓ１２０５）。なお、Ｓ１２０３で退避されていないノードであると判断された場合、Ｓ１２０４およびＳ１２０５の処理は実行しない。
【００５４】
図１１に戻り、Ｓ１１０３でＸＰａｔｈ式が抽出されない場合、ＸＭＬ文書の解析結果に基づいてＤＯＭツリーを作成し（Ｓ１１１２）、作成したＤＯＭツリーを第１記憶部１０２に格納する（Ｓ１１１３）。そして、Ｓ１１１３で作成したノードが記憶されている検索式の検索対象であり、検索が実行されているか否かを判断し（Ｓ１１１４）、未実行の場合には、Ｓ１１０８の処理に移る。
【００５５】
Ｓ１１１５では、上位ＸＭＬアプリケーション２０４から削除要求があるか否かを判断し、削除要求があった場合、指定されたノードを第２記憶部１０４に退避する（Ｓ１１１６）。この際、例えば図１３に示すように、退避するノード（退避ノード）とその退避先の所在（文書退避先）とを関連づけた退避文書管理テーブルを作成し保持しておく。そして、ＸＭＬ文書の終了まで達したか否かを判断し（Ｓ１１１７）、終了していない場合にはＳ１１０２に戻り、また、終了している場合には本フローを終了する。
【００５６】
図１４は、第２記憶部にノードを退避させる場合、つまり、図１１のＳ１１１６において実行される処理を説明するためのフローチャートである。Ｓ１１１５（図１１）で削除指定があると、削除ノードのデータをテキスト形式のデータに変換し（Ｓ１４０１）、そのテキストを圧縮する（Ｓ１４０２）。そして圧縮したデータを第２記憶部に退避して退避文書管理テーブル（図１３参照）を作成して第１記憶部内に格納する（Ｓ１４０３）。
【００５７】
図６を利用して説明した処理では、ＸＭＬ文書の解析処理前に検索式を抽出する必要があるが、図１１から図１４を利用して説明した処理、つまり、ＸＭＬ文書の解析および退避処理では、先に検索式を抽出する処理が不要となる。
【００５８】
以上、本発明の好適な実施形態を説明したが、上述した実施形態は、あらゆる点で単なる例示にすぎず、本発明の範囲を限定するものではない。
【図面の簡単な説明】
【００５９】
【図１】本発明に係る情報処理装置の構成図である。
【図２】情報処理装置で実行される処理を説明するための図である。
【図３】ＸＭＬ文書の一例を示した図である。
【図４】木構造のオブジェクトを示す図である。
【図５】ＸＰａｔｈを説明するための図である。
【図６】本実施形態の情報処理装置において実行される処理の詳細を説明するためのフローチャートである。
【図７】ＤＯＭツリー削除処理の他の例を説明するための図である。
【図８】検索式による検索結果を説明するための図である。
【図９】ＤＯＭツリー削除処理のさらに他の例を説明するための図である。
【図１０】検索式と再作成した検索式を対応させた管理テーブルを説明するための図である。
【図１１】本実施形態の情報処理装置において実行される、ＸＭＬ文書の解析および退避処理を説明するためのフローチャートである。
【図１２】第２記憶部に退避されたノードが参照された場合の処理を説明するための図である。
【図１３】退避文書管理テーブルを説明するための図である。
【図１４】第２記憶部にノードを退避させる場合の処理を説明するための図である。
【符号の説明】
【００６０】
１００  情報処理装置、２０２  ＸＭＬプロセッサ、２０４  上位ＸＭＬアプリケーション、２０６  ＤＯＭインターフェース、２０８  ＸＭＬ文書、２１０  ＤＯＭツリー。
【図１】
2005222465.tif 000003
【図２】
2005222465.tif 000004
【図３】
2005222465.tif 000005
【図４】
2005222465.tif 000006
【図５】
2005222465.tif 000007
【図６】
2005222465.tif 000008
【図７】
2005222465.tif 000009
【図８】
2005222465.tif 000010
【図９】
2005222465.tif 000011
【図１０】
2005222465.tif 000012
【図１１】
2005222465.tif 000013
【図１２】
2005222465.tif 000014
【図１３】
2005222465.tif 000015
【図１４】
2005222465.tif 000016