(57)【要約】【課題】  構造化文書の木構造における特定ノードの情報を、より少ない処理手順で取り出すことが出来る符号化情報を生成する、構造化文書符号化装置を提供する。【解決手段】  構造化文書によって表される木構造に基づいて、当該木構造のノードそれぞれにノード識別番号を割り当てるノード識別番号割当手段と、ノードそれぞれについて、ノード識別番号、子ノードの識別番号、共通の親ノードを持つ次の兄弟ノードの識別番号、を少なくとも含むノード位置情報を生成するノード位置情報生成手段と、各ノードのノード位置情報と各ノードに対応する構造化文書中のノード内容情報とを結合した、構造化文書符号情報を生成する構造化文書符号情報生成手段とを備える。【選択図】    図１
2005141650.tif 000002
【特許請求の範囲】
【請求項１】
構造化文書を符号化する構造化文書符号化装置であって、
前記構造化文書によって表される木構造に基づいて、当該木構造のノードそれぞれにノード識別番号を割り当てるノード識別番号割当手段と、
前記ノードそれぞれについて、前記ノード識別番号、子ノードの識別番号、共通の親ノードを持つ次の兄弟ノードの識別番号、を少なくとも含むノード位置情報を生成するノード位置情報生成手段と、
前記各ノードのノード位置情報と前記各ノードに対応する前記構造化文書中のノード内容情報とを結合した、構造化文書符号情報を生成する構造化文書符号情報生成手段と、
を備えることを特徴とする構造化文書符号化装置。
【請求項２】
前記ノード位置情報は、さらに親ノードの識別情報を含む
ことを特徴とする請求項１に記載の構造化文書符号化装置。
【請求項３】
前記ノード内容情報は、
ノードに対応する前記構造化文書中の要素名を含み、かつ要素内容、属性名、属性値のうち、少なくともいずれか１つを含む情報である
ことを特徴とする請求項１または請求項２に記載の構造化文書符号化装置。
【請求項４】
前記ノードに対応する前記構造化文書中の要素名毎に要素名識別情報を割り当て、前記要素名と前記要素名識別情報とを対応付けた要素名テーブルを作成する要素名テーブル作成手段と、
前記ノードに対応する前記構造化文書中の要素内容毎に要素内容識別情報を割り当て、前記要素内容と前記要素内容識別情報とを対応付けた要素内容テーブルを作成する要素内容テーブル作成手段と、
前記ノードに対応する前記構造化文書中の属性名毎に属性名識別情報を割り当て、前記属性名と前記属性名識別情報とを対応付けた属性名テーブルを作成する属性名テーブル作成手段と、
前記ノードに対応する前記構造化文書中の属性値毎に属性値識別情報を割り当て、前記属性値と前記属性知識別情報とを対応付けた属性値テーブルを作成する属性値テーブル作成手段とを備え、
前記ノード内容情報が前記要素名識別情報を含み、かつ前記要素内容識別情報、前記属性名識別情報、前記属性値識別情報のうち、少なくともいずれか１つを含む情報であり、
構造化文書符号情報生成手段が、前記各ノードのノード位置情報と前記各ノードに対応する前記構造化文書中のノード内容情報に、さらに、前記要素名テーブルと前記要素内容テーブルと前記属性名テーブルと前記属性値テーブルとを結合した、構造化文書符号情報を生成する
ことを特徴とする請求項１または請求項２のいずれかに記載の構造化文書符号化装置。
【請求項５】
構造化文書を符号化する構造化文書符号化装置における構造化文書符号化方法であって、
前記構造化文書によって表される木構造に基づいて、当該木構造のノードそれぞれにノード識別番号を割り当てるノード識別番号割当過程と、
前記ノードそれぞれについて、前記ノード識別番号、子ノードの識別番号、共通の親ノードを持つ次の兄弟ノードの識別番号、を少なくとも含むノード位置情報を生成するノード位置情報生成過程と、
前記各ノードのノード位置情報と前記各ノードに対応する前記構造化文書中のノード内容情報とを結合した、構造化文書符号情報を生成する構造化文書符号情報生成過程と、
を有することを特徴とする構造化文書符号化方法。
【請求項６】
構造化文書を符号化する構造化文書符号化装置のコンピュータに実行させるプログラムであって、
前記構造化文書によって表される木構造に基づいて、当該木構造のノードそれぞれにノード識別番号を割り当てるノード識別番号割当処理と、
前記ノードそれぞれについて、前記ノード識別番号、子ノードの識別番号、共通の親ノードを持つ次の兄弟ノードの識別番号、を少なくとも含むノード位置情報を生成するノード位置情報生成処理と、
前記各ノードのノード位置情報と前記各ノードに対応する前記構造化文書中のノード内容情報とを結合した、構造化文書符号情報を生成する構造化文書符号情報生成処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書情報を符号化する構造化文書符号化装置及び構造化文書符号化方法ならびにそのプログラムに関する。
【背景技術】
【０００２】
従来、ＸＭＬ文書などの構造化文書を符号化する場合、符号化装置は、まず構造化文書が表す木構造を解読し、その木構造の各ノードにあたる構造化文書中の要素名や属性名や属性値などを符号化し、また、各ノードの要素内容などは別に符号化して、それら符号化した情報を組合せて構造化文書の符号情報を生成する。なお、代表的な符号化の手法としてＭｉｌｌａｕと呼ばれる符号化手法が存在する（非特許文献１参照）。
【非特許文献１】Marc Girardot、外１名、“Millau: an encoding format for efficient representation and exchange of XML over the Web”、Computer Networks: The International Journal of Computer and Telecommunications Networking、Netherlands、North-Holland Publishing Co.、June 2000、Volume33,Issue1-6、p.747-p.765、
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の符号化手法で生成される構造化文書の符号情報は、一旦その符号情報をデコードした後に再度パーシングを行なわなければ、構造化文書の木構造における親子関係を読み取ることが出来ないので、例えば、符号情報そのものから木構造の根ノードに対応する第２子ノードの情報だけを取り出すといった処理を行なうことが難しかった。従って、符号情報を用いて構造化文書の木構造における特定ノードの情報を取り出す際には、上述のパーシングの処理を１回加えなければならないので、その分処理に時間がかかってしまう。
【０００４】
そこでこの発明は、構造化文書の木構造における特定ノードの情報を、より少ない処理手順で取り出すことが出来る符号化情報を生成する、構造化文書符号化装置及び構造化文書符号化方法ならびにそのプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題を解決すべくなされたもので、構造化文書を符号化する構造化文書符号化装置であって、前記構造化文書によって表される木構造に基づいて、当該木構造のノードそれぞれにノード識別番号を割り当てるノード識別番号割当手段と、前記ノードそれぞれについて、前記ノード識別番号、子ノードの識別番号、共通の親ノードを持つ次の兄弟ノードの識別番号、を少なくとも含むノード位置情報を生成するノード位置情報生成手段と、前記各ノードのノード位置情報と前記各ノードに対応する前記構造化文書中のノード内容情報とを結合した、構造化文書符号情報を生成する構造化文書符号情報生成手段とを備えることを特徴とする構造化文書符号化装置である。これにより、上述の構造化文書符号化装置の生成した構造化文書符号情報には、構造化文書が示す木構造の各ノードごとに、ノードの位置を検出する為の子ノードの識別番号や共通の親ノードを持つ次の兄弟ノードの識別番号が保持されるので、その構造化文書符号情報を用いれば、容易にかつより少ない処理手順で、構造化文書が示す木構造の特定ノードの要素内容や要素名や属性名や属性値などのノード内容情報を取得することができる。
【０００６】
また本発明は、前記ノード位置情報生成手段が生成する前記ノード位置情報が、さらに親ノードの識別情報を含むことを特徴とする。これにより、子ノードからその子ノードの親ノードの情報を取得する際に、より早い処理で親ノードの情報を取得することが出来る構造化文書符号情報を、生成することができる。
【０００７】
また本発明は、前記ノード内容情報は、ノードに対応する前記構造化文書中の要素名を含み、かつ要素内容、属性名、属性値のうち、少なくともいずれか１つを含む情報であることを特徴とする。これにより、各ノードの要素名、要素内容、属性名、属性値のうち、少なくともいずれか１つの情報を取り出すことの出来る構造化文書符号情報を、生成することができる。
【０００８】
また本発明は、上述の構造化文書符号化装置が、前記ノードに対応する前記構造化文書中の要素名毎に要素名識別情報を割り当て、前記要素名と前記要素名識別情報とを対応付けた要素名テーブルを作成する要素名テーブル作成手段と、前記ノードに対応する前記構造化文書中の要素内容毎に要素内容識別情報を割り当て、前記要素内容と前記要素内容識別情報とを対応付けた要素内容テーブルを作成する要素内容テーブル作成手段と、前記ノードに対応する前記構造化文書中の属性名毎に属性名識別情報を割り当て、前記属性名と前記属性名識別情報とを対応付けた属性名テーブルを作成する属性名テーブル作成手段と、前記ノードに対応する前記構造化文書中の属性値毎に属性値識別情報を割り当て、前記属性値と前記属性知識別情報とを対応付けた属性値テーブルを作成する属性値テーブル作成手段とを備え、前記ノード内容情報が前記要素名識別情報を含み、かつ前記要素内容識別情報、前記属性名識別情報、前記属性値識別情報のうち、少なくともいずれか１つを含む情報であり、構造化文書符号情報生成手段が、前記各ノードのノード位置情報と前記各ノードに対応する前記構造化文書中のノード内容情報に、さらに、前記要素名テーブルと前記要素内容テーブルと前記属性名テーブルと前記属性値テーブルとを結合した、構造化文書符号情報を生成することを特徴とする。これにより、ノード内容情報が、要素名識別情報や要素内容識別情報や属性名識別情報や属性値識別情報となるので、ノード内容情報をより小さく符号化することができる。
【０００９】
また本発明は、構造化文書を符号化する構造化文書符号化装置における構造化文書符号化方法であって、前記構造化文書によって表される木構造に基づいて、当該木構造のノードそれぞれにノード識別番号を割り当てるノード識別番号割当過程と、前記ノードそれぞれについて、前記ノード識別番号、子ノードの識別番号、共通の親ノードを持つ次の兄弟ノードの識別番号、を少なくとも含むノード位置情報を生成するノード位置情報生成過程と、前記各ノードのノード位置情報と前記各ノードに対応する前記構造化文書中のノード内容情報とを結合した、構造化文書符号情報を生成する構造化文書符号情報生成過程とを有することを特徴とする構造化文書符号化方法である。
【００１０】
また本発明は、構造化文書を符号化する構造化文書符号化装置のコンピュータに実行させるプログラムであって、前記構造化文書によって表される木構造に基づいて、当該木構造のノードそれぞれにノード識別番号を割り当てるノード識別番号割当処理と、前記ノードそれぞれについて、前記ノード識別番号、子ノードの識別番号、共通の親ノードを持つ次の兄弟ノードの識別番号、を少なくとも含むノード位置情報を生成するノード位置情報生成処理と、前記各ノードのノード位置情報と前記各ノードに対応する前記構造化文書中のノード内容情報とを結合した、構造化文書符号情報を生成する構造化文書符号情報生成処理とをコンピュータに実行させるプログラムである。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態による構造化文書符号化装置を図面を参照して説明する。
図１は同実施形態の構造化文書符号化装置の構成を示す図である。この図において、符号１は構造化文書を符号化する構造化文書符号化装置である。そして、この構造化文書符号化装置において、符号１１は、符号化対象のＸＭＬ文書などの構造化文書の情報を記憶する構造化文書記憶部である。また１２は構造化文書の木構造を解析する木構造解析部である。また１３は木構造解析部１２で解析された木構造の各ノードそれぞれに、ノードＩＤを割り当てるノードＩＤ割当部である。また１４はノード位置情報生成部であり、各ノードそれぞれについて、ノードＩＤと、少なくとも親ノードのＩＤと、子ノードのＩＤと、兄弟ノードＩＤのいずれか１つの情報を含む、ノード位置情報を生成する。
また１５はテーブル作成部であり、各ノードの要素名や要素内容や属性名や属性値などに、それぞれ要素名ＩＤ、要素内容ＩＤ、属性名ＩＤ、属性値ＩＤを割り当て、また、要素名や要素内容や属性名や属性値などのノード内容情報の種類毎に、割り当てたＩＤとノード内容情報のデータとを対応付けたテーブルを作成する。また１６は構造化文書符号情報生成部であり、各ノードのノード位置情報とノード内容情報を示すＩＤとテーブル作成部１５の作成したテーブルの情報を対応付けた構造化文書符号化情報を生成する。
【００１２】
図２は構造化文書符号化情報に含まれるノード符号化データの構造の第１の例を示す図である。ここでノード符号化データとは、構造化文書符号化情報に含まれる１つのノードに対応するデータのことをいう。この図が示すように、構造化文書符号化情報に含まれる１つのノード対応するノード符号化データは、少なくともノードＩＤが記録される領域（Node ID）と、ノード位置情報が記録される領域（Tree Structure）と、ノード内容情報を示すＩＤが記録される領域（Data Structure）とで構成されている。ここで、ノード位置情報は上述したように、親ノード（Parent）のノードＩＤや、子ノードのノードＩＤや、兄弟ノードのノードＩＤである。なお、子ノードのノードＩＤには第１子ノード（First Chile）のノードＩＤが記録される。また兄弟ノードのノードＩＤには、次の兄弟ノード（Next Sibling）のノードＩＤが記録される。そして、構造化文書符号化情報は、構造化文書の木構造に含まれる全てのノードに対応する各ノード符号化データを連ねた情報と、要素名や要素内容や属性名や属性値などのデータとを保持する情報である。
【００１３】
次に、構造化文書符号化装置１の処理の詳細について説明する。
まず、あるＸＭＬ文書の情報が構造化文書記憶部１１に記録されているとする。そして、構造化文書符号化装置１がＸＭＬ文書の符号化処理の実行を指示されると、木構造解析部１２が構造化文書記憶部１１に記録されているＸＭＬ文書の情報を読み取り、木構造の解析を行なう。
【００１４】
図３は木構造解析部の解析したＸＭＬ文書の木構造を示す図である。そして、この図に示す木構造の各ノードは、ＸＭＬ文書中のＢｏｏｋ、Ｐａｒｔ１、Ｐａｔｒ２、Ｓｅｃｔｉｏｎ１、Ｓｅｃｔｉｏｎ２、Ｓｕｂｓｅｃｔｉｏｎ１の要素名を含む各タグそれぞれに対応することを表している。
【００１５】
木構造解析部１２がＸＭＬ文書の木構造の解析を終了すると、次に、ノードＩＤ割当部１３が木構造における各ノードにノードＩＤを割り当てる。ここで、図３で示した木構造の各ノードをノード１〜ノード９とし、それぞれのノードＩＤをノードＩＤ＝０１、０２、０３・・・０９とする。次に、ノードＩＤ割当部１３が各ノードのノードＩＤの割り当てを終了すると、ノード位置情報生成部１４が、まずノード１についてのノード位置情報を生成する。この時、ノード１の親ノード（parent）と兄弟ノード（next sibling）はないので、ノード位置情報が記録される領域には第１子ノード（first child）のノードＩＤ＝０２のみが所定の位置に記録される。また、ノード位置情報生成部１４は、ノード２についてのノード位置情報を生成する。この時、ノード２の親ノードはノード１、兄弟ノードはノード３、子ノードはノード４となるので、ノード位置情報が記録される領域には、ノード１のノードＩＤ＝０１と、ノード４のノードＩＤ＝０４と、ノード３のノードＩＤ＝０３が記録される。このようにして、ノード位置情報生成部１４は、全てのノードについてのノード位置情報を作成する。
【００１６】
次に、ノード位置情報生成部１４が、ＸＭＬ文書によって表される木構造の全てのノードのノード位置情報を生成し終えると、テーブル作成部１５が各ノードに対応するＸＭＬ文書中の要素名、要素内容、属性名、属性値を取り出して、それぞれに要素名ＩＤ、要素内容ＩＤ、属性名ＩＤ、属性値ＩＤを割り当てる。ここで、例えばテーブル作成部１５は同一の要素名が複数ある場合には、それらに同一の要素内容ＩＤを割り当てる。これは要素内容、属性名、属性値も同様である。そして、テーブル作成部１５は要素名ＩＤと要素名のデータとを対応付けた要素名テーブルと、要素内容ＩＤと要素内容のデータとを対応付けた要素内容テーブルと、属性名ＩＤと属性名のデータとを対応付けた属性名テーブルと、属性値ＩＤと属性値のデータとを対応付けた属性値テーブルとを作成する。
【００１７】
次に、構造化文書符号情報生成部１６が、ノード１のノードＩＤと、ノード１のノード位置情報と、ノード１に対応するＸＭＬ文書中の要素名、要素内容、属性名、属性値の各ＩＤを結合し、ノード１のノード符号化データを作成する。なお、ノード１に対応するＸＭＬ文書中の要素名や要素内容や属性名や属性値のうち、いずれかの情報が含まれていない場合には、そのＩＤの値が空となるノード符号化データとなる。なお、各ノードには要素名は必ず存在するので、ノード符号化データには必ず要素名ＩＤが書き込まれる。
また上述の処理と同様に、構造化文書符号情報生成部１６は、ノード２〜ノード９のノード符号化データを作成する。そして構造化文書符号情報生成部１６は、ノード１〜ノード９の各ノード符号化データを結合し、さらに、テーブル作成部１５の作成した要素名テーブルと要素内容テーブルと属性名テーブルと属性値テーブルの各情報とを結合して、構造化文書符号情報を生成する。
【００１８】
図４は構造化文書符号情報のデータ構造を示す図である。この図が示すように、構造化文書符号情報は、各ノードに対応するノード符号化データと、要素名テーブルと要素内容テーブルと属性名テーブルと属性値テーブルの各情報とが結合した情報である。
【００１９】
ここで、本実施形態においては、ノード符号化データのノード内容情報を示すＩＤが記録される領域（Data Structure）に、要素名ＩＤや要素内容ＩＤや属性名ＩＤや属性値ＩＤが記述され、そのＩＤに対応するデータの実態を構造化文書符号化情報がテーブルで保持するようにしているが、要素名ＩＤや要素内容ＩＤや属性名ＩＤや属性値ＩＤなどのＩＤを利用せずに、要素名や要素内容や属性名や属性値のデータを、各ＩＤの代わりに「Data Structure」の領域に記述し、要素名テーブルや要素内容テーブルや属性名テーブルや属性値テーブルを構造化文書符号情報に含まない様な構成にしてもよい。そしてこの場合、ノード符号化データの構造は図５に示すような構造となる。
【００２０】
図５はノード符号化データの構造の第２の例を示す図である。図５に示すように、ノード符号化データのデータ長が変化するため、各ノード符号化データ毎に、ノード長（Node Length）の情報を先頭に付加する。
【００２１】
なお、上述の構造化文書符号化装置は内部に、コンピュータシステムを有している。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００２２】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００２３】
【図１】本実施形態による構造化文書符号化装置の構成を示す図である。
【図２】本実施形態によるノード符号化データの構造の第１の例を示す図である。
【図３】本実施形態の木構造解析部の解析したＸＭＬ文書の木構造を示す図である。
【図４】本実施形態による構造化文書符号情報のデータ構造を示す図である。
【図５】本実施形態によるノード符号化データの構造の第２の例を示す図である。
【符号の説明】
【００２４】
１  構造化文書符号化装置、１１  構造化文書記憶部、１２  木構造解析部、１３  ノードＩＤ割当部、１４  ノード位置情報生成部、１５  テーブル作成部、１６  構造化文書符号情報生成部
【図１】
2005141650.tif 000003
【図２】
2005141650.tif 000004
【図３】
2005141650.tif 000005
【図４】
2005141650.tif 000006
【図５】
2005141650.tif 000007