(57)【要約】【課題】  構造化文書の木構造における所定の部分木に含まれる各ノードの情報を、より少ない処理で取り出すことが出来る構造化文書処理装置を提供する。【解決手段】  予め符号化データからヘッダ部を読み取るヘッダ部読取手段と、部分木の指定を受け付ける部分木指定受付手段と、指定を受け付けた部分木の識別情報に対応付けられてヘッダ部に保持されている部分木読取位置情報を取得する部分木読取位置取得手段と、当該読み取った部分木読取位置情報に基づいて、部分木情報格納部に保持される部分木内容情報を読み取る部分木内容情報読取手段とを備える。【選択図】    図１
2005190121.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、
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の符号化手法で生成された構造化文書の符号データを用いて、構造化文書を出力する処理においては、上述したように、生成された符号データをデコードした後に再度パーシングを行なわなければ、構造化文書の木構造における親子関係を読み取ることや、構造化文書によって表される木構造の各ノードのうち出力するノードの特定などが出来ないので、符号データから木構造における所定の部分木に対応する各ノードの情報を取り出す処理に時間がかかっていた。
【０００４】
そこでこの発明は、構造化文書の木構造における所定の部分木に含まれる各ノードの情報を、より少ない処理で取り出すことが出来る構造化文書の符号化データ、またその符号化データを用いて構造化文書を出力する構造化文書処理装置及び構造化文書処理方法ならびにそのプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
本発明は、上述の課題を解決すべくなされたもので、構造化文書の符号化データであって、前記構造化文書で表される木構造の所定の部分木ごとに、部分木の構造情報と、部分木に含まれる各ノードのノード内容とを保持し、前記部分木の構造情報は、当該部分木に含まれる各ノードごとに、部分木の構造におけるノードの位置を示すノード位置情報と、前記ノードの内容の読み取り位置を示すノード内容読取位置情報とを含むことを特徴とする符号化データである。
これにより、この符号化データを用いて構造化文書の内容を出力する処理では、部分木の指定がされた場合には、当該部分木に含まれるノードの内容を、木構造全体を走査することなく出力することが出来る。従って、構造化文書の内容の出力の時間が早くなり、また処理数が少なくなる。
【０００６】
また本発明は、前記ノード位置情報が、ノード識別番号、子ノードの識別番号、共通の親ノードを持つ次の兄弟ノードの識別番号、を少なくとも含むことを特徴とする。これにより、この符号化データを用いて構造化文書の内容を出力する処理で、各ノードが含まれる部分木の木構造を解析することができる。
【０００７】
また本発明は、前記符号化データが、前記所定の部分木ごとに、部分木の構造情報と部分木に含まれる各ノードのノードの内容とを保持する部分木内容情報を、前記所定の部分木数分格納した部分木情報格納部と、前記所定の部分木ごとに、部分木の識別情報と前記部分木内容情報の読み取り位置を示す部分木読取位置情報とを対応付けて保持するヘッダ部とを有することを特徴とする。
これにより、この符号化データを用いて構造化文書の内容を出力する処理において、ヘッダ部を読み込んでおけば、部分木の識別情報を指定されれば、それに対応する部分木読取位置情報に基づいて、符号化データから部分木内容情報を即時に読み込むことが出来る。
【０００８】
また本発明は、構造化文書で表される木構造の所定の部分木ごとに、部分木の構造情報と部分木に含まれる各ノードのノードの内容とを保持する部分木内容情報を、前記所定の部分木数分格納した部分木情報格納部と、前記所定の部分木ごとに、部分木の識別情報と前記部分木内容情報の読み取り位置を示す部分木読取位置情報とを対応付けて保持するヘッダ部とを有する符号化データを用いて前記構造化文書の出力処理を行なう構造化文書処理装置であって、予め前記符号化データから前記ヘッダ部を読み取るヘッダ部読取手段と、前記部分木の指定を受け付ける部分木指定受付手段と、前記指定を受け付けた部分木の識別情報に対応付けられて前記ヘッダ部に保持されている部分木読取位置情報を取得する部分木読取位置取得手段と、当該読み取った部分木読取位置情報に基づいて、前記部分木情報格納部に保持される部分木内容情報を読み取る部分木内容情報読取手段とを備えることを特徴とする構造化文書処理装置である。
本発明によれば、ヘッダ部読取手段が、予め符号化データからヘッダ部を読み取り、部分木指定受付手段が部分木の指定を受け付け、部分木読取位置取得手段が指定を受け付けた部分木の識別情報に対応付けられてヘッダ部に保持されている部分木読取位置情報を取得する。そして、部分木内容情報読取手段が読み取った部分木読取位置情報に基づいて、部分木情報格納部に保持される部分木内容情報を読み取る。これにより、部分木内容情報を木構造における全てのノードを確認しなくても読み取ることが出来るので、処理の軽減や構造化文書の内容の出力を速くすることができる。
【０００９】
また本発明は、構造化文書で表される木構造の所定の部分木ごとに、部分木の構造情報と部分木に含まれる各ノードのノードの内容とを保持する部分木内容情報を、前記所定の部分木数分格納した部分木情報格納部と、前記所定の部分木ごとに、部分木の識別情報と前記部分木内容情報の読み取り位置を示す部分木読取位置情報とを対応付けて保持するヘッダ部とを有する符号化データを用いて前記構造化文書の出力処理を行なう構造化文書処理方法であって、予め前記符号化データから前記ヘッダ部を読み取るヘッダ部読取過程と、前記部分木の指定を受け付ける部分木指定受付過程と、前記指定を受け付けた部分木の識別情報に対応付けられて前記ヘッダ部に保持されている部分木読取位置情報を取得する部分木読取位置取得過程と、当該読み取った部分木読取位置情報に基づいて、前記部分木情報格納部に保持される部分木内容情報を読み取る部分木内容情報読取過程とを有することを特徴とする構造化文書処理方法である。
【００１０】
また本発明は、構造化文書で表される木構造の所定の部分木ごとに、部分木の構造情報と部分木に含まれる各ノードのノードの内容とを保持する部分木内容情報を、前記所定の部分木数分格納した部分木情報格納部と、前記所定の部分木ごとに、部分木の識別情報と前記部分木内容情報の読み取り位置を示す部分木読取位置情報とを対応付けて保持するヘッダ部とを有する符号化データを用いて前記構造化文書の出力処理を行なう構造化文書処理装置のコンピュータに実行させるプログラムであって、予め前記符号化データから前記ヘッダ部を読み取るヘッダ部読取処理と、前記部分木の指定を受け付ける部分木指定受付処理と、前記指定を受け付けた部分木の識別情報に対応付けられて前記ヘッダ部に保持されている部分木読取位置情報を取得する部分木読取位置取得処理と、当該読み取った部分木読取位置情報に基づいて、前記部分木情報格納部に保持される部分木内容情報を読み取る部分木内容情報読取処理とをコンピュータに実行させるプログラムである。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態による構造化文書処理装置を図面を参照して説明する。
図１は同実施形態の構造化文書処理装置の構成を示す図である。この図において、符号１は構造化文書処理装置である。そしてこの構造化文書符号化装置１において、符号１１はＸＭＬやＨＴＭＬなどで記述された構造化文書が符号化された符号化データを記憶する符号化データ記憶部である。また１２は構造化文書の出力の指示を受け付ける指示受付部（部分木指定受付手段）である。また１３は符号化データ記憶部１１に記録されている符号化データに基づいて、構造化文書の内容を出力する構造化文書出力処理部（ヘッダ部読取手段、部分木読取位置取得手段、部分木内容情報読取手段）である。また１４はＸＭＬやＨＴＭＬなどで記述された構造化文書が記録された構造化文書記憶部、また１５は構造化文書を符号化して符号化データを生成する構造化文書符号化データ生成部である。
【００１２】
そして、この構造化文書処理装置１では、予め構造化文書符号化データ生成部１５が構造化文書記憶部１４に記録されている構造化文書を符号化して、符号化データを生成して、符号化データ記憶部１１に格納しておく。そして、その符号化データの利用時に、指示受付部１２や構造化文書出力部１３が後述の処理を行ない、構造化文書の一部を、例えば構造化文書処理装置１が備える表示部などに出力する。
【００１３】
図２は符号化データの生成概要を示す図である。
この図が示すように、構造化文書符号化データ生成部１５は、構造化文書記憶部１４から構造化文書を読み取り、所定の部分木ごとに分解する（１）。ここで所定の部分木は、例えば構造化文書がテキストなどの文書の情報であれば、章や節などに対応する構造文書中のノードの集合を表す部分木である。そして構造化文書符号化データ生成部１５は、各所定の部分木の情報を、部分木内の各ノードの構成する木構造を示す部分木構造情報と、当該部分木内の各ノードの内容を示すノード内容情報とに分解して（２）、それら部分木構造情報とノード内容情報とからなる部分木内容情報を部分木ごとに順に保持する部分木情報格納部と、ヘッダ部とを保持する符号化データを生成する。
【００１４】
図３は符号化データのデータ構成を示す図である。
この図が示すように、構造化文書符号化データ生成部１５の生成した符号化データは、ヘッダ部と、構造化文書の所定の部分木ごとの部分木構造情報とノード内容情報とからなる部分木内容情報を、部分木ごとに保持する部分木情報格納部を保持している。
【００１５】
図４は符号化データに含まれるヘッダ部のデータ構造を示す図である。
この図が示すように符号化データに含まれるヘッダ部は、ファイル名やファイルサイズや作成日時の情報のほかに、部分木番号（部分木の識別情報）と、当該部分木番号に対応する部分木に関する部分木構造情報およびノード内容情報が格納されたデータ領域の先頭アドレス（部分木読取位置）と、を対応付けて保持している。
【００１６】
図５は部分木構造情報のデータ構造を示す図である。
この図が示すように、部分木構造情報は、１つの部分木に含まれる各ノードごとに、少なくとも、属する部分木の番号が記録される領域と、ノードの内容の先頭アドレス（ノード内容読取位置情報）が記録される領域と、ノード位置情報が記録される領域とで構成されている。そして、ノードが属する部分木の番号とそのノードの内容情報が格納されたデータ領域の先頭アドレスとが組み合わされた番号がノードＩＤとなる。ここで、ノード位置情報は、親ノード（Parent）のノードＩＤや、子ノードのノードＩＤや、兄弟ノードのノードＩＤを保持している。なお、子ノードのノードＩＤには第１子ノード（First Chile）のノードＩＤが記録される。また兄弟ノードのノードＩＤには、次の兄弟ノード（Next Sibling）のノードＩＤが記録される。
【００１７】
また図６はノード内容情報のデータ構造を示す図である。
この図が示すようにノード内容情報は、部分木に含まれる各ノードごとに、ノードに含まれる要素名や要素内容や属性名や属性値などの内容の情報が格納される。
【００１８】
図７は構造化文書処理装置が構造化文書の内容を出力する際の処理フローを示す図である。次に、図７を用いて、構造化文書処理装置１の構造化文書出力の処理について説明する。
まず、指示受付部１２が構造化文書の内容の出力指示を受け付けると、指示受付部１２は構造化文書出力処理部１３に構造化文書の内容を出力する指示を行なう（ステップＳ１）。この時、指定受付部１２は例えば、部分木の番号とノードＩＤとを受け付け、当該部分木番号とノードＩＤとを構造化文書出力処理部１３に通知する。すると、構造化文書出力処理部１３は、符号化データ記憶部１１に記録されている符号化データからヘッダ部の情報を読み込む（ステップＳ２）。
【００１９】
次に、構造化文書出力処理部１３は、通知を受けた部分木番号に対応づけられてヘッダ部に記録されている部分木の先頭アドレスと次の部分木の先頭アドレスとを読み取る（ステップＳ３）。ここで通知を受けた部分木番号が部分木１である場合、構造化文書出力処理部１３は、符号化データ記憶部１１に記録されている符号化データにおいて、部分木１の先頭アドレスから部分木２の先頭アドレスの間の部分木構造情報とノード内容情報とを読み取って（ステップＳ４）、一時記憶する。
【００２０】
次に構造化文書出力処理部１３は、指示受付部１２から受け付けたノードＩＤに対応する各ノードのノード内容を読み取る為の先頭アドレスが部分木構造情報内に記録されているか否かを判断し（ステップＳ５）、各先頭アドレスを読み取る。そして、ステップＳ５で読み取った各ノードの先頭アドレスに基づいて、出力するノードのノード内容をノード内容情報から読み取る（ステップＳ６）。そして、構造化文書出力処理部１３は、部分木構造情報に含まれる各ノードのノード位置情報から、木構造を解析し、構造化文書の内容を出力する（ステップＳ７）。これにより指定された各ノードの内容が表示部に描画される。
【００２１】
また、ステップＳ１と同一の部分木番号とその部分木におけるノードＩＤの通知により、指示受付部１２から構造化文書の内容の出力の指示を再度受けた場合には、構造化文書出力処理部１３は、ステップＳ４で読み取った部分木構造とノード内容情報とを確認して、上述のステップと同様の処理で、指示受付部１２から受け付けた部分木番号やノードＩＤの情報から出力したいノードの内容か否かを判断して、ノードの内容の出力の処理をする。ここで、従来においては構造化文書の符号化データを用いて、構造化文書の木構造における全てのノードを確認することにより、指定を受け付けたノードの内容を出力するようにしていたが、本発明においては、部分木の中のノードを確認するだけでよい。従って、処理負荷が軽減され、さらに部分木に含まれるノードの中に出力したいノードがあるか否かを確認するだけなので構造化文書の内容を出力する処理を従来に比べて速くすることができる。
【００２２】
なお、上述の構造化文書処理装置は内部に、コンピュータシステムを有している。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００２３】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００２４】
【図１】ｃの構成を示す図である。
【図２】符号化データの生成概要を示す図である。
【図３】符号化データのデータ構成を示す図である。
【図４】符号化データに含まれるヘッダ部のデータ構造を示す図である。
【図５】部分木構造情報のデータ構造を示す図である。
【図６】ノード内容情報のデータ構造を示す図である。
【図７】構造化文書の内容を出力する際の処理フローを示す図である。
【符号の説明】
【００２５】
１  構造化文書処理装置、１１  符号化データ記憶部、１２  指示受付部、１３  構造化文書出力処理部、１４  構造化文書記憶部、１５  構造化文書符号化データ生成部
【図１】
2005190121.tif 000003
【図２】
2005190121.tif 000004
【図３】
2005190121.tif 000005
【図４】
2005190121.tif 000006
【図５】
2005190121.tif 000007
【図６】
2005190121.tif 000008
【図７】
2005190121.tif 000009