(57)【要約】【課題】  符号化データを用いて、構造化文書の木構造における所定の部分に含まれるノードのノード内容情報をより早く出力する構造化文書処理装置を提供する。【解決手段】  構造化文書で表される木構造が所定の部分ごとに区分けされ、それぞれの前記所定の部分に部分識別番号が割当てられ、前記所定の部分ごとに当該所定の部分に含まれる各ノードに対して昇順にノード識別番号が割当てられている前記構造化文書の符号化データを処理する構造化文書処理装置であって、前記木構造のうちの１つのノードの指定を受け付ける指定受付手段と、前記指定されたノードを含む所定の部分と同じ所定の部分に含まれるノードのうちのいずれか１つまたは複数または全てのノードを出力するノード情報出力手段とを備える。【選択図】    図１
2005196638.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）のノードＩＤが記録される。そして、図２に示した符号化データを生成する際に、符号化データ生成部１５が、ノードＩＤを後述する処理により割り振る。
【００１９】
図３は第１のノードの割り振り方法を示す図である。次に、図３を用いてノードＩＤの割り振りの第１の例について説明する。
図３が示すように、符号化データ生成部１５は、まず、構造化文書を構造化文書記憶部１４から読み取ると、その構造化文書の木構造を解析する。次に、構造化文書の木構造を階層（所定の部分）ごとに区分けして、それぞれの階層に階層番号（部分識別番号）を割当てる。例えば、ルートのノードの階層を階層１、次の階層を階層２、その次の階層を階層３と、順に階層番号を割当てる。次に符号化データ生成部１５は、上位から順に階層を選択していき、選択した階層に含まれる各ノードについて、表示部に出力される順に、連続した番号を割り振り、その割り振った番号をノードＩＤとする。また、符号化データ生成部１５は、２つの各階層の各ノードＩＤが連続するようにノードＩＤを割り振る。また符号化データ生成部１５は、全てのノードにノードＩＤを割り振ると、階層番号とその階層に含まれるノードのうち一番若い番号のノードＩＤを対応付けて記憶した階層情報対応表を作成する。そして、階層情報対応表が格納された符号化データを生成する。
【００２０】
次に、図３のように各ノードのノードＩＤが割り振られた符号化データを用いて、ノードのノード内容情報を出力する処理について説明する。
まず、指示受付部１２が構造化文書の内容の出力指示を受け付けると、指示受付部１２は構造化文書出力処理部１３に構造化文書の内容を出力する指示を行なう。この時、指定受付部１２は例えば、ノードＩＤの指定を受け付け、当該部ノードＩＤを構造化文書出力処理部１３に通知する。すると、構造化文書出力処理部１３は、符号化データ記憶部１１に記録されている符号化データから階層情報対応表を読み取る。そして構造化文書出力処理部１３は、指示受付部１２から受け付けたノードＩＤに対応付けられて記録されている階層番号の次の階層の階層番号に対応付けられて記録されているノードＩＤを階層情報対応表から読み取る。そして、構造化文書出力処理部１３は指示受付部１２から受け付けたノードＩＤの番号から、前記階層情報対応表から読み取ったノードＩＤより前の番号までを、出力するノードのノードＩＤと特定し、その特定したノードＩＤを保持するノードのノード内容情報を符号化データから読み取り、出力する。これにより指定されたノードと同じ階層にあるノードの内容が表示部に描画される。
【００２１】
ここで、上述のような階層ごとにノードＩＤを割当てる方法では、階層情報対応表を作成したが、例えば、ノードＩＤに階層番号を保持させることによって階層情報対応表を作成せずに済むようにしても良い。例えば、階層１の階層番号を０１、階層２の階層番号を０２・・・とし、ノードＩＤを４桁にして当該４桁のうち上２桁を階層番号、下２桁をノード番号とした場合、図３におけるノード１のノードＩＤは０１０１となる。また図３におけるノード２は０２０２、ノード３は０２０３、ノード４は０２０４、またノード５０３０５となる。このようなノードＩＤの割り振り方にした場合、たとえば指示受付部１２が受け付けたノードが０２０２であった場合、ノードＩＤの４桁のうち上２桁が同一の番号を示すノードＩＤを特定すれば、それが同階層のノードと特定できる。そしてこのようなノードＩＤが割り振られた構造化文書の符号化データを用いて、ノード内容情報を出力する場合には、構造化文書出力処理部１３は、指示受付部１２が指定を受け付けた４桁のノードＩＤの上２桁が同一のノードＩＤを特定し、その特定したノードＩＤを保持するノードのノード内容情報を符号化データから読み取り、出力する。
【００２２】
図４は第２のノードの割り振り方法を示す図である。図４を用いて、ノードＩＤの割り振りの第２の例について説明する。
図４が示すように、符号化データ生成部１５は、まず、構造化文書を構造化文書記憶部１４から読み取ると、その構造化文書の木構造を解析する。次に、構造化文書の木構造を所定の部分木（所定の部分）ごとに区分けして、それぞれの部分木に部分木番号（部分識別番号）を割当てる。なお部分木の区分けは予め指定された節のノードなどに基づいて部分木の区分けを行なう。次に符号化データ生成部１５は、部分木番号の順に部分木を選択していき、選択した部分木に含まれる各ノードについて、表示部に出力される順に、ノードＩＤを割り振る。この時符号化データ生成部１５は、４桁のノードＩＤを割り振る。ここでこの４桁のノードＩＤの上２桁は部分木番号であり、ノードＩＤの下２桁は当該ノードの符号化データ内でのオフセット（符号化データ内でのノードのデータを取得する先頭のアドレス）である。そして符号化データ生成部１５は、全てのノードにノードＩＤを割り振り、符号化データを生成する。
【００２３】
次に、図４のように各ノードのノードＩＤが割り振られた符号化データを用いて、ノード内容情報を出力する処理について説明する。
まず、指示受付部１２が構造化文書の内容の出力指示を受け付けると、指示受付部１２は構造化文書出力処理部１３に構造化文書の内容を出力する指示を行なう。この時、指定受付部１２は例えば、ノードＩＤを受け付け、当該部ノードＩＤを構造化文書出力処理部１３に通知する。次に構造化文書出力処理部１３は、指示受付部１２から受け付けたノードＩＤの４桁の番号のうち上２桁の番号を読み取り、その２桁の番号と同じ番号を上２桁とする他のノードのノードＩＤを符号化データから読み取り、出力するノードのノードＩＤと特定する。そして、その特定したノードＩＤを保持する各ノードのノード内容情報を符号化データから読み取り、構造化文書の内容を出力する。これにより指定されたノードと同じ部分木にあるノードの内容が表示部に描画される。
【００２４】
次に、ノードＩＤの割り振りの第３の例について説明する。
この第３の例は上述の第１の例と第２の例を組み合わせたノードＩＤの割り振り方法である。
まず、構造化文書を構造化文書記憶部１４から読み取ると、その構造化文書の木構造を解析する。次に、構造化文書の木構造の階層ごとの区分けと、所定の部分木ごとの区分けを行なう。そして、それぞれの階層に階層番号を割当て、それぞれの部分木に部分木番号を割当てる。次に符号化データ生成部１５は、ノードについて、表示部に出力される順に、ノードＩＤを割り振る。この時符号化データ生成部１５は、６桁のノードＩＤを割り振る。ここでこの６桁のノードＩＤの上２桁は部分木番号であり、中２桁は階層番号であり、またノードＩＤの下２桁は当該ノードの符号化データ内でのオフセット（符号化データ内でのノードのデータを取得する先頭のアドレス）である。例えば、部分木番号が０１で階層番号０１のルートノードのノードＩＤは０１０１０１となる。そして符号化データ生成部１５は、全てのノードにノードＩＤを割り振る。
【００２５】
次に、第３のノードＩＤの割り振り方法により生成された符号化データを用いて、ノード内容情報を出力する処理について説明する。
まず、指示受付部１２が構造化文書の内容の出力指示を受け付けると、指示受付部１２は構造化文書出力処理部１３に構造化文書の内容を出力する指示を行なう。この時、指定受付部１２は例えば、ノードＩＤを受け付け、当該部ノードＩＤを構造化文書出力処理部１３に通知する。次に構造化文書出力処理部１３は、指示受付部１２から受け付けたノードＩＤの６桁の番号のうち上２桁の番号を読み取り、その上２桁の番号と同じ番号を上２桁とする他のノードのノードＩＤを符号化データから読み取り、出力するノードのノードＩＤと特定する。また構造化文書出力処理部１３は、指示受付部１２から受け付けたノードＩＤの６桁の番号のうち中２桁の番号を読み取り、その中２桁の番号と同じ番号を中２桁とする他のノードのノードＩＤを符号化データから読み取り、出力するノードのノードＩＤと特定する。そして、構造化文書出力処理部１３は特定したノードＩＤを保持するノードのノード内容情報を読み取り、出力する。これにより指定されたノードと同じ部分木にあるノードの内容と、前記指定されたノードと同じ階層にあるノードの内容とが表示部に描画される。
【００２６】
なお、上述の構造化文書符号化装置は内部に、コンピュータシステムを有している。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００２７】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態による構造化文書処理装置の構成を示す図である。
【図２】本実施形態による符号化データの構造の例を示す図である。
【図３】本実施形態による第１のノードの割り振り方法を示す図である。
【図４】本実施形態による第２のノードの割り振り方法を示す図である。
【符号の説明】
【００２９】
１  構造化文書処理装置、１１  符号化データ記憶部、１２  指示受付部、１３  構造化文書出力処理部、１４  構造化文書記憶部、１５  符号化データ生成部
【図１】
2005196638.tif 000003
【図２】
2005196638.tif 000004
【図３】
2005196638.tif 000005
【図４】
2005196638.tif 000006