(57)【要約】 【課題】  処理対象となる順序木の通信量を低減するのに好適な情報処理システム等を提供する。【解決手段】  情報処理システム４０１の処理装置４５１は、蓄積装置４３１に、順序木内の位置を指定する取得要求を送信し、蓄積装置４３１は、記憶している順序木から、取得要求に指定された部分木を抽出し、抽出された部分木に参照されている他の部分木をすべて抽出し、抽出されたすべての部分木に元の順序木における位置情報を付加した剪定木を処理装置４５１に送信し、処理装置４５１は、受信した剪定木に所定の処理をして更新すべき結果部分木を生成し、これを蓄積装置４３１に送信し、蓄積装置４３１は、順序木の受信した結果部分木に付加された位置に当該結果部分木を書き込んで置換更新する。【選択図】  図４
2005234900.tif 000002
【特許請求の範囲】
【請求項１】
蓄積装置と、処理装置と、を備える情報処理システムであって、
（ａ）前記蓄積装置は、
順序木を記憶する記憶部を備え、
前記記憶される順序木の各ノードには、当該ノードが参照する当該順序木における他のノードを指定する参照属性情報を付加することができ、
（ｂ）前記処理装置は、
前記蓄積装置に記憶される順序木に含まれる部分木の根ノードの位置を指定する取得要求を、前記蓄積装置に送信する取得要求送信部を備え、
（ｃ）前記蓄積装置は、
前記処理装置から送信された取得要求を受信する取得要求受信部と、
前記受信された取得要求に指定される位置を根ノードとする部分木（以下「第１部分木」という。）を、前記記憶される順序木から抽出し、抽出された部分木に参照される部分木（以下「第２部分木」という。）をさらに抽出する抽出部と、
前記抽出された１つ以上の部分木を処理対象として前記処理装置に送信する対象部分木送信部と、をさらに備え、
第２部分木とは、
（ｘ）第１部分木に含まれるノードに付加された参照属性情報により参照されるノードを根ノードとする他の部分木、もしくは、
（ｙ）ある第２部分木に含まれるノードに付加された参照属性情報により参照されるノードを根ノードとする他の部分木
をいい、
前記抽出部は、当該抽出された１つ以上の部分木のそれぞれの根ノードに、当該順序木における当該根ノードの位置を指定する位置属性情報を付加し、
（ｄ）前記処理装置は、
前記蓄積装置から送信された１つ以上の部分木を受信する対象部分木受信部と、
前記受信された１つ以上の部分木に対して所定の処理を行い、新たな１つ以上の部分木を生成する処理生成部と、
前記生成された１つ以上の部分木を処理結果として前記蓄積装置に送信する結果部分木送信部と、をさらに備え、
前記処理生成部は、前記生成される１つ以上の部分木のそれぞれの根ノードに、前記蓄積装置に蓄積される順序木における当該根ノードの位置を指定する位置属性情報を付加し、
（ｅ）前記蓄積装置は、
前記処理装置から送信された１つ以上の部分木を受信する結果部分木受信部と、
前記受信された１つ以上の部分木のそれぞれ（以下、それぞれを「置換結果部分木」という。）について、前記記憶される順序木において、「『当該置換結果部分木の根ノードに付加された位置属性情報に指定される位置』を根ノードとする部分木（以下、「置換対象部分木」という。）」を、当該置換結果部分木に置換して更新する置換更新部と、をさらに備える
ことを特徴とするもの。
【請求項２】
請求項１に記載の情報処理システムであって、
前記蓄積装置において、前記記憶部に記憶される順序木は、ＸＭＬ（eXtensible Markup Language）形式データであり、
前記蓄積装置と、前記処理装置と、の間で送信ならびに受信される部分木は、ＸＭＬ形式データであり、
当該参照属性情報ならびに当該位置属性情報は、当該根ノードに対応する要素の属性として表現される
ことを特徴とするもの。
【請求項３】
請求項２に記載の情報処理システムであって、
前記処理装置において、前記処理生成部は、
前記受信された１つ以上の部分木に含まれる木に対応付けられる要素の内容が、実行可能なプログラムを表現する文字列である場合（以下、当該要素を「実行可能要素」という。）、当該プログラムを実行して、当該実行結果を表す文字列を含む要素（以下、当該要素を「実行結果要素」という。）で、当該実行可能要素に置き換えたものに対応付けられる部分木を生成する
ことを特徴とするもの。
【請求項４】
請求項３に記載の情報処理システムであって、
前記処理装置において、前記処理生成部は、
前記受信された１つ以上の部分木に含まれる木に対応付けられる要素の内容が、実行可能なプログラムを表現する文字列である場合（以下、当該要素を「実行可能要素」という。）、当該プログラムを実行して、当該実行結果を表す文字列を含む要素（以下、当該要素を「実行結果要素」という。）を、当該実行可能要素に追加したものに対応付けられる部分木を生成する
ことを特徴とするもの。
【請求項５】
請求項３または４に記載の情報処理システムであって、
前記処理装置において、前記処理生成部は、
当該実行可能要素に参照属性情報が付加されている場合、当該参照属性情報に指定される部分木に対応付けられる要素の内容を、当該プログラムにパラメータとして与えて実行させる
ことを特徴とするもの。
【請求項６】
請求項１から５のいずれか１項に記載の情報処理システムであって、
「前記処理装置が当該取得要求送信部を備え、前記蓄積装置が当該取得要求受信部を備える」のにかえて、
前記蓄積装置は、前記記憶部に記憶される順序木に含まれる部分木の根ノードの位置を指定する取得要求を他の機器（コンピュータ通信網を介して当該蓄積装置と通信可能に接続される情報処理装置やユーザから当該位置を指定する指示入力を受け付ける入力装置を含む。）から受信する取得要求受信部を備える
ことを特徴とするもの。
【請求項７】
請求項１から６のいずれか１項の情報処理システムにおける蓄積装置。
【請求項８】
請求項１から６のいずれか１項の情報処理システムにおける処理装置。
【請求項９】
請求項７に記載の蓄積装置と通信し、取得要求送信部と、対象部分木受信部と、処理生成部と、結果部分木送信部と、を備える処理装置にて実行される処理方法であって、
前記取得要求送信部が、前記蓄積装置に記憶される順序木に含まれる部分木の根ノードの位置を指定する取得要求を、前記蓄積装置に送信する取得要求送信工程と、
前記対象部分木受信部が、前記蓄積装置から送信された１つ以上の部分木を受信する対象部分木受信工程と、
前記処理生成部が、前記受信された１つ以上の部分木に対して所定の処理を行い、新たな１つ以上の部分木を生成する処理生成工程と、
前記結果部分木送信部が、前記生成された１つ以上の部分木を処理結果として前記蓄積装置に送信する結果部分木送信工程と、を備え、
前記処理生成工程では、前記生成される１つ以上の部分木のそれぞれの根ノードに、前記蓄積装置に蓄積される順序木における当該根ノードの位置を指定する位置属性情報を付加する
ことを特徴とする方法。
【請求項１０】
請求項８に記載の処理装置と通信し、記憶部と、取得要求受信部と、抽出部と、対象部分木送信部と、結果部分木受信部と、置換更新部と、を備える蓄積装置にて実行される蓄積方法であって、
前記記憶部は、順序木を記憶し、前記記憶される順序木の各ノードには、当該ノードが参照する当該順序木における他のノードを指定する参照属性情報を付加することができ、
前記取得要求受信部が、前記処理装置から送信された取得要求を受信する取得要求受信工程と、
前記抽出部が、前記受信された取得要求に指定される位置を根ノードとする部分木（以下「第１部分木」という。）を、前記記憶される順序木から抽出し、抽出された部分木に参照される部分木（以下「第２部分木」という。）をさらに抽出する抽出工程と、
前記対象部分木送信部が、前記抽出された１つ以上の部分木を処理対象として前記処理装置に送信する対象部分木送信工程と、を備え、
第２部分木とは、
（ｘ）第１部分木に含まれるノードに付加された参照属性情報により参照されるノードを根ノードとする他の部分木、もしくは、
（ｙ）ある第２部分木に含まれるノードに付加された参照属性情報により参照されるノードを根ノードとする他の部分木
をいい、
前記抽出工程では、当該抽出された１つ以上の部分木のそれぞれの根ノードに、当該順序木における当該根ノードの位置を指定する位置属性情報を付加し、
前記結果部分木受信部が、前記処理装置から送信された１つ以上の部分木を受信する結果部分木受信工程と、
前記置換更新部が、前記受信された１つ以上の部分木のそれぞれ（以下、それぞれを「置換結果部分木」という。）について、前記記憶される順序木において、「『当該置換結果部分木の根ノードに付加された位置属性情報に指定される位置』を根ノードとする部分木（以下、「置換対象部分木」という。）」を、当該置換結果部分木に置換して更新する置換更新工程と、をさらに備える
ことを特徴とする方法。
【請求項１１】
コンピュータを、請求項７に記載の蓄積装置の各部として機能させることを特徴とするプログラム。
【請求項１２】
コンピュータを、請求項８に記載の処理装置の各部として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、順序木を蓄積する蓄積装置と当該蓄積された順序木を処理する処理装置とからなる情報処理システムにおいて、処理対象となる順序木の通信量を低減するのに好適な情報処理システム、蓄積装置、処理装置、蓄積方法、処理方法、ならびに、これらをコンピュータにて実現するためのプログラムに関する。
【背景技術】
【０００２】
従来から、構造化された文書であるＸＭＬ（eXtensible Markup Language）形式文書を処理する各種の技術が提案されている。
【特許文献１】特開２００２−１８２９１５号公報
【０００３】
[特許文献１]には、ＸＭＬ形式文書をＤＯＭ（Document Object Model）技術に基づいて処理する技術が開示されている。ＤＯＭ技術では、ＸＭＬ文書を順序木構造として扱う。ここで、順序木とは、木構造のうち、共通する親ノードを有する兄弟ノードに順序が付けられているものをいい、ＤＯＭ技術では、ＸＭＬ文書全体を解析してＤＯＭ木としてメモリ上に保存して処理を行う。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＸＭＬ文書が蓄積される蓄積装置と、ＸＭＬ文書が処理される処理装置とがコンピュータ通信網で接続されているときに、データの多いＸＭＬ文書を処理したい場合には、処理装置にて多くのメモリを消費するほか、通信によってＤＯＭ木をやりとりすることとなるため、通信量が極めて多くなり、処理が遅くなってしまうなどの効率上の問題が生ずる。
【０００５】
本発明は、上記の課題を解決するもので、順序木を蓄積する蓄積装置と当該蓄積された順序木を処理する処理装置とからなる情報処理システムにおいて、処理対象となる順序木の通信量を低減するのに好適な情報処理システム、蓄積装置、処理装置、蓄積方法、処理方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００７】
本発明の第１の観点に係る情報処理システムは、蓄積装置と、処理装置と、を備え、以下のように構成する。
【０００８】
すなわち、蓄積装置は、記憶部を備える。
【０００９】
ここで、記憶部は、順序木を記憶し、記憶される順序木の各ノードには、当該ノードが参照する当該順序木における他のノードを指定する参照属性情報を付加することができる。
【００１０】
一方、処理装置は、取得要求送信部を備える。
【００１１】
ここで、取得要求送信部は、蓄積装置に記憶される順序木に含まれる部分木の根ノードの位置を指定する取得要求を、蓄積装置に送信する。
【００１２】
さらに、蓄積装置は、取得要求受信部と、抽出部と、対象部分木送信部と、をさらに備える。
【００１３】
ここで、取得要求受信部は、処理装置から送信された取得要求を受信する。
【００１４】
一方、抽出部は、受信された取得要求に指定される位置を根ノードとする部分木（以下「第１部分木」という。）を、記憶される順序木から抽出し、抽出された部分木に参照される部分木（以下「第２部分木」という。）をさらに抽出する。
【００１５】
さらに、対象部分木送信部は、抽出された１つ以上の部分木を処理対象として処理装置に送信する。
【００１６】
ここで、第２部分木とは、
（ｘ）第１部分木に含まれるノードに付加された参照属性情報により参照されるノードを根ノードとする他の部分木、もしくは、
（ｙ）ある第２部分木に含まれるノードに付加された参照属性情報により参照されるノードを根ノードとする他の部分木
をいう。
【００１７】
また、抽出部は、当該抽出された１つ以上の部分木のそれぞれの根ノードに、当該順序木における当該根ノードの位置を指定する位置属性情報を付加する。
【００１８】
一方、処理装置は、対象部分木受信部と、処理生成部と、結果部分木送信部と、をさらに備える。
【００１９】
ここで、対象部分木受信部は、蓄積装置から送信された１つ以上の部分木を受信する。
【００２０】
一方、処理生成部は、受信された１つ以上の部分木に対して所定の処理を行い、新たな１つ以上の部分木を生成する。
【００２１】
さらに、結果部分木送信部は、生成された１つ以上の部分木を処理結果として蓄積装置に送信する。
【００２２】
ここで、処理生成部は、生成される１つ以上の部分木のそれぞれの根ノードに、蓄積装置に蓄積される順序木における当該根ノードの位置を指定する位置属性情報を付加する。
【００２３】
一方、蓄積装置は、結果部分木受信部と、置換更新部と、をさらに備える。
【００２４】
ここで、結果部分木受信部は、処理装置から送信された１つ以上の部分木を受信する。
【００２５】
さらに、置換更新部は、受信された１つ以上の部分木のそれぞれ（以下、それぞれを「置換結果部分木」という。）について、記憶される順序木において、「『当該置換結果部分木の根ノードに付加された位置属性情報に指定される位置』を根ノードとする部分木（以下、「置換対象部分木」という。）」を、当該置換結果部分木に置換して更新する。
【００２６】
また、本発明の情報処理システムは、以下のように構成することができる。
【００２７】
すなわち、蓄積装置において、記憶部に記憶される順序木は、ＸＭＬ形式データであり、蓄積装置と、処理装置と、の間で送信ならびに受信される部分木は、ＸＭＬ形式データであり、当該参照属性情報ならびに当該位置属性情報は、当該根ノードに対応する要素の属性として表現される。
【００２８】
また、本発明の情報処理システムは、以下のように構成することができる。
【００２９】
すなわち、処理装置において、処理生成部は、受信された１つ以上の部分木に含まれる木に対応付けられる要素の内容が、実行可能なプログラムを表現する文字列である場合（以下、当該要素を「実行可能要素」という。）、当該プログラムを実行して、当該実行結果を表す文字列を含む要素（以下、当該要素を「実行結果要素」という。）で、当該実行可能要素に置き換えたものに対応付けられる部分木を生成する。
【００３０】
また、本発明の情報処理システムは、以下のように構成することができる。
【００３１】
すなわち、処理装置において、処理生成部は、受信された１つ以上の部分木に含まれる木に対応付けられる要素の内容が、実行可能なプログラムを表現する文字列である場合（以下、当該要素を「実行可能要素」という。）、当該プログラムを実行して、当該実行結果を表す文字列を含む要素（以下、当該要素を「実行結果要素」という。）を、当該実行可能要素に追加したものに対応付けられる部分木を生成する。
【００３２】
また、本発明の情報処理システムは、以下のように構成することができる。
【００３３】
すなわち、処理装置において、処理生成部は、当該実行可能要素に参照属性情報が付加されている場合、当該参照属性情報に指定される部分木に対応付けられる要素の内容を、当該プログラムにパラメータとして与えて実行させる。
【００３４】
また、本発明の情報処理システムは、「処理装置が当該取得要求送信部を備え、蓄積装置が当該取得要求受信部を備える」のにかえて、蓄積装置は、記憶部に記憶される順序木に含まれる部分木の根ノードの位置を指定する取得要求を他の機器から受信する取得要求受信部を備えるように構成することができる。
【００３５】
ここで、他の機器とは、コンピュータ通信網を介して当該蓄積装置と通信可能に接続される情報処理装置であっても良いし、ユーザから当該位置を指定する指示入力を受け付ける入力装置であっても良い。
【００３６】
本発明のその他の観点に係る蓄積装置は、上記情報処理システムにおける蓄積装置である。
【００３７】
本発明のその他の観点に係る処理装置は、上記情報処理システムにおける処理装置である。
【００３８】
本発明のその他の観点に係る処理方法は、上記蓄積装置と通信し、取得要求送信部と、対象部分木受信部と、処理生成部と、結果部分木送信部と、を備える処理装置にて実行され、取得要求送信工程と、対象部分木受信工程と、処理生成工程と、結果部分木送信工程と、を備え、以下のように構成する。
【００３９】
すなわち、取得要求送信工程では、取得要求送信部が、蓄積装置に記憶される順序木に含まれる部分木の根ノードの位置を指定する取得要求を、蓄積装置に送信する。
【００４０】
一方、対象部分木受信工程では、対象部分木受信部が、蓄積装置から送信された１つ以上の部分木を受信する。
【００４１】
さらに、処理生成工程では、処理生成部が、受信された１つ以上の部分木に対して所定の処理を行い、新たな１つ以上の部分木を生成する。
【００４２】
そして、結果部分木送信工程では、結果部分木送信部が、生成された１つ以上の部分木を処理結果として蓄積装置に送信する。
【００４３】
ここで、処理生成工程では、生成される１つ以上の部分木のそれぞれの根ノードに、蓄積装置に蓄積される順序木における当該根ノードの位置を指定する位置属性情報を付加する。
【００４４】
本発明のその他の観点に係る蓄積方法は、上記処理装置と通信し、記憶部と、取得要求受信部と、抽出部と、対象部分木送信部と、結果部分木受信部と、置換更新部と、を備える蓄積装置にて実行され、取得要求受信工程と、抽出工程と、対象部分木送信工程と、結果部分木受信工程と、置換更新工程と、を備え、以下のように構成する。
【００４５】
すなわち、記憶部は、順序木を記憶し、記憶される順序木の各ノードには、当該ノードが参照する当該順序木における他のノードを指定する参照属性情報を付加することができる。
【００４６】
一方、取得要求受信工程では、取得要求受信部が、処理装置から送信された取得要求を受信する。
【００４７】
さらに、抽出工程では、抽出部が、受信された取得要求に指定される位置を根ノードとする部分木（以下「第１部分木」という。）を、記憶される順序木から抽出し、抽出された部分木に参照される部分木（以下「第２部分木」という。）をさらに抽出する。
【００４８】
そして、対象部分木送信工程では、対象部分木送信部が、抽出された１つ以上の部分木を処理対象として処理装置に送信する。
【００４９】
ここで、第２部分木とは、
（ｘ）第１部分木に含まれるノードに付加された参照属性情報により参照されるノードを根ノードとする他の部分木、もしくは、
（ｙ）ある第２部分木に含まれるノードに付加された参照属性情報により参照されるノードを根ノードとする他の部分木
をいう。
【００５０】
一方、抽出工程では、当該抽出された１つ以上の部分木のそれぞれの根ノードに、当該順序木における当該根ノードの位置を指定する位置属性情報を付加する。
【００５１】
さらに、結果部分木受信工程では、結果部分木受信部が、処理装置から送信された１つ以上の部分木を受信する。
【００５２】
そして、置換更新工程では、置換更新部が、受信された１つ以上の部分木のそれぞれ（以下、それぞれを「置換結果部分木」という。）について、記憶される順序木において、「『当該置換結果部分木の根ノードに付加された位置属性情報に指定される位置』を根ノードとする部分木（以下、「置換対象部分木」という。）」を、当該置換結果部分木に置換して更新する。
【００５３】
本発明のその他の観点に係るプログラムは、コンピュータを、上記蓄積装置の各部として機能させるように構成する。
【００５４】
本発明のその他の観点に係るプログラムは、コンピュータを、上記処理装置の各部として機能させるように構成する。
【００５５】
上記のプログラムは、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）やＦＤ（Flexible Disk）などの各種の記録媒体に記録することができるほか、インターネットなどのコンピュータ通信網を介して配布することができる。
【発明の効果】
【００５６】
本発明によれば、順序木を蓄積する蓄積装置と当該蓄積された順序木を処理する処理装置とからなる情報処理システムにおいて、処理対象となる順序木の通信量を低減するのに好適な情報処理システム、蓄積装置、処理装置、蓄積方法、処理方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することができ、ＸＭＬ形式文書の処理において、通信量や使用メモリ量をできるだけ低減して当該処理を効率良く行うことができるようになる。
【発明を実施するための最良の形態】
【００５７】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【実施例１】
【００５８】
図１は、本発明の蓄積装置や処理装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、図１を参照して説明する。
【００５９】
情報処理装置１０１は、ＣＰＵ（Central Processing Unit；中央処理ユニット）１０２によって制御される。情報処理装置１０１に電源を投入すると、ＣＰＵ  １０２は、ＲＯＭ  １０３に記憶されたＩＰＬ（Initial Program Loader；初期プログラムローダ）を実行する。
【００６０】
ＩＰＬは、ハードディスク１０４、ＦＤドライブ１１０に装着されたＦＤ、ＣＤ−ＲＯＭドライブ１１１に装着されたＣＤ−ＲＯＭなどの記録媒体に記憶されたＯＳ（Operating System；オペレーティング・システム）プログラムを読み出して実行するプログラムである。
【００６１】
ＯＳを起動した後、ＣＰＵ  １０２は、キーボード１０５やマウス１０６などにより入力されたユーザの指示にしたがって、あるいは、ハードディスクなどにあらかじめ記述された設定ファイルの内容にしたがって、ハードディスクなどに記憶されたアプリケーションプログラムを実行する。
【００６２】
当該アプリケーションプログラムを実行することにより、情報処理装置１０１は、設計支援装置として機能することとなる。
【００６３】
ハードディスク１０４、ＦＤドライブ１１０に装着されたＦＤ、ＣＤ−ＲＯＭドライブ１１１に装着されたＣＤ−ＲＯＭなどの記憶媒体に、各種の情報が記録されることになる。
【００６４】
ＣＰＵ  １０２は、このプログラムの実行の際に、ＲＡＭ  １０７を一時的な作業用記憶領域として用いる。このほか、一時的な作業用記憶領域として、ＣＰＵ  １０２内に設けられたレジスタやキャッシュ（図示せず）が使われる。
【００６５】
プログラムの実行に伴ない、各種の情報をユーザに報告したり、途中経過を見せるため、ＣＰＵ  １０２は、液晶ディスプレイやＣＲＴ（Cathode Ray Tube）などの表示装置１０８に当該情報を表示することができる。マウス１０６による指示操作では、マウス１０６を移動することにより、画面に表示されたカーソルが移動し、マウス１０６をクリックすることにより、カーソルが指すメニュー項目を選択することができる。
【００６６】
情報処理装置１０１は、ＮＩＣ（Network Interface Card）やモデムなどのインターフェース１０９を介してインターネットなどのコンピュータ通信網と通信を行うことができる。インターフェース１０９を介して受信した順序木を処理の対象としたり、抽出したパターンをインターフェース１０９を介して送信したり、インターフェース１０９を介して受信したプログラムを実行したり、などができる。
【００６７】
（ＸＭＬ形式データと順序木の関係）
図２は、ＸＭＬ形式データの例を示す説明図である。図３は、これに対応する順序木の構造を示す説明図である。以下、これらの図を参照して説明する。
【００６８】
ＸＭＬ形式データは、<?xml version="1.0"?>のようなＸＭＬ宣言から始まる。ＸＭＬ宣言とは、ＸＭＬ文書の先頭に付き、その文書がＸＭＬ文書（ＸＭＬ形式データ）であることを示すための文字列である。
【００６９】
ＸＭＬ形式データは「要素」を含む。要素とは、一般には、開始タグと終了タグとに囲まれるデータであり、図２に示す例では、開始タグ<book:book ...>と終了タグ</book:book>とに囲まれている部分が最も大きな要素となる。開始タグのタグ名によって、当該要素を参照することとする。すなわち、上記要素は「book:book要素」ということになる。
【００７０】
図２に示す例では、book:book要素の中に、以下のような要素が含まれている。
book:content要素
book:chapter要素が２つ
【００７１】
また、book:content要素は、テキスト「目次」を含んでいる。
【００７２】
さらに、最初のbook:chapter要素は、book:title要素を含み、当該book:title要素は、テキスト「Ark2」を含んでいる。
【００７３】
このほか、２番目のbook:chapter要素もまた、book:title要素を含み、当該book:title要素は、code要素を含み、当該code要素は、テキスト「getPtree("abc[1]")」を含んでいる。
【００７４】
このように、要素同士には、包含関係を持たせることができる。
【００７５】
さて、これらの要素は、順序木においては、ノードに対応する。そして、要素同士の包含関係は、順序木における親ノードと子ノードとの関係となる。さらに、各要素に含まれるテキストは、順序木のリーフに対応する。また、図２におけるbook:book要素（最も大きい要素）は、図３における順序木の根ノードに対応することになる。また、ある要素は、当該順序木のうち、当該要素に対応付けられるノードを根ノードとする部分木と等価であり、当該部分木から当該要素全体を復元したり、当該要素から当該部分木を構成したりすることができる。
【００７６】
以下、理解を容易にするため、混乱が生じない限り、要素を指す際に、これに対応するノードを用いたり、ノードを指す際に、これに対応する要素を用いたりすることとする。
【００７７】
なお、リーフのことをテキストノードと呼び、テキストノードには、テキストが対応付けられている、と考える。
【００７８】
さて、ＸＭＬ形式データでは、各要素に付加的な情報を付け加えるために、属性を付与することができる。付与される属性は、開始タグ内に「属性名＝属性値」の形式で記述される。
【００７９】
図２に示す例では、以下のように属性が付与されている。たとえば、book:book要素には、属性xmlns:bookに値"http://.../book"が、属性xmlnsに値"http://.../haskell"が、属性xmlns:prtに値"http://xmlns.chimaira.org/pruned-tree"が、それぞれ付与されている。
【００８０】
なお、ＤＯＭツリーでは、ある要素の属性は、当該要素に対応するノードの子ノード（属性ノード）として考えるのが一般的であるが、本実施形態では、ある要素に付与される属性は、当該要素に対応するノードに付与される属性として考えるものとする。
【００８１】
このほか、２番目のbook:title要素に、属性名prt:refer-toの属性値として、"abc(/book:book/book:chapter[1]/book:title)"が付与されている。ここで用いられている/book:book/book:chapter[1]/book:titleは、「要素のXPath表現」と呼ばれるものである。
【００８２】
XPathは、ＸＭＬ文書の特定の部分（やその位置）を指し示すものであり、根ノードを/で表現する。以下、親ノードから子ノードへ、目的のノードに至るまで、順に要素名を並べていく。また、兄弟ノードに同じ名前の要素がある場合には、そのインデックス値を[と]で囲んで示す。
【００８３】
したがって、上記のXPathは、「book:book要素の中の１番目のbook:chapter要素の中のbook:title要素」の意味である。
【００８４】
さて、本実施形態では、属性prt:refer-toを用いて、ある要素が別の要素を参照する参照関係を表現する。したがって、当該属性は、「book:book要素の中の２番目のbook:chapter要素の中のbook:title要素」は、「book:book要素の中の１番目のbook:chapter要素の中のbook:title要素」を参照し、当該参照関係に「abc」という名前を付けた、という意味に解釈される。
【００８５】
そして、「book:book要素の中の２番目のbook:chapter要素の中のbook:title要素」は、code要素を含んでおり、code要素のテキストでは、参照関係abcに添字[1]を付加して用いている。これは、本実施形態では、「参照関係abcによって参照される１番目のノード（本例ではテキストノード「Ark2」）を、関数getPtreeに渡して処理し、その結果を用いる」という意味に解釈される。
【００８６】
したがって、図２に示すＸＭＬ形式データの一部について処理を行いたい場合、「book:book要素の中の２番目のbook:chapter要素の中のbook:title要素」に対して処理を行う際には、「book:book要素の中の１番目のbook:chapter要素の中のbook:title要素」も必要である、ということになる。
【００８７】
このように、参照関係が定義されているＸＭＬ形式データに対して各種の処理を行う場合には、必ずしもＸＭＬ形式データの全体が必要なわけではない。「book:book要素の中の１番目のbook:chapter要素の中のbook:title要素」を処理したい場合には、当該要素のみがあれば十分であるし、「book:book要素の中の２番目のbook:chapter要素の中のbook:title要素」を処理したい場合には、当該要素のほか、「book:book要素の中の１番目のbook:chapter要素の中のbook:title要素」が必要である。
【００８８】
本実施形態は、処理に必要な要素のみを抽出して、これを処理対象とすることにより、ＸＭＬ形式データ全体の受渡しをできるだけ避け、必要なデータのみの受け渡しで済ませることとして、処理を実際に行う処理装置におけるメモリ使用量や、処理装置に対して行う通信量を低減させるものである。以下、抽出された処理対象となる要素（部分木）を、「剪定木」と呼ぶこととする。
【００８９】
以下、このようなＸＭＬ形式データを蓄積している蓄積装置と、蓄積されたＸＭＬ形式データ（の一部）に対して処理を行う処理装置と、の間で、剪定木がやりとりされる様子について、さらに詳細に説明する。
【００９０】
（全体の処理の流れ）
図４は、本実施形態に係る情報処理システムの概要構成を示す説明図である。本図に示すように、情報処理システム４０１は、蓄積装置４３１と、処理装置４５１と、両者を通信可能に接続する通信経路４７１と、を備える。
【００９１】
図５は、蓄積装置４３１と、処理装置４５１と、の間で、どのように処理が行われるかを示す説明図である。
【００９２】
まず、処理装置４５１は、蓄積装置４３１に対して、ＸＭＬ形式データのうち、どの要素を処理したいかをXPath表現で指定する取得要求を送信する（５０１）。たとえば、ここで、XPath表現で/book:book/book:chapter[2]/book:titleが指定されたものとする。
【００９３】
蓄積装置４３１は、取得要求を受信すると、これに指定される要素、当該指定された要素が参照する他の要素、当該他の要素が参照するさらに他の要素、…、をすべて抽出する。上記例では、抽出されるのは、/book:book/book:chapter[2]/book:titleのほか、これに参照される/book:book/book:chapter[1]/book:titleである。ここで抽出される要素については、ＸＭＬ形式データにおける位置を表す情報を、属性として付与するものとする。このようにして抽出・属性付与されたものを、剪定木あるいは対象部分木と呼ぶ。
【００９４】
図６は、剪定木の様子を示す説明図である。本図に示すように、抽出される剪定木もまたＸＭＬ形式データとして表現される。
【００９５】
根ノードは、剪定木である旨を示すprt:pruned-treeという名前の要素となっており、これが２つの要素を含んでいる。この２つの要素は、上記のように抽出された要素のそれぞれに対応する。
【００９６】
剪定木の最初の要素はbook:title要素であるが、これは、XPath表現で指定されたノードに対応するものである。当該要素では、属性prt:refer-toに対して元の要素と同じ値が付与されている。
【００９７】
このほか、当該要素が取得要求にて指定されたものであることを示す属性prt:refered-from="start[0]"が付与されている。
【００９８】
さらに、元のＸＭＬ形式データにおける当該要素の位置を示す属性prt:original-pathには、*を用いたXPath表現により、*[1]/*[3]/*[1]なる値が割り当てられている。
【００９９】
*を用いたXPath表現では、添字が兄弟ノードにおける順序を表す。図２を参照すればわかる通り、上記の値は、「１番目の要素（book:book要素）に含まれる３番目の要素（２番目のbook:chapter要素）に含まれる１番目の要素（book:title要素）」を意味する。
【０１００】
剪定木の２番目の要素もまた、book:title要素であり、これは、１番目の要素から参照されていることによって抽出されたものである。当該要素のprt:refered-from属性は、値abc[0]となっているが、これは、当該book:title要素が参照関係abcによって抽出された０番目（この添字は０から開始するので「最初」の意。）の要素であることを意味する。
【０１０１】
また、prt:original-path属性には、元の場所を意味する値*[1]/*[2]/*[1]が付与されている。
【０１０２】
さて、蓄積装置４３１は、このようにＸＭＬ形式データとして構成された剪定木を処理対象として、処理装置４５１に送信する（５０２）。
【０１０３】
剪定木は、上記のような参照関係によって抽出されるものであるので、一般には、ＸＭＬ形式データ全体よりも小さいデータである。また、上記のように、取得要求に指定される要素を処理するのに必要とされる情報をすべて有するものでもある。
【０１０４】
さて、処理装置４５１は、剪定木を受信して、当該剪定木に対して処理を行う。たとえば、上記の例におけるcode要素の評価が、処理に相当する。そして、処理結果として、部分木（結果部分木）を生成する。
【０１０５】
code要素に書かれたプログラムgetPtree("abc[1]")であるが、これは、上記の通り、参照関係abcによって示される１番目（「最初」）のテキストノードの文字列が、関数getPtreeに渡される意味となる。
【０１０６】
さて、abc[1]のテキストノードのテキストは、その添字から１を減じたabc[0]をprt:refered-from属性の値とする要素を剪定木から探せば得られることになる。１を減じるのは、prt:refered-from属性は０から添字を開始するのに対し、prt:refer-toによって定義される参照関係名を用いる場合には、１から添字を開始するからである。
【０１０７】
さて、関数getPtreeが、引数の文字列に文字列"-PrunedTree"を結合する処理を意味するものとする。
【０１０８】
結局、getPtreeにパラメータとして渡される文字列は、"Ark2"であるから、getPtreeの処理の結果は、"Ark2-PrunedTree"となる。
【０１０９】
そして、code要素の内容にしたがってこの処理が行われたのであるから、code要素を、この処理結果で置換する。
【０１１０】
code要素は、剪定木の中には１つしかないから、元のＸＭＬ形式データのうち、当該処理によって更新しなければならない要素は１つである。
【０１１１】
図７は、処理の結果得られる部分木（結果部分木）の様子を示す説明図である。本図を見ればわかる通り、結果部分木は、剪定木から更新すべき部分木（code要素を含む要素）のみを残し、当該部分木のうち、更新内容（code要素により表現されるコードを処理装置４５１で実行した結果）により、元の内容を置き換えたものである。
【０１１２】
結果部分木には、当該結果部分木には、元のＸＭＬ形式データのうちのいずれの場所を更新するか、の情報が、属性prt:original-pathに値*[1]/*[3]/*[1]によって付与されているが、これは、剪定木におけるprt:original-path属性をそのまま用いたものであり、対象部分木に付与されるノードの位置の情報に由来するものである。
【０１１３】
そして、処理装置４５１は、得られた結果部分木を蓄積装置４３１に送信する（５０３）。
【０１１４】
蓄積装置４３１は、結果部分木を受信すると、これに付与されている「位置」の要素を、当該結果部分木に置換して、ＸＭＬ形式データを更新する。
【０１１５】
この結果、元のＸＭＬ形式データは、図８に示すように更新される。本図に示すように、code要素が当該コードを実行した結果Ark2-Prunedに置換されている。
【０１１６】
このようにして、必要最小限のデータのやりとりで、ＸＭＬ形式データの処理が可能となるのである。
【０１１７】
以下、蓄積装置４３１ならびに処理装置４５１の詳細について説明する。
【０１１８】
（蓄積装置）
図９は、本実施形態に係る蓄積装置４３１の概要構成を示す模式図である。図１０は、当該蓄積装置４３１において取得要求が受信された場合に実行される剪定処理の制御の流れを示すフローチャートである。図１１は、蓄積装置４３１において、結果部分木が受信された場合に実行される更新処理の制御の流れを示すフローチャートである。
【０１１９】
以下、これらの図を参照して説明する。
【０１２０】
蓄積装置４３１は、記憶部９０１と、取得要求受信部９０２と、抽出部９０３と、対象部分木送信部９０４と、結果部分木受信部９０５と、置換更新部９０６と、を備える。蓄積装置４３１は、情報処理装置１０１上に実現される。
【０１２１】
まず、記憶部９０１は、順序木と等価なＸＭＬ形式データを記憶する。上記のように、当該ＸＭＬ形式データのノード（部分木）には、他のノードを参照する旨の属性（prt:refer-to）を付与することができる。すなわち、ハードディスク１０４や、ＲＡＭ  １０７等は、記憶部９０１として機能する。
【０１２２】
さて、取得要求受信部９０２が、処理装置４５１から送信された取得要求を受信すると、剪定処理が開始される。すなわち、ＣＰＵ  １０２は、インターフェース１０９等と共働して、取得要求受信部９０２として機能する。
【０１２３】
まず、抽出部９０３は、記憶部９０１に記憶されるＸＭＬ形式データを走査して、受信された取得要求にXPath表現で指定される位置を根ノードとする部分木（以下「第１部分木」という。）を抽出する（ステップＳ１００１）。
【０１２４】
そして、抽出部９０３は、抽出された部分木にprt:original-path等の属性を付与して（ステップＳ１００２）、当該部分木の元のＸＭＬ形式データ内における位置の情報を付与する。
【０１２５】
次に、抽出部９０３は、これまでに抽出された部分木に属性prt:refer-toが付与されている場合、参照されている部分木がすでに抽出済みか否かを調べる（ステップＳ１００３）。
【０１２６】
そして、抽出部９０３は、参照されている部分木のうち、抽出されていないものがあれば（ステップＳ１００３；Ｙｅｓ）、これ（以下「第２部分木」という。）を抽出し（ステップＳ１００４）、ステップＳ１００２に戻る。
【０１２７】
ステップＳ１００１〜ステップＳ１００３により、「取得要求に指定されたノード」「取得要求に指定されたノードに参照されているノード」「取得要求に指定されたノードに参照されているノードに参照されているノード」…「取得要求に指定されたノードに参照されているノードに参照されているノード…に参照されているノード」のように連鎖的に参照されているノードがすべて抽出されることになる。
【０１２８】
すべての部分木が抽出されたら（ステップＳ１００３；Ｎｏ）、抽出部９０３は、属性が付与された部分木をＸＭＬ形式データにまとめる（ステップＳ１００５）。
【０１２９】
ここで、ＣＰＵ  １０２は、ＲＡＭ  １０７やハードディスク１０４と共働して、抽出部９０３として機能する。
【０１３０】
そして、対象部分木送信部９０４が、まとめられたＸＭＬ形式データを、処理対象として処理装置４５１に送信して（ステップＳ１００６）、剪定処理は終了する。
【０１３１】
ここで、ＣＰＵ  １０２は、インターフェース１０９等と共働して、対象部分木送信部９０４として機能する。
【０１３２】
一方、結果部分木受信部９０５が、処理装置４５１から、ＸＭＬ形式データを受信すると、更新処理が開始される。
【０１３３】
すなわち、ＣＰＵ  １０２は、インターフェース１０９等と共働して、結果部分木受信部９０５として機能する。
【０１３４】
まず、受信したＸＭＬ形式データを分割して、これに含まれる部分木を得る（ステップＳ１１０１）。
【０１３５】
そして、得られた部分木のそれぞれについて、以下の処理を繰り返す（ステップＳ１１０２）。すなわち、まだ処理していない部分木があれば（ステップＳ１１０２；Ｙｅｓ）、置換更新部９０６は、未処理の部分木を１つ選択し（ステップＳ１１０３）、当該部分木に指定されているprt:original-path属性の値を取得して（ステップＳ１１０４）、記憶部９０１に記憶されている元のＸＭＬ形式データ内における位置を同定する。
【０１３６】
しかる後、置換更新部９０６は、当該部分木におけるもはや不要となった属性（prt:refered-fromやprt:original-path）を除去し（ステップＳ１１０５）、記憶部９０１に記憶されている元のＸＭＬ形式データの同定された位置に除去済みの部分木を書き込んで置換して更新し（ステップＳ１１０６）、ステップＳ１１０２に戻る。
【０１３７】
したがって、ＣＰＵ  １０２は、ＲＡＭ  １０７やハードディスク１０４等と共働して、置換更新部９０６として機能する。
【０１３８】
全部分木について処理がされていれば（ステップＳ１１０２；Ｎｏ）、更新処理は終了する。
【０１３９】
（処理装置）
図１２は、本実施形態に係る処理装置４５１の概要構成を示す模式図である。図１３は、当該処理装置４５１において行われる処理の制御の流れを示すフローチャートである。以下、これらの図を参照して説明する。
【０１４０】
処理装置４５１は、取得要求送信部１２０１と、対象部分木受信部１２０２と、処理生成部１２０３と、結果部分木送信部１２０４と、を備える。当該処理装置４５１は、情報処理装置１０１上に実現される。
【０１４１】
まず、取得要求送信部１２０１は、蓄積装置に記憶される順序木に含まれる部分木の根ノードの位置をXPath表現で指定する取得要求を、蓄積装置に送信する（ステップＳ１３０１）。ここで指定されるXPathは、ユーザが指定したものでも良いし、その他のアプリケーションプログラムにより指定されたものであっても良い。
【０１４２】
ついで、対象部分木受信部１２０２が、蓄積装置４３１から処理対象が送信されるのを待ち、送信された１つ以上の部分木を含むＸＭＬ形式データを処理対象として受信する（ステップＳ１３０２）。
【０１４３】
したがって、ＣＰＵ  １０２は、インターフェース１０９と共働して、取得要求送信部１２０１ならびに対象部分木受信部１２０２として機能する。
【０１４４】
さらに、処理生成部１２０３は、受信されたＸＭＬ形式データを部分木に分割し（ステップＳ１３０３）、当該部分木のそれぞれについて、未処理のものがあれば（ステップＳ１３０４；Ｙｅｓ）いずれかを選択し（ステップＳ１３０５）、選択したものに対して所定の処理を行い（ステップＳ１３０６）、処理によって内容が変化した部分木を新たな部分木として生成する（ステップＳ１３０７）。
【０１４５】
たとえば、上記のように、code要素を含む部分木のそれぞれについて、当該code要素に指定されるコードにて参照されるテキストを取得して、これを当該コードにパラメータとして与えて当該コードを実行し、その結果をcode要素と置き換えた部分木を生成することにより、新たな部分木が生成されるのである。
【０１４６】
そして、処理できるものがすべて終了したら（ステップＳ１３０４；Ｎｏ）生成された部分木（元はcode要素を含んでいた部分木。）を再度ＸＭＬ形式データにまとめる（ステップＳ１３０８）。
【０１４７】
したがって、ＣＰＵ  １０２は、受信された部分木を記憶するＲＡＭ  １０７やハードディスク１０４等と共働して、処理生成部１２０３として機能する。
【０１４８】
この処理においては、code要素の置換は発生するが、code要素を囲む要素のprt:original-path属性の有無やその値は変化しない。したがって、元のＸＭＬ形式データのうち、更新すべきものが明確に蓄積装置４３１に伝達されるのである。
【０１４９】
最後に、結果部分木送信部１２０４が、まとめられたＸＭＬ形式データ処理結果として蓄積装置に送信する（ステップＳ１３０９）。
【０１５０】
このように、本実施形態では、ＸＭＬ形式データの処理を、できるだけ少ないメモリ使用量、通信量で行うことができるのである。
【０１５１】
（その他の実施例）
以下では、その他の具体的なデータにおいて、蓄積装置４３１ならびに処理装置４５１においてどのように処理が行われるか、を例をあげて説明する。
【０１５２】
まず最初の例は、参照先が連鎖する場合である。図１４は、元のＸＭＬ形式データ、図１５は、剪定木（対象部分木）、図１６は、結果部分木、図１７は、更新されたＸＭＬ形式データの様子を示すものである。
【０１５３】
本例で、取得要求に/book:book/book:chapter[3]/book:title（*[1]/*[4]/*[1]）が指定されたものとすると、参照関係defにより/book:book/book:chapter[2]/book:title（*[1]/*[3]/*[1]）が抽出され、これが参照関係abcを有しているので、さらに/book:book/book:chapter[1]/book:title（*[1]/*[2]/*[1]）が抽出されるため、剪定木には、book:title要素が３つ含まれることとなっている。
【０１５４】
また、getPtreeは、文字列「について」をパラメータに指定されるテキストノードのテキストに結合し、当該結合結果の末尾に「について」が２回繰り返されることとなった場合には、当該末尾で繰り返されている「について」を「について（２）」に置き換え、当該結合結果の末尾が「について（n）」（nは整数）である場合には、当該結合結果の末尾が「について（n+1）」に置き換える処理をあらわすコードであるものとする。
【０１５５】
さて、上記のように参照関係が連鎖しているため、getPtree(def[1])を実行するには、getPtree(abc[1])の実行結果が必要となる。そして、getPtree(abc[1])の実行結果は「Ark2について」となるから、getPtree(def[1])の実行結果は「Ark2についてについて」→「Ark2について（２）」となる。
【０１５６】
このようにして、第２章、第３章のタイトルが更新される。
【０１５７】
次の例は、refer-to属性に参照先が、明示的に複数付与されている場合である。図１８は、元のＸＭＬ形式データ、図１９は、剪定木（対象部分木）、図２０は、結果部分木、図２１は、更新されたＸＭＬ形式データの様子を示すものである。
【０１５８】
本例で、取得要求に/book:book/book:chapter[3]/book:titleが指定されたものとすると、当該ノードには、２つの参照関係abc1とabc2が指定されている。結局剪定木には、部分木が３つ含まれることとなる。
【０１５９】
本例のgetPtreeは、２つのパラメータを「、」で区切って結合し、さらに「、…」を末尾に結合する、というものである。
【０１６０】
このようにして、第３章のタイトルが更新される。
【０１６１】
最後の例は、refer-to属性に付与されている参照先が、XPath形式で添字が省略されているために結果的に複数となる場合である。図２２は、元のＸＭＬ形式データ、図２３は、剪定木（対象部分木）、図２４は、結果部分木、図２５は、更新されたＸＭＬ形式データの様子を示すものである。
【０１６２】
本例で、取得要求に/book:book/book:contentが指定されたものとすると、当該ノードでは、参照関係abcで/book:book/book:chapter/book:titleを参照している。
【０１６３】
ところが、本データでは、/book:book/book:chapterが３つあるため、/book:book/book:chapter/book:titleは、/book:book/book:chapter[1]/book:title、/book:book/book:chapter[2]/book:title、/book:book/book:chapter[3]/book:titleの３つを参照していることとなる。
【０１６４】
したがって、剪定木は、４つの部分木を含むこととなる。
【０１６５】
本例のgetPtreeは、パラメータに指定されるテキストのリスト（参照関係abcのXPathに指定されるテキストノードは、Ark1、Ark2、Ark3の３つであるので、これが並べられたもの）のそれぞれを、book:item要素として並べるものである。
【０１６６】
本例では、各章のタイトルを含む目次が生成されることになる。
【実施例２】
【０１６７】
上記実施形態では、処理装置４５１は、code要素をその処理結果（getPtree(abc[1])の実行結果）で置き換えていた。しかしながら、code要素による計算を後から再実行したい場合も多い。そのような場合には、code要素を、「code要素と実行結果を表す要素（以下ではresult要素という。）とを順に並べたもの」に置換すれば良い。
【０１６８】
また、再計算の際には、処理装置４５１は、剪定木において、code要素とresult要素とが順に並んでいる場合には、当該code要素を実行した後、「当該code要素と当該result要素」を、「当該code要素と新たな実行結果を表すresult要素」に置換すれば良い。
【０１６９】
この場合、処理装置４５１は、図８に示してあるArk2-PrunedTreeの部分にかえて
<code>getPtree("abc[1]")</code>
<result>Ark2-PrunedTree</result>
としたものを、結果部分木として返すこととするのである。
【０１７０】
本実施形態によれば、code要素などの処理装置４５１で実行可能なプログラムを表現するテキストを有する要素（実行可能要素）が、当該実行可能要素とともに、今回処理した結果を表す文字列を含むresult要素等の要素（実行結果要素）が置換に用いられるので、再計算ができるようになる。
【実施例３】
【０１７１】
上記実施形態では、取得要求は、処理装置４５１から蓄積装置４３１へ送信されていたが、当該XPath表現の情報は、蓄積装置４３１自身で動作する他のアプリケーションプログラムにより指定されるものであっても良いし、当該蓄積装置４３１と通信可能に接続される情報処理装置（処理装置４５１以外のもの。）であっても良いし、ユーザから当該位置を指定する指示入力を受け付ける入力装置（キーボードやマウス等）であっても良い。この場合には、処理装置４５１が取得要求送信部１２０１を備える必要はない。
【産業上の利用可能性】
【０１７２】
以上説明したように、本発明によれば、順序木を蓄積する蓄積装置と当該蓄積された順序木を処理する処理装置とからなる情報処理システムにおいて、処理対象となる順序木の通信量を低減するのに好適な情報処理システム、蓄積装置、処理装置、蓄積方法、処理方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することができ、通信技術を用いた情報処理に適用することができる。
【図面の簡単な説明】
【０１７３】
【図１】情報処理装置の概要構成を示す模式図である。
【図２】ＸＭＬ形式データの例を示す説明図である。
【図３】ＸＭＬ形式データに対応する順序木の例を示す説明図である。
【図４】本実施形態に係る情報処理システムの概要構成を示す説明図である。
【図５】蓄積装置と、処理装置と、の間で、どのように処理が行われるかを示す説明図である。
【図６】剪定木（対象部分木）の様子を示す説明図である。
【図７】結果部分木の様子を示す説明図である。
【図８】更新されたＸＭＬ形式データの様子を示す説明図である。
【図９】本実施形態に係る蓄積装置の概要構成を示す模式図である。
【図１０】蓄積装置において取得要求が受信された場合に実行される剪定処理の制御の流れを示すフローチャートである。
【図１１】蓄積装置において、結果部分木が受信された場合に実行される更新処理の制御の流れを示すフローチャートである。
【図１２】処理装置の概要構成を示す模式図である。
【図１３】処理装置において行われる処理の制御の流れを示すフローチャートである。
【図１４】元のＸＭＬ形式データの様子を示す説明図である。
【図１５】剪定木（対象部分木）の様子を示す説明図である。
【図１６】結果部分木の様子を示す説明図である。
【図１７】更新されたＸＭＬ形式データの様子を示す説明図である。
【図１８】元のＸＭＬ形式データの様子を示す説明図である。
【図１９】剪定木（対象部分木）の様子を示す説明図である。
【図２０】結果部分木の様子を示す説明図である。
【図２１】更新されたＸＭＬ形式データの様子を示す説明図である。
【図２２】元のＸＭＬ形式データの様子を示す説明図である。
【図２３】剪定木（対象部分木）の様子を示す説明図である。
【図２４】結果部分木の様子を示す説明図である。
【図２５】更新されたＸＭＬ形式データの様子を示す説明図である。
【符号の説明】
【０１７４】
１０１    情報処理装置
１０２    ＣＰＵ
１０３    ＲＯＭ
１０４    ＨＤ
１０５    キーボード
１０６    マウス
１０７    ＲＡＭ
１０８    表示装置
１０９    インターフェース
１１０    ＦＤドライブ
１１１    ＣＤ−ＲＯＭドライブ
４０１    情報処理システム
４３１    蓄積装置
４５１    処理装置
９０１    記憶部
９０２    取得要求受信部
９０３    抽出部
９０４    対象部分木送信部
９０５    結果部分木受信部
９０６    置換更新部
１２０１  取得要求送信部
１２０２  対象部分木受信部
１２０３  処理生成部
１２０４  結果部分木送信部
【図１】
2005234900.tif 000003
【図２】
2005234900.tif 000004
【図３】
2005234900.tif 000005
【図４】
2005234900.tif 000006
【図５】
2005234900.tif 000007
【図６】
2005234900.tif 000008
【図７】
2005234900.tif 000009
【図８】
2005234900.tif 000010
【図９】
2005234900.tif 000011
【図１０】
2005234900.tif 000012
【図１１】
2005234900.tif 000013
【図１２】
2005234900.tif 000014
【図１３】
2005234900.tif 000015
【図１４】
2005234900.tif 000016
【図１５】
2005234900.tif 000017
【図１６】
2005234900.tif 000018
【図１７】
2005234900.tif 000019
【図１８】
2005234900.tif 000020
【図１９】
2005234900.tif 000021
【図２０】
2005234900.tif 000022
【図２１】
2005234900.tif 000023
【図２２】
2005234900.tif 000024
【図２３】
2005234900.tif 000025
【図２４】
2005234900.tif 000026
【図２５】
2005234900.tif 000027