JP2005011215A - 情報処理装置、情報処理方法、及びプログラム - Google Patents
情報処理装置、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2005011215A JP2005011215A JP2003176823A JP2003176823A JP2005011215A JP 2005011215 A JP2005011215 A JP 2005011215A JP 2003176823 A JP2003176823 A JP 2003176823A JP 2003176823 A JP2003176823 A JP 2003176823A JP 2005011215 A JP2005011215 A JP 2005011215A
- Authority
- JP
- Japan
- Prior art keywords
- tree structure
- data
- similar
- stored
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
【解決手段】RAM26の木構造記憶領域16に記憶されたDOMツリーの中から、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する。検出した同一部分の中で、特定の同一部分の記憶場所を示すリンク情報を生成する。木構造記憶領域16に記憶されたDOMツリーから、特定の同一部分以外の同一部分を削除する。削除した同一部分に対応させて特定の同一部分の記憶場所を示すリンク情報を木構造記憶領域16に記憶する。
【選択図】 図8
Description
【発明の属する技術分野】
本発明は、複数の要素が階層的に記述された文書を処理する情報処理装置、情報処理方法、及びプログラムに関し、特に、該文書から作成された木構造を記憶するために必要な記憶容量を削減する情報処理装置、情報処理方法、及びプログラムに関するものである。
【0002】
【従来の技術】
計算機あるいはアプリケーションによってばらばらであったデータ形式を、異なる計算機やアプリケーションでも使用できるようにするための統一規格として、XML(eXtensible Markup Language)が知られている。XMLは、複数の要素を階層的に記述する構造化文書の代表的な規格である。
【0003】
XML文書のような構造化文書をアプリケーションで操作するためのAPI(Application Programming Interface)として、DOM(Document Object Model)が知られている。DOMは、構造化文書を木構造のオブジェクトとして扱うためのAPIである。
【0004】
構造化文書をDOMに変換することにより、アプリケーションは、構造化文書の木構造を認識でき、木をたどって必要な要素にアクセスすることができる。
【0005】
しかし、構造化文書をDOMに変換する場合、構造化文書のサイズが大きいほど、変換後の木構造が大きくなり、これを記憶するために多くの記憶容量が必要となる。また、階層が深い場合にも、階層構造を表すための記憶容量が多く必要となる。従って、木構造に変換しても容量不足により記憶装置に格納できずに、エラーとなって処理が中断する、あるいは格納できたとしてもアクセス効率が悪くなってしまう、等の問題が発生する。
【0006】
必要な記憶容量を削減するための装置としては、構造化文書の階層を浅くすることにより動作記憶容量を削減し、データアクセス効率を改善する変換装置(例えば、特許文献1を参照。)や、相対的に同じ位置にある同じ要素名の複数の要素の内容を接合して、一つの新しい要素を生成する構造化文書変換装置(例えば、特許文献2を参照。)が知られている。
【0007】
【特許文献1】
特開2002−297569号公報
【特許文献2】
特開2002−108850号公報
【0008】
【発明が解決しようとする課題】
しかしながら、従来の変換装置及び構造化文書変換装置では、構造化文書の階層構造自体を変化させるため、構造化文書を操作するアプリケーションは階層構造の変化を認識していなくてはならない、という問題がある。また、従来の複数の要素を合成する構造化文書変換装置では、相対的に同じ階層位置に同じ要素名の要素が存在する場合でないと合成できない、という問題もある。
【0009】
本発明は、上述した問題を解決するために提案されたものであり、複数の要素を階層的に記述する文書から作成された木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる情報処理装置、情報処理方法、及びプログラムを提供することを目的とする。
【0010】
【課題を解決するための手段】
上記目的を達成するために、本発明の第1の情報処理装置は、複数の要素が階層的に記述された文書に対応する木構造を記憶した記憶手段と、前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出手段と、前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成手段と、前記同一部分が検出された場合に、前記記憶手段から前記特定の同一部分以外の同一部分を削除すると共に、削除した同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を前記記憶手段に記憶するように処理する処理手段と、を含んで構成されている。
【0011】
本発明の第1の情報処理装置の記憶手段には、複数の要素が階層的に記述された文書に対応する木構造が記憶される。記憶手段は特に限定されず、例えば、メインメモリとして一般的に用いられるRAMであってもよい。木構造は、複数の要素や要素の内容をノードとする木構造とすることができる。
【0012】
複数の要素が階層的に記述された文書は、例えば、XML文書等に代表される構造化文書とすることができる。
【0013】
同一部分検出手段は、記憶された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する。生成手段は、同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する。
【0014】
特定の同一部分は、同一部分検出手段により検出された複数の同一部分のいずれであってもよく、特に限定されない。
【0015】
処理手段は、同一部分が検出された場合に、記憶手段から特定の同一部分以外の同一部分を削除するように処理する。処理手段は、削除した同一部分に対応させて特定の同一部分の記憶場所を示す情報を記憶手段に記憶するように処理する。
【0016】
すなわち、特定の同一部分以外の同一部分については、木構造が削除され、代わりに特定の同一部分の記憶場所を示す情報が記憶される。
【0017】
記憶場所を示す情報のデータ量は小さいため、記憶場所を示す情報を記憶しても記憶手段の記憶量が大幅に増加することはない。一方、木構造のデータ量は大きいため、同一部分の木構造を削除することにより木構造を記憶するために必要な記憶容量が大幅に削減されることとなる。
【0018】
また、削除された同一部分を参照する場合であっても、特定の同一部分の記憶場所を示す情報を用いて、削除された同一部分の代わりに特定の同一部分の木構造を参照することができるため、木構造に対する操作性が損なわれることはない。
【0019】
このように、同一部分を共通化できるため、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる、
本発明の第1の情報処理方法は、複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成工程と、前記同一部分が検出された場合に、前記記憶手段から前記特定の同一部分以外の同一部分を削除すると共に、削除した同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、を含んで構成されている。
【0020】
本発明の第1のプログラムは、コンピュータに、複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成工程と、前記同一部分が検出された場合に、前記記憶手段から前記特定の同一部分以外の同一部分を削除すると共に、削除した同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、を実行させる。
【0021】
本発明の第1の情報処理方法及び第1のプログラムも、本発明の第1の情報処理装置と同様に作用するため、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる。
【0022】
本発明の第2の情報処理装置は、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成手段と、前記作成された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出手段と、前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成手段と、前記作成された木構造の同一部分以外の部分及び前記特定の同一部分を記憶すると共に、前記特定の同一部分以外の同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を記憶する記憶手段と、を含んで構成されている。
【0023】
本発明の第2の情報処理装置の木構造作成手段は、複数の要素が階層的に記述された文書に対応する木構造を作成する。
【0024】
また、第2の情報処理装置の同一部分検出手段は、作成された木構造において、同一部分を検出する。生成手段は、同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する。
【0025】
記憶手段は、作成された木構造の同一部分以外の部分及び特定の同一部分を記憶する。更に、特定の同一部分以外の同一部分に対応させて、特定の同一部分の記憶場所を示す情報を記憶する。
【0026】
すなわち、検出された同一部分については、特定の同一部分のみ木構造として記憶手段に記憶され、他の同一部分については、木構造の代わりに特定の同一部分の記憶場所を示す情報が記憶される。
【0027】
このように、同一部分の木構造を記憶しないことにより、木構造を記憶するために必要な記憶容量が大幅に削減されることとなる。
【0028】
また、記憶されなかった同一部分を参照する場合であっても、特定の同一部分の記憶場所を示す情報を用いて、記憶されなかった同一部分の代わりに特定の同一部分の木構造を参照することができるため、木構造に対する操作性が損なわれることはない。
【0029】
このように、同一部分を共通化できるため、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる、
本発明の第2の情報処理方法は、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、前記作成された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成工程と、前記作成された木構造の同一部分以外の部分及び前記特定の同一部分を記憶すると共に、前記特定の同一部分以外の同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を記憶する記憶工程と、を含んで構成されている。
【0030】
本発明の第2のプログラムは、コンピュータに、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、前記作成された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成工程と、前記作成された木構造の同一部分以外の部分及び前記特定の同一部分を記憶すると共に、前記特定の同一部分以外の同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を記憶する記憶工程と、を実行させる。
【0031】
本発明の第2の情報処理方法及び第2のプログラムも、本発明の第2の情報処理装置と同様に作用するため、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる。
【0032】
本発明の第3の情報処理装置は、複数の要素が階層的に記述された文書に対応する木構造を記憶した記憶手段と、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成手段と、前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出手段と、前記同一部分が検出された場合に、前記記憶された木構造の同一部分の記憶場所を示す情報を生成する生成手段と、前記同一部分が検出された場合に、前記作成された木構造の同一部分以外の部分、及び前記作成された木構造の同一部分に対応させて前記記憶された木構造の同一部分の記憶場所を示す情報を前記記憶手段に記憶するように処理する処理手段と、を含んで構成されている。
【0033】
本発明の第3の情報処理装置の記憶手段には、複数の要素が階層的に記述された文書に対応する木構造が記憶される。
【0034】
木構造作成手段は、複数の要素が階層的に記述された文書に対応する木構造を作成する。
【0035】
同一部分検出手段は、記憶された木構造と作成された木構造とを比較し、作成された木構造において記憶された木構造と同一の同一部分を検出する。
【0036】
生成手段は、同一部分が検出された場合に、記憶された木構造の同一部分の記憶場所を示す情報を生成する。
【0037】
処理手段は、同一部分が検出された場合に、作成された木構造の同一部分以外の部分を記憶手段に記憶するように処理する。また、処理手段は、作成された木構造の同一部分に対応させて、記憶された木構造の同一部分の記憶場所を示す情報を記憶手段に記憶するように処理する。
【0038】
すなわち、検出された同一部分については、記憶手段に既に記憶されている同一部分の記憶場所を示す情報が木構造の代わりに記憶される。
【0039】
このように、同一部分の木構造を記憶しないことにより、木構造を記憶するために必要な記憶容量が大幅に削減されることとなる。
【0040】
また、記憶されなかった同一部分を参照する場合であっても、記憶手段に既に記憶されていた同一部分の記憶場所を示す情報を用いて、記憶されなかった同一部分の代わりに該同一部分の木構造を参照することができるため、木構造に対する操作性が損なわれることはない。
【0041】
このように、同一部分を共通化できるため、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる、
本発明の第3の情報処理方法は、複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、前記同一部分が検出された場合に、前記記憶された木構造の同一部分の記憶場所を示す情報を生成する生成工程と、前記同一部分が検出された場合に、前記作成された木構造の同一部分以外の部分、及び前記作成された木構造の同一部分に対応させて前記記憶された木構造の同一部分の記憶場所を示す情報を記憶するように処理する処理工程と、を含んで構成されている。
【0042】
本発明の第3のプログラムは、コンピュータに、複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、前記同一部分が検出された場合に、前記記憶された木構造の同一部分の記憶場所を示す情報を生成する生成工程と、前記同一部分が検出された場合に、前記作成された木構造の同一部分以外の部分、及び前記作成された木構造の同一部分に対応させて前記記憶された木構造の同一部分の記憶場所を示す情報を記憶するように処理する処理工程と、を実行させる。
【0043】
本発明の第3の情報処理方法及び第3のプログラムも、本発明の第3の情報処理装置と同様に作用するため、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる。
【0044】
本発明の第4の情報処理装置は、複数の要素が階層的に記述された文書に対応する木構造を記憶した記憶手段と、前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出手段と、前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成手段と、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成手段と、前記類似部分が検出された場合に、前記記憶手段から前記類似部分の全てを削除し、削除した類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理手段と、を含んで構成されている。
【0045】
本発明の第4の情報処理装置の記憶手段には、複数の要素が階層的に記述された文書に対応する木構造が記憶される。
【0046】
類似部分検出手段は、記憶手段に記憶された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する。
【0047】
データ作成手段は、検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成する。更にデータ作成手段は、類似部分の相違部分の情報を示す第2データを類似部分毎に作成する。
【0048】
第1データは、例えば、各類似部分に含まれる共通のデータにより構成されていてもよい。また、第2データは、例えば、各類似部分から第1データに含まれる情報を除いた情報により構成されていてもよい。
【0049】
生成手段は、第1データの記憶場所を示す情報及び各第2データの記憶場所を示す情報を生成する。
【0050】
処理手段は、類似部分が検出された場合に、記憶手段から類似部分の全てを削除するように処理する。更に、削除した類似部分に対応させて、第1データの記憶場所を示す情報及び各第2データの記憶場所を示す情報を記憶手段に記憶するように処理する。
【0051】
すなわち、類似部分については、木構造が削除され、代わりに第1データの記憶場所を示す情報及び各第2データの記憶場所を示す情報が記憶される。
【0052】
記憶場所を示す情報のデータ量は小さいため、記憶場所を示す情報を記憶しても記憶手段の記憶量が大幅に増加することはない。一方、木構造のデータ量は大きいため、類似部分の木構造を削除することにより木構造を記憶するために必要な記憶容量が大幅に削減されることとなる。
【0053】
また、削除された類似部分を参照する場合であっても、第1データの記憶場所を示す情報及び第2データの記憶場所を示す情報を用いて、第1データ及び第2データを読み出すことができるため、削除された類似部分を参照することができる。
【0054】
このように、類似部分の木構造を削除して、第1データの記憶場所及び第2データの記憶場所を各類似部分に対応させて記憶するため、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる、
本発明の第4の情報処理方法は、複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、前記類似部分が検出された場合に、前記記憶手段から前記類似部分の全てを削除し、削除した類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、を含んで構成されている。
【0055】
本発明の第4のプログラムは、コンピュータに、複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、前記類似部分が検出された場合に、前記記憶手段から前記類似部分の全てを削除し、削除した類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、を実行させる。
【0056】
本発明の第4の情報処理方法及び第4のプログラムも、本発明の第4の情報処理装置と同様に作用するため、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる。
【0057】
本発明の第5の情報処理装置は、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成手段と、前記作成された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出手段と、前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成手段と、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成手段と、前記類似部分が検出された場合に、前記類似部分以外の部分については、前記作成された木構造を記憶し、前記類似部分については、前記作成された木構造に代えて前記類似部分に対応させて前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を記憶する記憶手段と、を含んで構成されている。
【0058】
本発明の第5の情報処理装置の木構造作成手段は、複数の要素が階層的に記述された文書に対応する木構造を作成する。
【0059】
類似部分検出手段は、木構造作成手段により作成された木構造において、類似部分を検出する。
【0060】
データ作成手段は、検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成する。更にデータ作成手段は、類似部分の相違部分の情報を示す第2データを類似部分毎に作成する。生成手段は、第1データの記憶場所を示す情報及び各第2データの記憶場所を示す情報を生成する。
【0061】
記憶手段は、類似部分が検出された場合に、類似部分以外の部分については、作成された木構造を記憶する。また、類似部分については、作成された木構造に代えて類似部分に対応させて第1データの記憶場所を示す情報及び各第2データの記憶場所を示す情報を記憶する。
【0062】
すなわち、類似部分については、木構造は記憶されずに、代わりに第1データの記憶場所を示す情報及び各第2データの記憶場所を示す情報が記憶される。
【0063】
このように、類似部分の木構造を記憶しないことにより、木構造を記憶するために必要な記憶容量が大幅に削減されることとなる。
【0064】
また、記憶されなかった類似部分を参照する場合であっても、第1データの記憶場所及び第2データの記憶場所を示す情報を用いて、第1データ及び第2データを読み出すことができるため、記憶されなかった類似部分を参照することができる。
【0065】
このように、類似部分の木構造は記憶せず、第1データの記憶場所及び第2データの記憶場所を各類似部分に対応させて記憶するため、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる、
本発明の第5の情報処理方法は、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、前記作成された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、前記類似部分が検出された場合に、前記類似部分以外の部分については、前記作成された木構造を記憶し、前記類似部分については、前記作成された木構造に代えて前記類似部分に対応させて前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を記憶する記憶工程と、を含んで構成されている。
【0066】
本発明の第5のプログラムは、コンピュータに、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、前記作成された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、前記類似部分が検出された場合に、前記類似部分以外の部分については、前記作成された木構造を記憶し、前記類似部分については、前記作成された木構造に代えて前記類似部分に対応させて前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を記憶する記憶工程と、を実行させる。
【0067】
本発明の第5の情報処理方法及び第5のプログラムも、本発明の第5の情報処理装置と同様に作用するため、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる。
【0068】
本発明の第6の情報処理装置は、複数の要素が階層的に記述された文書に対応する木構造を記憶した記憶手段と、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成手段と、前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出手段と、前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成手段と、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成手段と、前記類似部分が検出された場合に、前記作成された木構造の類似部分以外の部分については、前記作成された木構造を前記記憶手段に記憶すると共に、前記記憶手段から前記類似部分を削除し、前記削除した部分及び前記作成された木構造の類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理手段と、を含んで構成されている。
【0069】
本発明の第6の情報処理装置の記憶手段は、複数の要素が階層的に記述された文書に対応する木構造を記憶する。
【0070】
木構造作成手段は、複数の要素が階層的に記述された文書に対応する木構造を作成する。
【0071】
類似部分検出手段は、記憶された木構造と作成された木構造とを比較し、作成された木構造において記憶された木構造と類似する類似部分を検出する。
【0072】
データ作成手段は、検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成する。更にデータ作成手段は、類似部分の相違部分の情報を示す第2データを類似部分毎に作成する。生成手段は、第1データの記憶場所を示す情報及び各第2データの記憶場所を示す情報を生成する。
【0073】
処理手段は、類似部分が検出された場合に、作成された木構造の類似部分以外の部分については、作成された木構造を記憶手段に記憶するように処理する。また、記憶手段から類似部分を削除するように処理する。更に処理手段は、該削除した部分及び作成された木構造の類似部分に対応させて、第1データの記憶場所を示す情報及び各第2データの記憶場所を示す情報を記憶手段に記憶するように処理する。
【0074】
すなわち、作成された木構造の類似部分については、木構造は記憶されずに、代わりに第1データの記憶場所を示す情報及び第2データの記憶場所を示す情報が記憶される。また、既に記憶されている類似部分については、木構造が削除されて、代わりに第1データの記憶場所を示す情報、及び第2データの記憶場所を示す情報が記憶される。
【0075】
このように、作成された類似部分の木構造を記憶しないと共に、記憶されていた類似部分の木構造を削除することにより、木構造を記憶するために必要な記憶容量が大幅に削減されることとなる。
【0076】
また、記憶されなかったあるいは削除された類似部分を参照する場合であっても、第1データの記憶場所及び第2データの記憶場所を示す情報を用いて、第1データ及び第2データを読み出すことができるため、記憶されなかったあるいは削除された類似部分を参照することができる。
【0077】
このような構成によっても、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる、
本発明の第6の情報処理方法は、複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、前記類似部分が検出された場合に、前記作成された木構造の類似部分以外の部分については、前記作成された木構造を前記記憶手段に記憶すると共に、前記記憶手段から前記類似部分を削除し、前記削除した部分及び前記作成された木構造の類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、を含んで構成されている。
【0078】
本発明の第6のプログラムは、コンピュータに、複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、前記類似部分が検出された場合に、前記作成された木構造の類似部分以外の部分については、前記作成された木構造を前記記憶手段に記憶すると共に、前記記憶手段から前記類似部分を削除し、前記削除した部分及び前記作成された木構造の類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、を実行させる。
【0079】
本発明の第6の情報処理方法及び第6のプログラムも、本発明の第6の情報処理装置と同様に作用するため、木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる。
【0080】
なお、上述したプログラムを記憶するための記憶媒体は、ROMや、CD−ROMやDVDディスク、光磁気ディスクやICカード、あるいはハードディスク等であってもよいし、電気通信回線上の搬送波のような伝送媒体であってもよい。
【0081】
上述した情報処理装置において、前記類似部分検出手段は、前記木構造の中から、類似している可能性がある部分を抽出する第1抽出手段と、前記第1抽出手段により抽出された部分の中から、相違部分を抽出する第2抽出手段とを備え、前記第2抽出手段により抽出された相違部分のデータ量が所定値以下である場合、及び前記相違部分のデータ量に対する前記第1抽出手段により抽出された部分のデータ量の比率が所定値以下である場合、のいずれか一方の場合に、前記第1抽出手段により抽出された部分を類似部分として検出することができる。
【0082】
これにより、効率的に類似部分を検出することができる。
【0083】
なお、類似している可能性がある部分を抽出する場合には、例えば、木構造において、同名のノード(要素)が含まれる部分を類似している可能性がある部分として抽出するようにしてもよいし、階層構造がほぼ一致している部分を類似している可能性がある部分として抽出してもよい。
【0084】
前記データ作成手段は、前記第1データに前記第2データを挿入可能に作成することができる。
【0085】
このように第1データを作成することにより、第1データ及び第2データを用いれば、元の類似部分を示すデータを作成することができるため、これに基づいて類似部分の木構造を作成することができる。
【0086】
前記データ作成手段は、前記第1データに前記第2データを所定の規則に従って変換するための変換式が含まれるように作成することができる。
【0087】
このように第1データを作成することにより、第1データを用いて第2データを変換することができる。これにより容易に元の類似部分を示すデータを作成することができるため、これに基づいて類似部分の木構造を作成することができる。
【0088】
また、上述した情報処理装置は、前記第1データの記憶場所及び前記第2データの記憶場所が記憶された類似部分が参照された場合に、前記第1データと前記参照された類似部分に対応する第2データとを用いて木構造を作成して前記記憶手段に記憶する類似部分木構造作成手段を更に含んで構成されることができる。
【0089】
これにより、類似部分が参照された場合に、容易に参照された類似部分の木構造を作成して記憶することができる。なお、ここでいう「参照」は、類似部分の木構造を操作する場合も含む。
【0090】
更に、上述した情報処理装置は、前記記憶手段の空き容量が所定値以下になった場合、及び、前記類似部分木構造作成手段により記憶された木構造が所定時間参照されなかった場合、のいずれか一方の場合には、前記類似部分木構造作成手段により記憶された木構造を前記記憶手段から削除する削除手段を更に含んで構成されることができる。
【0091】
これにより、記憶手段の空き容量を無駄に使用することがなくなる。
【0092】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【0093】
[第1の実施の形態]
図1(A)は、本実施の形態に係る構造化文書処理システムの機能構成及び構造化文書処理システムで行われる処理を概念的に示した図である。図示されるように、テキスト形式で記述されたXML文書30が、本発明の情報処理装置としてのXMLプロセッサ(XMLパーザ)10に入力されると、XMLプロセッサ10は、XML文書30の各要素をノードとする木構造(DOMツリー)40を作成する。上位XMLアプリケーション50は、作成されたDOMツリー40を参照あるいは操作することができる。。
【0094】
図1(B)は、図1(A)で示された構造化文書処理システムの機能構成及び構造化文書処理システムで行われる処理を更に詳細に示した図である。
【0095】
(1)では、上位XMLアプリケーション50がXML文書30を参照及び操作するために、DOMインタフェース60を介して、XMLプロセッサ10にDOMツリー40を作成するように指示を与える。
【0096】
(2)では、指示を受けたXMLプロセッサ10は、XML文書30を入力して解析する。
【0097】
図2は、XML文書30の一例を示している。図示されるようにXML文書30は、テキスト形式で、要素の始まりを示す開始タグ<○○○>と要素の終了を示す終了タグ</○○○>により、複数の要素が階層的に記述されている。
【0098】
具体的には、XMLプロセッサ10は、図2に示されるようなXML文書30を上から順に読み込み、開始タグ及び終了タグを検出していくことにより、XML文書30の各要素の階層構造を解析する。
【0099】
更にXMLプロセッサ10は、解析結果に基づいて、DOMツリー40を作成する。
【0100】
図3は、図2のXML文書30を解析して作成されたDOMツリー40の一例を示している。図示されるように、各要素(Element)がDOMツリー40のノード(節点)として構成されている(例えば、図のノード70)。また、要素の内容、すなわち、開始タグと終了タグで挟まれた文字列(Text)もノードとして構成されている(例えば、図のノード72)。
【0101】
なお、図3の▲1▼で示された部分が、図2の▲1▼のscan要素の記述に対応する部分木(全体の木の一部)である。また、図3の▲2▼で示された部分が、図2の▲2▼のstorage要素の記述に対応する部分木である。
【0102】
このように、DOMツリー40は、複数の部分木により構成されている。
【0103】
(3)では、上位XMLアプリケーション50が、作成されたDOMツリー40をDOMインタフェース60を介して参照あるいは操作する。
【0104】
図4は、XMLプロセッサ10の機能を実現するためのハードウェア資源としての情報処理装置11の構成を示すブロック図である。
【0105】
図示されるように、情報処理装置11は、操作部12、入出力部18、CPU20、ネットワークI/F22、ROM24、及びRAM26を含んで構成され、これらはバスにより相互に接続されている。
【0106】
操作部12は、例えばキーボード等により構成され、ユーザは操作部12を用いて任意のデータを入力し、所定の操作を行う。
【0107】
ネットワークI/F22は、各種ネットワークに接続するためのインタフェースである。
【0108】
入出力部18は、各種データを入出力するためのインタフェースである。入出力部18には、各種データやプログラム等を記憶するためのHDD28が接続されている。
【0109】
ROM24は、XMLプロセッサ10の機能としての、XML文書からDOMツリーを作成すると共に、DOMツリーを記憶するために必要な記憶容量を削減するための処理ルーチンのプログラムが記憶されている。更にROM24には、XML文書を扱う上位XMLアプリケーション50とDOMインタフェース60の機能を実現するためのプログラムも記憶されている。
【0110】
CPU20は、ROM24等に記憶されたプログラムを実行することにより各種機能を実現する。
【0111】
RAM26は、ワーク領域14と木構造記憶領域16とを含んで構成されている。ワーク領域14は、作業中のデータを記憶するための作業領域である。木構造記憶領域16は、作成されたDOMツリーを記憶するための領域である。
【0112】
図1に示されたXMLプロセッサ10は、図4に示される情報処理装置11をハードウェア資源とし、ROM24に記憶されたプログラムをソフトウェア資源として用いて実現される機能である。なお、上位XMLアプリケーション50及びDOMインタフェース60も、同様にして実現される機能である。
【0113】
以下、図5及び図6のフローチャートを参照しながら、本実施の形態のXMLプロセッサ10により実行される処理ルーチンについて説明する。
【0114】
図5は、本実施の形態のメインルーチンを示したフローチャートである。
【0115】
ステップ100では、XMLプロセッサ10は上位XMLアプリケーション50からのDOMツリー作成指示を受け、構造化文書(ここではXML文書)を取得する。例えば、XML文書が記憶された記憶装置がHDD28である場合には、HDD28から入出力部18を介して取得され、ネットワーク上の他のコンピュータシステムに記憶されている場合には、ネットワークI/F22を介して取得される。
【0116】
ステップ102では、取得したXML文書を解析する。前述したように、開始タグ及び終了タグを順に検出することにより、これらタグで記述された要素毎にその構造と内容を解析する。
【0117】
ステップ104では、ステップ102の解析結果に基づいて、解析された要素をノードとする木構造(部分木)を作成する。作成した部分木は、RAM26のワーク領域14に保持しておく。なお、以下では、RAM26の木構造記憶領域16に記憶された木構造をDOMツリーと呼称し、作成してワーク領域14に保持する木構造を部分木と呼称して区別する。
【0118】
ステップ106では、木構造記憶領域16の空き容量が不足しているか否かを判断する。ここで、空き容量が不足していない、すなわち、ステップ104で作成された部分木を格納するために十分な空き容量があると判断した場合には、ステップ112に移行し、ワーク領域14の部分木を木構造記憶領域16に格納する。
【0119】
なお、空き容量が不足しているか否かを判断するために、例えば、閾値を設けておき、木構造記憶領域16の空き容量が閾値以下となった場合に、空き容量が不足していると判断してもよいし、DOMツリーの記憶量が閾値に到達した場合に、空き容量が不足していると判断してもよい。
【0120】
続いて、ステップ114で、XML文書全体の解析が終了したか否かを判断し、XML文書全体の解析が終了していないと判断した場合には、ステップ102に戻り、更にXML文書を読み込んで、次の開始タグ及び終了タグを検出することにより、XML文書の解析を続ける。
【0121】
一方、ステップ106で、空き容量が不足していると判断した場合には、ステップ108に移行し、DOMツリーを記憶するために必要な記憶容量を削減するための記憶容量削減処理を実行する。
【0122】
図6は、本実施の形態における記憶容量削減処理の流れを示すフローチャートである。
【0123】
ステップ200では、XMLプロセッサ10は、木構造記憶領域16に記憶されているDOMツリーから同一部分を探索する。木構造記憶領域16に記憶されているDOMツリーは、前述のステップ102、104、112の処理により作成されて記憶された部分木により構成されたDOMツリーである。また、同一部分とは、要素、要素の内容、及び階層構造が同一の部分をいう。
【0124】
図7は、同一部分を含むXML文書の一例を示した図である。図示されるように、XML文書中に、Xで示される部分と、Xの要素、要素の内容、及び階層構造が同一のYで示される部分が含まれている。
【0125】
図8(A)は、要素、要素の内容、階層構造が同一の部分を含むXML文書から作成したDOMツリーの一例を示した図である。図示されるように、同一部分80a、80bが含まれている。ステップ200では、このような同一部分を探索する。
【0126】
ステップ202では、探索の結果、記憶されているDOMツリーの中に、同一部分があるか否かを判断する。
【0127】
ここで、同一部分があると判断した場合には、ステップ204で、該同一部分のうち、特定の同一部分を除いた全ての同一部分の木構造を木構造記憶領域16から削除する。ここでは、同一部分の中から特定の同一部分1つを選択し、他のものについては削除する。
【0128】
例えば、図8(A)に示される例では、同一部分80aを特定の同一部分として選択し、該選択した同一部分80aは削除せず、他の同一部分、ここでは、同一部分80bを削除することができる。なお、同一部分が3つ以上ある場合であっても、同様に、特定の同一部分を選択して、選択したものは削除せずに他を削除するようにすればよい。
【0129】
図8(B)は、図8(A)のDOMツリーから同一部分の木構造を削除した状態を示した図である。図示されるように、同一部分80bが削除されている。
【0130】
ステップ206では、リンク情報を作成する。ここで、リンク情報とは、前述の特定の同一部分の記憶場所を示す情報である。図8(B)に示される例では、特定の同一部分80aの記憶場所を示す情報がリンク情報として作成される。
【0131】
ステップ208では、作成したリンク情報を、削除した同一部分80bに対応させて木構造記憶領域16に格納する。図8(B)に示される例では、ノードCから、ノードB直下のノードEに対してリンクを張ることに相当する。
【0132】
ステップ210では、木構造記憶領域16に記憶されているDOMツリーの探索が終了したか否かを判断する。ここで、探索が終了していないと判断した場合には、ステップ200に戻り、記憶容量削減処理を続行する。探索が終了したと判断した場合には、本記憶容量削減処理ルーチンを終了する。本処理ルーチンにより、DOMツリーを記憶するために必要な記憶容量を削減することができる。
【0133】
図5のステップ108の記憶容量削減処理が終了すると、XMLプロセッサ10は、ステップ110で、木構造記憶領域16の空き容量不足が解消されたか否かを判断する。空き容量不足が解消されなかったと判断した場合には、ステップ116で空き容量不足を示すメッセージを図示されない表示部等に表示し、DOMツリーを作成するための処理を終了する。
【0134】
ステップ110で、空き容量不足が解消されたと判断した場合、例えば、木構造記憶領域16の空き容量が前述した閾値を超えた場合等には、ステップ112に移行し、ステップ104で作成した部分木を木構造記憶領域16に格納する。
【0135】
ステップ114では、取得したXML文書全体の解析が終了しているか否かを判断し、終了していないと判断した場合には、ステップ102に戻り、更にXML文書を読み込んで、次の開始タグ及び終了タグを検出することにより、XML文書の解析を続ける。終了したと判断した場合には、DOMツリーを作成するための処理を終了する。
【0136】
なお、DOMツリー作成後、XMLプロセッサ10は、作成したDOMツリーを上位XMLアプリケーション50に渡す。なお、ここでは、上位XMLアプリケーション50及びDOMインタフェース60はXMLプロセッサ10と同じハードウェア資源を用いて実現されているため、XMLプロセッサ10は、上位XMLアプリケーション50に、作成したDOMツリーの格納場所をDOMインタフェース60を介して通知する形でDOMツリーを渡す。
【0137】
以上説明したように、本実施の形態では、特定の同一部分を除く同一部分を削除し、特定の同一部分の記憶場所を示す情報を、削除した同一部分に対応させて記憶するようにしたため、木構造を記憶するために必要な記憶容量を大幅に削減することができる。
【0138】
なお、本実施の形態では、木構造記憶領域16が容量不足となった場合に、同一部分を探索して削除する記憶容量削減処理を実行する例について説明したが、木構造記憶領域16の容量不足に拘らず、部分木作成毎、あるいは所定の間隔で、記憶容量削減処理を実行するようにしてもよい。
【0139】
また、本実施の形態では、木構造記憶領域16に記憶されているDOMツリーを対象として記憶容量削減処理を実行する例について説明したが、木構造記憶領域16に記憶する前段階の、ワーク領域14に保持された部分木を対象として記憶容量削減処理を実行するようにしてもよい。
【0140】
また、部分木を作成する毎に、作成した部分木と、木構造記憶領域16に記憶されているDOMツリーとを比較し、同一部分があれば、作成した部分木の中で同一部分以外の部分については、木構造の状態で木構造記憶領域16に記憶し、同一部分については、木構造を記憶する代わりに、既に木構造記憶領域16に記憶されている同一部分の記憶場所を示す情報を記憶するようにしてもよい。
【0141】
このような構成によっても、木構造を記憶するために必要な記憶容量を大幅に削減することができる。
【0142】
[第2の実施の形態]
第1の実施の形態では、同一部分を対象として処理する例について説明したが、本実施の形態では、類似する部分を対象として処理する例について説明する。
【0143】
なお、本実施の形態におけるハードウェア構成、ソフトウェア構成、及びXMLプロセッサ10により実行されるメインルーチンは第1の実施の形態と同様であるため、説明を省略する。本実施の形態では、第1の実施の形態で図6のフローチャートを用いて説明した記憶容量削減処理に代えて、以下に説明する記憶容量削減処理を実行する。
【0144】
まず、図9(A)、(B)を参照しながら、本実施の形態の記憶容量削減処理について簡単に説明する。
【0145】
まず、木構造記憶領域16に記憶されているDOMツリーから類似部分を検出する。図9(A)に示されるように、類似部分(部分木)82、84は、ノードGとノードIとが異なっているが、他のノードや階層構造は同じであり、類似しているといえる。
【0146】
図9(B)に示されるように、検出した類似部分82,84から、共通化できる部分については、XML形式の共通のデータ(以下、共通データと呼称)86を作成し、相違部分については、類似部分それぞれに対応したXML形式の相違部分のデータ(以下、XMLデータと呼称)88、90を作成する。類似部分の木構造は削除して、代わりに作成したデータの記憶場所を示す情報を記憶する。
【0147】
なお、本実施の形態では、共通データ86には、類似部分に共通のテキストデータの他、Xinclude要素やXSLT(XSL Transformations:XMLのデータ変換言語)による記述を含め作成する例について説明する。この記述については後述する。
【0148】
図10は、本実施の形態で実行される記憶容量削減処理ルーチンの流れを詳細に示したフローチャートである。本図を用いて、記憶容量削減処理について更に詳細に説明する。
【0149】
ステップ300では、XMLプロセッサ10は、木構造記憶領域16に記憶されているDOMツリーから同一タグ名を探索する。すなわち、ここで同一タグ名を探索することにより、類似している可能性のある部分を抽出する。具体的には、XMLプロセッサ10は、記憶されているDOMツリーを、ルートノードから下位方向に順に探索していき、同一のタグ名を検出する。
【0150】
ステップ302で、探索の結果、記憶されているDOMツリーの中に、同一タグ名のノードが検出できたか否かを判断する。同一タグ名のノードが検出できなかったと判断した場合には、DOMツリーには類似部分が無いと判断することができ、本記憶容量削減処理ルーチンを終了する。
【0151】
また、ステップ302で、同一タグ名のノードが検出できたと判断した場合には、ステップ304で検出された同一タグ名のノードの下位に位置するノード(下位ノード)の量を算出する。例えば、図9(A)に示される例において、同一タグ名のノード「C」の下位ノードは、部分木82では、ノードF、H、及びGであり、部分木84では、ノードF、H、及びIである。ここでは、全ての下位ノードの量を算出する。
【0152】
ステップ306では、算出された下位ノードの量が予め指定された量以上であるか否かを判断する。ここで、下位ノードの量が予め指定された量未満である場合には、下位ノードの量は少ないため、これ以降の処理を行ったとしても、木構造記憶領域16の容量不足を解消することはできないと判断し、ステップ322に移行する。
【0153】
ステップ322では、木構造記憶領域16に記憶されているDOMツリーの探索が終了したか否かを判断する。ここで、探索が終了していないと判断した場合には、ステップ300に戻り、記憶容量削減処理を続行する。探索が終了したと判断した場合には、本記憶容量削減処理ルーチンを終了する。
【0154】
一方、ステップ306で、下位ノードの量が予め指定された量以上である場合には、ステップ308で、下位ノードの量に基づいて、閾値を算出する。この閾値は、類似している可能性のある部分として検出された部分木において、相違部分がどの程度存在するかを判断するための指標であり、これにより、検出された類似している可能性のある部分を、類似部分として扱うか否かを定めることができる。なお、ここでは、下位ノード量が多いほど、閾値が高くなるように算出する。
【0155】
ステップ310では、相違量を算出する。具体的には、下位ノードの各ノードのタグ名、及びタグの配列(配列状態や内容)を比較し、相違部分を抽出してカウントすることにより、相違量を算出する。例えば、図9(A)では、ノードG及びノードIが異なるため、この部分がカウント対象となる。
【0156】
相違量を算出する場合に、相違部分の種類によってカウント数を異ならせるようにしてもよい。例えば、内容(数字等)が異なる場合にはカウント数を低くし、タグ名が異なる場合にはカウント数を高くするようにすることもできる。これは、内容(数字等)が異なる場合には、Xinclude要素やXSLTによる記述が容易であり、タグ名が異なる場合には、これらによる記述が困難であることに起因する。Xinclude要素及びXSLTは、本記憶容量削減処理において各類似部分に共通のデータを作成する際に用いられるが、この点については後述する。
【0157】
なお、相違量をカウントするためのカウント数の設定は、予め設定されていてもよいし、ユーザが任意に設定するようにしてもよい。
【0158】
ステップ312では、算出した相違量と算出した閾値とを比較する。相違量が閾値より大きい場合には、類似している可能性があるとして検出した部分は、類似部分ではないと判断し、ステップ322に移行し、探索が終了していなければ探索処理を繰り返す。
【0159】
ステップ312で、相違量が閾値以下である場合には、類似している可能性があるとして検出した部分は、類似部分であると判断し、ステップ314に移行し、該類似部分から抽出された相違部分の種類を分析する。相違部分の種類により、Xinclude要素を用いてデータを作成するインサートデータ作成処理、及びXSLTを用いてデータを作成する変換データ作成処理、のいずれの処理を行うかを決定する。
【0160】
ステップ316で、相違部分の種類がインサートデータ作成処理に適合していると判断した場合には、ステップ318のインサートデータ作成処理を実行する。また相違部分の種類が変換データ作成処理に適合していると判断した場合には、ステップ320の変換データ作成処理を実行する。
【0161】
ここで、インサートデータ作成処理及び変換データ作成処理について詳細に説明する。
【0162】
例えば、相違部分に同じタグ名で内容が異なるノードが多く含まれている場合には、共通部分に各類似部分の相違部分を挿入することで各類似部分を表現できる。従って、この場合には、Xinclude要素を用いるインサートデータ作成処理に適合していると判断することができる。
【0163】
図11(A)及び(B)は、インサートデータ作成処理に適合するXML文書の一例である。図示されるように、図11(A)の元データ1で示されたXML文書と図11(B)の元データ2で示されたXML文書は、共通部分の他に相違部分A1またはA2を含んで構成されている。相違部分A1及びA2は、同じタグ名kindsであるが、内容が異なっている。従って、インサートデータ作成処理に適合していると判断できる。
【0164】
図12は、インサートデータ作成処理のサブルーチンを示したフローチャートである。
【0165】
ステップ400では、XMLプロセッサ10は、Xinclude要素を用いて、共通データを作成すると共に、相違部分のXMLデータを類似部分毎に作成する。
【0166】
ステップ402では、作成した共通データ及びXMLデータを記憶する。
【0167】
作成した共通データ及びXMLデータはテキストデータであるため、データ量が小さく、木構造を記憶する場合に比して記憶するために必要な記憶容量は少なくて済む。また、共通データを作成することにより、共通化できる部分は共通化されているため、記憶するために必要な記憶容量は少なくて済む。
【0168】
なお、共通データ及びXMLデータの記憶場所は、特に限定されず、例えば、HDD28とすることもできる。また、ネットワークに接続された他のコンピュータシステムの記憶装置とすることもできる。
【0169】
ステップ404では、リンク情報を作成する。ここで、リンク情報とは、ステップ402で記憶した共通データ及びXMLデータの記憶場所を示す情報である。
【0170】
ステップ406では、木構造記憶領域16から類似部分の木構造を削除し、各類似部分に対応させて各リンク情報を木構造記憶領域16に格納する。また、本実施の形態では、図14に示されるような管理テーブルを例えばRAM26のワーク領域あるいはHDD28上に設け、各リンク情報を格納して一元管理する。これにより各類似部分に対応させて各リンク情報を記憶する際に、各リンク情報に代えて管理テーブルの管理番号を記憶することもできる。
【0171】
図13(A)、(B)、及び(C)は、図11の元データ1及び元データ2に基づいて作成された、共通データとXMLデータを示した図である。
【0172】
図13(B)に示されるように、XMLデータ1は、図11(A)の元データ1に対応するデータであり、元データ1の相違部分A1が記述されている。図13(C)のXMLデータ2は、図11(B)の元データ2に対応するデータであり、元データ2の相違部分A2が記述されている。
【0173】
また、図13(A)の共通データは、元データ1及び元データ2に共通する共通部分の他に、XMLデータ1及びXMLデータ2に記述されたデータが挿入されるようにXinclude要素A3を含んで構成されている。Xinclude要素A3で指定されるアドレスは、XMLデータ1及びXMLデータ2の記憶場所を示すものであり、本実施の形態では、例えば、前述の管理テーブルの記憶場所としてもよい。
【0174】
このように、共通データは、類似部分の中の共通部分を含むように作成されると共に、類似部分の中の相違部分を挿入可能に作成される。
【0175】
一方、例えば、相違部分が、一部分の数字やテキストが異なるが、内容はほぼ同じような場合には、各々の類似部分の相違部分を所定の規則により変換することで各類似部分を表現できる。従って、この場合には、XSLTを用いる変換データ作成処理に適合していると判断することができる。
【0176】
図15(A)及び(B)は、変換データ作成処理に適合したXML文書の一例である。図示されるように、図15(A)の元データ1で示されたXML文書と図15(B)の元データ2で示されたXML文書は、共通部分の他に、相違部分B1またはB2を含んで構成されている。相違部分B1及びB2は、数字やテキストが異なっているが、内容はほぼ同じである。従って、変換データ作成処理に適合していると判断できる。
【0177】
図16は、変換データ作成処理のサブルーチンを示したフローチャートである。
【0178】
ステップ500では、XMLプロセッサ10は、XSLTを用いて、共通データを作成すると共に、相違部分のXMLデータを類似部分毎に作成する。
【0179】
ステップ502乃至ステップ506の処理は、上述したインサートデータ作成処理のサブルーチンのステップ402乃至406の処理と同様であるため説明を省略する。
【0180】
図17(A)、(B)、及び(C)は、図15の元データ1及び元データ2に基づいて作成された、共通データとXMLデータを示した図である。
【0181】
図17(A)に示されるように、共通データは、元データ1及び元データ2に共通する共通部分の他に、XSLTの変換式B3を含んで構成されている。
【0182】
また、図17(B)のXMLデータ1は、元データ1に対応するデータであり、元データ1の相違部分B1に相当する記述が含まれている。図17(C)のXMLデータ2は、元データ2に対応するデータであり、元データ2の相違部分B2に相当する記述が含まれている。図から明らかなように、XMLデータの記述は、図15の元データ1及び2の相違部分そのままが記述されたものにはなっていない。相違部分において、XSLTを用いて変換可能な内容(本例では数字)については、共通データにXSLTの変換式B3を記述することで対応しているためである。
【0183】
図に示される例では、変換式B3において、ノードをそのままコピーするcopy−of要素のselect属性で、コピーしたノードの位置を表すposition()関数を用いて指定することにより、元データの相違部分に記述された数字が構成され、各ノードの値をそのまま文字列として出力するためのvalue of 要素のselect属性で、カレントノード(図では”.”で示されている)を指定することにより、相違部分に記述された文字列の内容が構成される。
【0184】
このように、XSLTの変換式を用いることにより、類似部分を効率的に共通化することができる。
【0185】
このように、図10のステップ318またはステップ320を実行した後は、ステップ322では、木構造記憶領域16に記憶されているDOMツリーの探索が終了したか否かを判断する。ここで、探索が終了していないと判断した場合には、ステップ300に戻り、記憶容量削減処理を続行する。探索が終了したと判断した場合には、本記憶容量削減処理ルーチンを終了する。
【0186】
以上説明したように、類似部分の木構造を削除し、各類似部分に共通する情報を示す共通データと、相違部分の情報を示すXMLデータとを作成して、各類似部分に対応させて記憶し、作成したデータの記憶場所を示す情報を木構造の代わりに記憶するようにしたため、木構造を記憶するために必要な記憶容量を大幅に削減することができる。
【0187】
なお、本実施の形態でも第1の実施の形態と同様に、記憶容量削減処理の実行を、木構造記憶領域16が容量不足となった場合に限らず、部分木作成毎、あるいは所定の間隔で実行するようにしてもよい。
【0188】
また、本実施の形態では、木構造記憶領域16に記憶されているDOMツリーを対象として記憶容量削減処理を実行する例について説明したが、木構造記憶領域16に記憶する前段階の、ワーク領域14に保持された部分木を対象として記憶容量削減処理を実行するようにしてもよい。
【0189】
また、部分木を作成する毎に、作成した部分木と、木構造記憶領域16に記憶されているDOMツリーとを比較して類似部分を探索するようにしてもよい。この場合には、類似部分があれば、作成した部分木の中で類似部分以外の部分については、木構造の状態で木構造記憶領域16に記憶し、既に木構造記憶領域16に記憶されているDOMツリーの類似部分については、木構造を削除する。また、各類似部分について、共通データ及びXMLデータを作成して記憶し、この記憶場所を示すリンク情報を木構造の代わりに各類似部分に対応させて記憶するように処理する。
【0190】
このような構成によっても、木構造を記憶するために必要な記憶容量を大幅に削減することができる。
【0191】
[第3の実施形態]
本実施の形態では、第2の実施の形態で説明した記憶容量削減処理において、相違量が0の場合には、同一部分と判断して処理する例について説明する。
【0192】
本実施の形態におけるハードウェア構成、ソフトウェア構成、及びXMLプロセッサ10により実行されるメインルーチンは第1の実施の形態と同様であるため、説明を省略する。XMLプロセッサ10により実行される記憶容量削減処理ルーチンは、第2の実施の形態において図10のフローチャートを用いて説明した記憶容量削減処理ルーチンのステップ312に代えて、図18に示されるステップ600乃至ステップ608を実行する。
【0193】
ステップ310で相違量を算出した後、ステップ600で、XMLプロセッサ10は、相違量が0であるか否かを判断する。相違量が0であると判断した場合には、類似している可能性があるとして検出した部分は、同一部分であると判断し、ステップ604に移行する。ステップ604からステップ608では、第1の実施の形態で説明したステップ204からステップ208の処理と同様に、DOMツリーから特定の同一部分以外の同一部分を削除し、特定の同一部分の記憶場所を示すリンク情報を作成して、削除した同一部分に対応させて該リンク情報を記憶する。その後は、図10のステップ322に移行し、更に探索処理を続けるか、あるいは記憶容量削減処理を終了する。
【0194】
ステップ600で、相違量が0ではないと判断した場合には、類似している可能性があるとして検出した部分は、同一部分ではないと判断し、ステップ602に移行する。ステップ602では、相違量が閾値以下であるか否かを判断する。相違量が閾値以下の場合には、類似している可能性があるとして検出した部分は、類似部分であると判断し、ステップ314に移行する。その後の処理は、第2の実施の形態と同様であるため、説明を省略する。
【0195】
以上説明したように、同一部分及び類似部分の双方を処理対象として記憶容量削減処理を行うようにしたため、木構造を記憶するために必要な記憶容量を効率的に削減することができる。
【0196】
[第4の実施形態]
本実施の形態では、第2の実施の形態及び第3の実施の形態で木構造記憶領域16から削除した類似部分がアクセスされた場合に、類似部分を木構造に展開する例、及び木構造記憶領域16が容量不足となった場合、または展開した類似部分に所定時間アクセスが無い場合、のいずれか一方の場合に再度削除する例について説明する。
【0197】
なお、展開とは、ここでは、前述した処理ルーチンで作成された共通データ及びXMLデータを用いて木構造を作成し、木構造記憶領域16に記憶する処理をいう。
【0198】
図19は、本実施の形態における展開処理ルーチンを示すフローチャートである。
【0199】
ステップ700では、XMLプロセッサ10は、DOMツリーから削除され類似部分が上位XMLアプリケーション50からアクセスされたか否かを判断する。類似部分がアクセスされたと判断された場合には、前述の管理テーブルに該類似部分に対応して記憶されている共通データ及びXMLデータのリンク情報から、共通データ及びXMLデータを読み出す。
【0200】
ステップ704では、読み出した共通データ及びXMLデータを用いて、元の木構造に展開する。具体的には、共通データ及びXMLデータから元のXML文書を作成し、該作成されたXML文書から木構造を再作成して木構造記憶領域16に記憶する。
【0201】
ステップ706では、前述の管理テーブルの、該類似部分に対応して記憶されているリンク情報を削除する。
【0202】
ステップ708では、展開した類似部分に対応するタイマTiをスタートさせる。タイマTiは、展開した類似部分毎に設けられ、後述する削除処理ルーチンで、展開した類似部分の木構造を削除するか否かの判断に用いられる。
【0203】
このように、類似部分がアクセスされた場合には、木構造に展開するようにしたため、上位XMLアプリケーション50は、類似部分と類似部分以外の部分とを区別することなくアクセスすることができる。
【0204】
図20は、本実施の形態における削除処理ルーチンを示すフローチャートである。
【0205】
ステップ800では、木構造記憶領域16が容量不足となったか否かを判断する。容量不足ではないと判断した場合には、ステップ802に移行する。
【0206】
ステップ802では、XMLプロセッサ10は、タイマTiが閾値Tth以上になったか否かを判断する。タイマTiが閾値Tth未満の場合には、ステップ804で、対応の類似部分にアクセスがあったか否かを判断する。アクセスがあったと判断した場合には、タイマTiをリセットして、ステップ800に戻る。また、ステップ804でアクセスがないと判断した場合には、タイマTiをリセットせずにステップ800に戻る。
【0207】
ステップ800で、木構造記憶領域16が容量不足であると判断した場合、または、ステップ802で、タイマTiが閾値Tth以上になったと判断した場合には、ステップ808で、タイマTiに対応する展開した類似部分を木構造記憶領域16から削除する。
【0208】
ステップ810では、削除した類似部分に対応するリンク情報を作成して再度管理テーブルに格納する。ステップ812で、タイマTiをリセットして終了する。
【0209】
このように、木構造記憶領域16が容量不足となった場合、または展開した類似部分に所定時間アクセスが無い場合、のいずれか一方の場合に、展開した木構造を木構造記憶領域16から削除するようにしたため、木構造記憶領域16が容量不足となってエラーが発生する、あるいはアクセス効率が低下する、といった事態が発生することを防止することができる。
【0210】
【発明の効果】
以上説明したように、本発明によれば、複数の要素を階層的に記述する文書から作成された木構造の階層構造を変化させることなく、木構造を記憶するために必要な記憶容量を削減することができる、という効果を奏する。
【図面の簡単な説明】
【図1】図1(A)は、本実施の形態に係る構造化文書処理システムの機能構成と、構造化文書処理システムで行われる処理を概念的に示した図であり、図1(B)は、図1(A)で示された構造化文書処理システムの機能構成と、構造化文書処理システムで行われる処理とを更に詳細に示した図である。
【図2】XML文書の一例を示した図である。
【図3】図2のXML文書を解析して作成されたDOMツリーの一例を示した図である。
【図4】XMLプロセッサの機能を実現するためのハードウェア資源としての情報処理装置の構成を示すブロック図である。
【図5】XMLプロセッサにより実行される処理ルーチンのメインルーチンを示したフローチャートである。
【図6】第1の実施の形態に係る記憶容量削減処理ルーチンを示すフローチャートである。
【図7】同一部分を含むXML文書の一例を示した図である。。
【図8】図8(A)は、要素、要素の内容、階層構造が同一の部分を含むXML文書から作成したDOMツリーの一例を示した図であり、図8(A)は、図8(B)のDOMツリーから同一部分の木構造を削除した状態を示した図である。。
【図9】図9(A)は、類似部分を含むDOMツリーの一例であり、図9(B)は、類似部分の木構造を削除して、代わりに作成した共通データ及びXMLデータの記憶場所を示す情報を記憶した状態を示した図である。
【図10】第2の実施の形態に係る記憶容量削減処理ルーチンを示すフローチャートである。
【図11】インサートデータ作成処理に適合するXML文書の一例である。
【図12】インサートデータ作成処理のサブルーチンを示したフローチャートである。
【図13】図13(A)は、図11の元データ1及び元データ2に基づいて作成された共通データを示した図であり、図13(B)及び図13(C)は、図11の元データ1及び元データ2に基づいて作成されたXMLデータを示した図である。
【図14】共通データ及びXMLデータの記憶場所を示す情報を記憶した管理テーブルの一例である。
【図15】変換データ作成処理に適合したXML文書の一例である。
【図16】変換データ作成処理のサブルーチンを示したフローチャートである。
【図17】図17(A)は、図15の元データ1及び元データ2に基づいて作成された共通データを示した図であり、図17(B)及び図17(C)は、図15の元データ1及び元データ2に基づいて作成されたXMLデータを示した図である。
【図18】第3の実施の形態に係る記憶容量削減処理ルーチンのフローチャートの一部である。
【図19】第4の実施の形態に係る展開処理ルーチンを示すフローチャートである。
【図20】第4の実施の形態に係る削除処理ルーチンを示すフローチャートである。
【符号の説明】
10 XMLプロセッサ
11 情報処理装置
16 ワーク領域
18 木構造記憶領域
20 CPU
24 ROM
26 RAM
50 上位XMLアプリケーション
Claims (23)
- 複数の要素が階層的に記述された文書に対応する木構造を記憶した記憶手段と、
前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出手段と、
前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成手段と、
前記同一部分が検出された場合に、前記記憶手段から前記特定の同一部分以外の同一部分を削除すると共に、削除した同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を前記記憶手段に記憶するように処理する処理手段と、
を含む情報処理装置。 - 複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成手段と、
前記作成された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出手段と、
前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成手段と、
前記作成された木構造の同一部分以外の部分及び前記特定の同一部分を記憶すると共に、前記特定の同一部分以外の同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を記憶する記憶手段と、
を含む情報処理装置。 - 複数の要素が階層的に記述された文書に対応する木構造を記憶した記憶手段と、
複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成手段と、
前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出手段と、
前記同一部分が検出された場合に、前記記憶された木構造の同一部分の記憶場所を示す情報を生成する生成手段と、
前記同一部分が検出された場合に、前記作成された木構造の同一部分以外の部分、及び前記作成された木構造の同一部分に対応させて前記記憶された木構造の同一部分の記憶場所を示す情報を前記記憶手段に記憶するように処理する処理手段と、
を含む情報処理装置。 - 複数の要素が階層的に記述された文書に対応する木構造を記憶した記憶手段と、
前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出手段と、
前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成手段と、
前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成手段と、
前記類似部分が検出された場合に、前記記憶手段から前記類似部分の全てを削除し、削除した類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理手段と、
を含む情報処理装置。 - 複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成手段と、
前記作成された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出手段と、
前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成手段と、
前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成手段と、
前記類似部分が検出された場合に、前記類似部分以外の部分については、前記作成された木構造を記憶し、前記類似部分については、前記作成された木構造に代えて前記類似部分に対応させて前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を記憶する記憶手段と、
を含む情報処理装置。 - 複数の要素が階層的に記述された文書に対応する木構造を記憶した記憶手段と、
複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成手段と、
前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出手段と、
前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成手段と、
前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成手段と、
前記類似部分が検出された場合に、前記作成された木構造の類似部分以外の部分については、前記作成された木構造を前記記憶手段に記憶すると共に、前記記憶手段から前記類似部分を削除し、前記削除した部分及び前記作成された木構造の類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理手段と、
を含む情報処理装置。 - 前記類似部分検出手段は、
前記木構造の中から、類似している可能性がある部分を抽出する第1抽出手段と、
前記第1抽出手段により抽出された部分の中から、相違部分を抽出する第2抽出手段とを備え、
前記第2抽出手段により抽出された相違部分のデータ量が所定値以下である場合、及び前記相違部分のデータ量に対する前記第1抽出手段により抽出された部分のデータ量の比率が所定値以下である場合、のいずれか一方の場合に、前記第1抽出手段により抽出された部分を類似部分として検出する請求項4乃至請求項6のいずれか1項記載の情報処理装置。 - 前記データ作成手段は、前記第1データに前記第2データを挿入可能に作成する請求項4乃至請求項7のいずれか1項記載の情報処理装置。
- 前記データ作成手段は、前記第1データに前記第2データを所定の規則に従って変換するための変換式が含まれるように作成する請求項4乃至請求項8のいずれか1項記載の情報処理装置。
- 前記第1データの記憶場所及び前記第2データの記憶場所が記憶された類似部分が参照された場合に、前記第1データと前記参照された類似部分に対応する第2データとを用いて木構造を作成して前記記憶手段に記憶する類似部分木構造作成手段を更に含む請求項4乃至請求項9のいずれか1項記載の情報処理装置。
- 前記記憶手段の空き容量が所定値以下になった場合、及び、前記類似部分木構造作成手段により記憶された木構造が所定時間参照されなかった場合、のいずれか一方の場合には、前記類似部分木構造作成手段により記憶された木構造を前記記憶手段から削除する削除手段を更に含む請求項10記載の情報処理装置。
- 複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、
前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、
前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成工程と、
前記同一部分が検出された場合に、前記記憶手段から前記特定の同一部分以外の同一部分を削除すると共に、削除した同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、
を含む情報処理方法。 - 複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、
前記作成された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、
前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成工程と、
前記作成された木構造の同一部分以外の部分及び前記特定の同一部分を記憶すると共に、前記特定の同一部分以外の同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を記憶する記憶工程と、
を含む情報処理方法。 - 複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、
複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、
前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、
前記同一部分が検出された場合に、前記記憶された木構造の同一部分の記憶場所を示す情報を生成する生成工程と、
前記同一部分が検出された場合に、前記作成された木構造の同一部分以外の部分、及び前記作成された木構造の同一部分に対応させて前記記憶された木構造の同一部分の記憶場所を示す情報を記憶するように処理する処理工程と、
を含む情報処理方法。 - 複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、
前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、
前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、
前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、
前記類似部分が検出された場合に、前記記憶手段から前記類似部分の全てを削除し、削除した類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、
を含む情報処理方法。 - 複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、
前記作成された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、
前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、
前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、
前記類似部分が検出された場合に、前記類似部分以外の部分については、前記作成された木構造を記憶し、前記類似部分については、前記作成された木構造に代えて前記類似部分に対応させて前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を記憶する記憶工程と、
を含む情報処理方法。 - 複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、
複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、
前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、
前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、
前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、
前記類似部分が検出された場合に、前記作成された木構造の類似部分以外の部分については、前記作成された木構造を前記記憶手段に記憶すると共に、前記記憶手段から前記類似部分を削除し、前記削除した部分及び前記作成された木構造の類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、
を含む情報処理方法。 - コンピュータに、
複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、
前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、
前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成工程と、
前記同一部分が検出された場合に、前記記憶手段から前記特定の同一部分以外の同一部分を削除すると共に、削除した同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、
を実行させるためのプログラム。 - コンピュータに、
複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、
前記作成された木構造において、要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、
前記同一部分が検出された場合に、特定の同一部分の記憶場所を示す情報を生成する生成工程と、
前記作成された木構造の同一部分以外の部分及び前記特定の同一部分を記憶すると共に、前記特定の同一部分以外の同一部分に対応させて前記特定の同一部分の記憶場所を示す情報を記憶する記憶工程と、
を実行させるためのプログラム。 - コンピュータに、
複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、
複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、
前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が同一の同一部分を検出する同一部分検出工程と、
前記同一部分が検出された場合に、前記記憶された木構造の同一部分の記憶場所を示す情報を生成する生成工程と、
前記同一部分が検出された場合に、前記作成された木構造の同一部分以外の部分、及び前記作成された木構造の同一部分に対応させて前記記憶された木構造の同一部分の記憶場所を示す情報を記憶するように処理する処理工程と、
を実行させるためのプログラム。 - コンピュータに、
複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、
前記記憶された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、
前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、
前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、
前記類似部分が検出された場合に、前記記憶手段から前記類似部分の全てを削除し、削除した類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、
を実行させるためのプログラム。 - コンピュータに、
複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、
前記作成された木構造において、要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、
前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、
前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、
前記類似部分が検出された場合に、前記類似部分以外の部分については、前記作成された木構造を記憶し、前記類似部分については、前記作成された木構造に代えて前記類似部分に対応させて前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を記憶する記憶工程と、
を実行させるためのプログラム。 - コンピュータに、
複数の要素が階層的に記述された文書に対応する木構造を記憶手段に記憶する記憶工程と、
複数の要素が階層的に記述された文書に対応する木構造を作成する木構造作成工程と、
前記記憶された木構造と前記作成された木構造とを比較し、前記作成された木構造において前記記憶された木構造と要素、要素の内容、及び要素の階層構造が類似する類似部分を検出する類似部分検出工程と、
前記検出された類似部分に基づいて、各類似部分に共通する情報を示す第1データを作成すると共に、前記類似部分の相違部分の情報を示す第2データを前記類似部分毎に作成するデータ作成工程と、
前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を生成する生成工程と、
前記類似部分が検出された場合に、前記作成された木構造の類似部分以外の部分については、前記作成された木構造を前記記憶手段に記憶すると共に、前記記憶手段から前記類似部分を削除し、前記削除した部分及び前記作成された木構造の類似部分に対応させて、前記第1データの記憶場所を示す情報及び前記各第2データの記憶場所を示す情報を前記記憶手段に記憶するように処理する処理工程と、
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003176823A JP4134824B2 (ja) | 2003-06-20 | 2003-06-20 | 情報処理装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003176823A JP4134824B2 (ja) | 2003-06-20 | 2003-06-20 | 情報処理装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005011215A true JP2005011215A (ja) | 2005-01-13 |
JP4134824B2 JP4134824B2 (ja) | 2008-08-20 |
Family
ID=34099590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003176823A Expired - Fee Related JP4134824B2 (ja) | 2003-06-20 | 2003-06-20 | 情報処理装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4134824B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007015505A1 (ja) * | 2005-08-04 | 2007-02-08 | Nec Corporation | データ処理装置、データ処理方法、データ処理プログラム |
JP2009037310A (ja) * | 2007-07-31 | 2009-02-19 | Canon Inc | フロー記述文書処理装置、フロー記述文書処理方法及びプログラム |
JP2009075887A (ja) * | 2007-09-20 | 2009-04-09 | Canon Inc | 情報処理装置および符号化方法 |
-
2003
- 2003-06-20 JP JP2003176823A patent/JP4134824B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007015505A1 (ja) * | 2005-08-04 | 2007-02-08 | Nec Corporation | データ処理装置、データ処理方法、データ処理プログラム |
JP4992715B2 (ja) * | 2005-08-04 | 2012-08-08 | 日本電気株式会社 | データ処理装置、データ処理方法、データ処理プログラム |
US8775158B2 (en) | 2005-08-04 | 2014-07-08 | Nec Corporation | Data processing device, data processing method, and data processing program |
JP2009037310A (ja) * | 2007-07-31 | 2009-02-19 | Canon Inc | フロー記述文書処理装置、フロー記述文書処理方法及びプログラム |
JP2009075887A (ja) * | 2007-09-20 | 2009-04-09 | Canon Inc | 情報処理装置および符号化方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4134824B2 (ja) | 2008-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7287215B2 (en) | System and method for facilitating the design of a website | |
US7519903B2 (en) | Converting a structured document using a hash value, and generating a new text element for a tree structure | |
JP4656868B2 (ja) | 構造化文書作成装置 | |
JP5224953B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
US7120869B2 (en) | Enhanced mechanism for automatically generating a transformation document | |
US7197510B2 (en) | Method, system and program for generating structure pattern candidates | |
JP4365162B2 (ja) | 構造化文書のデータを検索する装置および方法 | |
RU2610241C2 (ru) | Способ и система синтеза текста на основе извлеченной информации в виде rdf-графа с использованием шаблонов | |
US20090210780A1 (en) | Document processing and management approach to creating a new document in a mark up language environment using new fragment and new scheme | |
US20070168379A1 (en) | Method and apparatus for cataloging screen shots of a program | |
JP2004178602A (ja) | 階層構造化データをインポートし、エクスポートする方法及びコンピュータ可読媒体 | |
JP2005025763A (ja) | 構造化文書の分割プログラム、分割装置、及び分割方法 | |
JPH0830620A (ja) | 構造検索装置 | |
JP2006268638A (ja) | 文書差分検出装置 | |
KR20060070420A (ko) | 문서를 나타내기 위한 파일 포맷, 방법 및 컴퓨터 프로그램제품 | |
US20060253430A1 (en) | Method and apparatus for approximate projection of XML documents | |
JPWO2004061713A1 (ja) | 構造化文書の構造変換装置、構造変換方法、記録媒体 | |
JP5413198B2 (ja) | ユーザインタフェース認識装置、ユーザインタフェース認識方法およびプログラム | |
CN112527291A (zh) | 网页生成方法、装置、电子设备及存储介质 | |
JP4134824B2 (ja) | 情報処理装置及びプログラム | |
KR100345277B1 (ko) | Xml 문서의 논리적인 구조정보 추출기 | |
CN113127861A (zh) | 一种规则命中检测方法、装置、电子设备及可读存储介质 | |
JP3056071B2 (ja) | 設計支援装置 | |
Mukherjee et al. | Browsing fatigue in handhelds: semantic bookmarking spells relief | |
JPWO2005101210A1 (ja) | データ解析装置およびデータ解析プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060522 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080212 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080410 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080507 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080520 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130613 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140613 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |