(57)【要約】【課題】ＸＭＬ文書の検索の高速化を図ること。【解決手段】ＸＭＬ文書検索装置２００は、検索条件を入力する検索条件入力部２１１と、ＸＭＬ文書を構成する複数の要素の出現順にツリー構造にしたがって配列された複数の文書構造データが、検索条件にそれぞれ合致するか否かを判定する文書構造データ判定部２１５と、文書構造データ判定部２１５によって検索条件に合致すると判定された場合にのみ、検索条件に合致した文書構造データに関連付けられている文字列データ内の文字列を抽出する関連文字列抽出部２１６と、関連文字列抽出部２１６によって抽出された文字列が、検索条件に合致するか否かを判定する関連文字列判定部２１７と、を備える。【選択図】      図２
2004295674.tif 000002
【特許請求の範囲】
【請求項１】
複数の要素によって所定のツリー構造を構成するＸＭＬ文書を入力するＸＭＬ文書入力工程と、
前記ＸＭＬ文書入力工程によって入力されたＸＭＬ文書を構成する複数の要素を、要素の出現順に前記ツリー構造にしたがって一列に配列する要素配列工程と、
前記要素配列工程によって一列に配列された各要素内における開始タグと終了タグとの間に記述されているタグ間文字列と、前記開始タグおよび前記終了タグ内に記述されているタグ内文字列と、からなる文字列データを抽出する文字列データ抽出工程と、
前記要素配列工程によって一列に配列された要素ごとに、前記ツリー構造上の種類をあらわすノード型を特定するノード型特定工程と、
前記文字列データ抽出工程によって抽出された文字列データと、前記ノード型特定工程によって特定されたノード型とを前記要素ごとに関連付けるリンクデータを生成するリンクデータ生成工程と、
を含んだことを特徴とするＸＭＬ文書解析方法。
【請求項２】
所定のツリー構造を有するＸＭＬ文書に記述されている文字列データの中から、検索対象となる文字列を検索するＸＭＬ文書検索方法であって、
前記検索対象となる文字列を検索するための検索条件を入力する検索条件入力工程と、
前記ＸＭＬ文書を構成する複数の要素の出現順に前記ツリー構造にしたがって配列された第１の文書構造データが、前記検索条件に合致するか否かを判定する第１の文書構造データ判定工程と、
前記第１の文書構造データ判定工程によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した第１の文書構造データに関連付けられている前記文字列データ内の文字列を抽出する第１の関連文字列抽出工程と、
前記第１の関連文字列抽出工程によって抽出された文字列が、前記検索条件に合致するか否かを判定する関連文字列判定工程と、
前記関連文字列判定工程によって前記検索条件に合致すると判定された場合にのみ、前記第１の文書構造データの次に配列されている第２の文書構造データが、前記検索条件に合致するか否かを判定する第２の文書構造データ判定工程と、
前記第２の文書構造データ判定工程によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した第２の文書構造データに関連付けられている前記文字列データ内の文字列を抽出する第２の関連文字列抽出工程と、
を含んだことを特徴とするＸＭＬ文書検索方法。
【請求項３】
複数の要素によって所定のツリー構造を構成するＸＭＬ文書を入力させるＸＭＬ文書入力工程と、
前記ＸＭＬ文書入力工程によって入力されたＸＭＬ文書を構成する複数の要素を、要素の出現順に前記ツリー構造にしたがって一列に配列させる要素配列工程と、
前記要素配列工程によって一列に配列された各要素内における開始タグと終了タグとの間に記述されているタグ間文字列と、前記開始タグおよび前記終了タグ内に記述されているタグ内文字列と、からなる文字列データを抽出させる文字列データ抽出工程と、
前記要素配列工程によって一列に配列された要素ごとに、前記ツリー構造上の種類をあらわすノード型を特定させるノード型特定工程と、
前記文字列データ抽出工程によって抽出された文字列データと、前記ノード型特定工程によって特定されたノード型とを前記要素ごとに関連付けるリンクデータを生成させるリンクデータ生成工程と、
をコンピュータに実行させることを特徴とするＸＭＬ文書解析プログラム。
【請求項４】
所定のツリー構造を有するＸＭＬ文書に記述されている文字列データの中から、検索対象となる文字列を検索させるＸＭＬ文書検索プログラムであって、
前記検索対象となる文字列を検索するための検索条件を入力させる検索条件入力工程と、
前記ＸＭＬ文書を構成する複数の要素の出現順に前記ツリー構造にしたがって配列された第１の文書構造データが、前記検索条件に合致するか否かを判定させる第１の文書構造データ判定工程と、
前記第１の文書構造データ判定工程によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した第１の文書構造データに関連付けられている前記文字列データ内の文字列を抽出させる第１の関連文字列抽出工程と、
前記第１の関連文字列抽出工程によって抽出された文字列が、前記検索条件に合致するか否かを判定させる関連文字列判定工程と、
前記関連文字列判定工程によって前記検索条件に合致すると判定された場合にのみ、前記第１の文書構造データの次に配列されている第２の文書構造データが、前記検索条件に合致するか否かを判定させる第２の文書構造データ判定工程と、
前記第２の文書構造データ判定工程によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した第２の文書構造データに関連付けられている前記文字列データ内の文字列を抽出させる第２の関連文字列抽出工程と、
をコンピュータに実行させることを特徴とするＸＭＬ文書検索プログラム。
【請求項５】
所定のツリー構造を有するＸＭＬ文書に記述されている文字列データの中から、検索対象となる文字列を検索するＸＭＬ文書検索装置であって、
前記検索対象となる文字列を検索するための検索条件を入力する検索条件入力手段と、
前記ＸＭＬ文書を構成する複数の要素の出現順に前記ツリー構造にしたがって配列された複数の文書構造データが、前記検索条件にそれぞれ合致するか否かを判定する文書構造データ判定手段と、
前記文書構造データ判定手段によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した文書構造データに関連付けられている前記文字列データ内の文字列を抽出する関連文字列抽出手段と、
前記関連文字列抽出手段によって抽出された文字列が、前記検索条件に合致するか否かを判定する関連文字列判定手段と、を備え、
前記関連文字列抽出手段は、前記関連文字列判定手段によって抽出された文字列が、前記検索条件に合致すると判定され、かつ、前記文書構造データ判定手段によって、前記検索条件に合致すると判定された文書構造データの次に配列されている文書構造データが前記検索条件に合致すると判定された場合、前記検索条件に合致すると判定された文書構造データ以外の文書構造データに対して関連付けられている前記文字列データ内の文字列を、前記検索対象となる文字列として抽出することを特徴とするＸＭＬ文書検索装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＸＭＬ文書の解析や解析済みのＸＭＬ文書の検索をおこなうＸＭＬ文書解析方法、ＸＭＬ文書検索方法、ＸＭＬ文書解析プログラム、ＸＭＬ文書検索プログラムおよびＸＭＬ文書検索装置に関する。
【０００２】
【従来の技術】
ＸＭＬは、周知の通り、タグによって情報を埋め込むことができるマークアップ言語であり、このタグによって作成されたＸＭＬ文書は、文書構造と書式情報とが厳格に分離されているため、ＨＴＭＬにかわってマークアップ言語の主流となっている。
【０００３】
このように、シンプルな文書構造を有するＸＭＬ文書の解析には、通常、ＸＭＬパーサが用いられている。ＸＭＬパーサは、ＸＭＬ文書を読み込み、読み込んだＸＭＬ文書がどのような文書構造となっているかを解析する機能を有するモジュールである。
【０００４】
このＸＭＬパーサが採用するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）には、ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）と、ＳＡＸ（Ｓｉｍｐｌｅ  ＡＰＩ  ｆｏｒ  ＸＭＬ）と、が標準化されており、これらのＡＰＩを実装したＸＭＬパーサの利用が主流になっている。
【０００５】
一般的なＤＯＭパーサは、最初にＸＭＬ文書全体を読み込み、ＸＭＬ文書を構成している要素、属性その他の文字データを、ツリー構造として解析するよう実装されている。また、一般的なＳＡＸパーサは、ＤＯＭとは異なり、ＸＭＬ文書全体を読み込まず、ＸＭＬ文書の先頭、すなわち、要素の出現順から順に解析するよう実装されている。
【０００６】
また、ＸＭＬ文書を検索するものとしては、意味的に類似したＤＴＤをもつＸＭＬデータベースに対して、ユーザがＤＴＤの差異を意識せずに効率的に検索することのできるＸＭＬ文書検索装置が提案されている（たとえば、下記特許文献１参照。）。
【０００７】
【特許文献１】
特開２０００−２５０９３８号公報
【０００８】
【発明が解決しようとする課題】
しかしながら、あらかじめＸＭＬ文書が格納されているデータベースから、ＸＭＬ文書の抽出または検索を行う場合は、データベース内のＸＭＬ文書を解析してから、該当するＸＭＬ文書を抽出または検索する必要がある。ここで、上述のような一般的なＤＯＭパーサによる解析処理では、ＸＭＬ文書全体を読み込まなければならないため、データベース内のＸＭＬ文書すべての解析処理をおこなうと、ＸＭＬ文書を抽出または検索するまで多大な時間がかかることとなる。
【０００９】
また、上述の一般的なＳＡＸパーサでは、ＸＭＬ文書全体を読み込む必要はないが、タグ内に埋め込まれた情報やタグ間に挟まれたすべての情報を読み込む必要があるため、データベース内のＸＭＬ文書すべての解析処理をおこなうと、ＸＭＬ文書を抽出または検索するまで多大な時間がかかることとなる。
【００１０】
また、特許文献１のＸＭＬ文書検索装置では、データベースクライアントによって作成された入力用検索式により、入力解析部でその要素名を抽出し、抽出された要素名の類義語を類義語抽出部から取得し、類義語とカテゴリ類推部に格納されている要素名とを比較し、一致する要素名を選択しているため、検索に際し、すべての要素名を比較対象としていることから、検索に時間がかかることとなる。
【００１１】
この発明は、上述した従来技術による問題点を解消するため、ＸＭＬ文書の検索の高速化を図ることができるＸＭＬ文書解析方法、ＸＭＬ文書検索方法、ＸＭＬ文書解析プログラム、ＸＭＬ文書検索プログラムおよびＸＭＬ文書検索装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、この発明にかかるＸＭＬ文書解析方法、ＸＭＬ文書解析プログラムおよびＸＭＬ文書解析装置は、複数の要素によって所定のツリー構造を構成するＸＭＬ文書を入力し、前記ＸＭＬ文書入力工程によって入力されたＸＭＬ文書を構成する複数の要素を、要素の出現順に前記ツリー構造にしたがって一列に配列し、この配列によって一列に配列された各要素内における開始タグと終了タグとの間に記述されているタグ間文字列と、前記開始タグおよび前記終了タグ内に記述されているタグ内文字列と、からなる文字列データを抽出し、一列に配列された要素ごとに、前記ツリー構造上の種類をあらわすノード型を特定し、前記文字列データ抽出工程によって抽出された文字列データと特定されたノード型とを前記要素ごとに関連付けるリンクデータを生成することを特徴とする。
【００１３】
また、上記発明は、分岐されている子要素を、その分岐元の要素によって挟み込むことにより、前記ツリー構造にしたがって一列に配列することとしてもよい。この発明によれば、ＸＭＬ文書を高速に検索することができる解析済ＸＭＬ文書を生成することができる。
【００１４】
また、この発明にかかるＸＭＬ文書検索方法、ＸＭＬ文書検索プログラムおよびＸＭＬ文書検索装置は、所定のツリー構造を有するＸＭＬ文書に記述されている文字列データの中から、検索対象となる文字列を検索するための検索条件を入力し、前記ＸＭＬ文書を構成する複数の要素の出現順に前記ツリー構造にしたがって配列された第１の文書構造データが、前記検索条件に合致するか否かを判定し、この判定によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した第１の文書構造データに関連付けられている前記文字列データ内の文字列を抽出し、この抽出によって抽出された文字列が、前記検索条件に合致するか否かを判定し、この判定によって前記検索条件に合致すると判定された場合にのみ、前記第１の文書構造データの次に配列されている第２の文書構造データが、前記検索条件に合致するか否かを判定し、この判定によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した第２の文書構造データに関連付けられている前記文字列データ内の文字列を抽出することを特徴とする。
【００１５】
また、上記発明において、前記第１および第２の文書構造データは、前記ツリー構造を構成するノードの種類をあらわすノード型と、前記文字列データに対し関連付けするリンクデータとを含むこととしてもよい。さらに、文書構造データを判定する場合、前記ノード型および前記リングデータが検索条件に合致するか否かを判定することとしてもよい。また、文書構造データと関連付けられている文字列を抽出する場合は、前記リンクデータに基づいて、前記文字列データを抽出することとしてもよい。
【００１６】
この発明によれば、検索条件と文書構造データとの判定をおこない、検索条件と文書構造データとが合致する場合にのみ文字列データを抽出する。換言すれば、文書構造データが検索条件に合致しない場合は、文字列データを参照することができない。これにより、文字列データの参照頻度を少なくすることができる。
【００１７】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるＸＭＬ文書解析方法、ＸＭＬ文書検索方法、ＸＭＬ文書解析プログラム、ＸＭＬ文書検索プログラムおよびＸＭＬ文書検索装置の好適な実施の形態を詳細に説明する。
【００１８】
（ＸＭＬ文書解析／検索装置のハードウェア構成）
まず、図１を用いて、本実施の形態にかかるＸＭＬ文書解析／検索装置のハードウェア構成について説明する。ＸＭＬ文書解析／検索装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００１９】
ここで、ＣＰＵ１０１は、ＸＭＬ文書解析／検索装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００２０】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータをＸＭＬ文書解析／検索装置に読み取らせたりする。着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２１】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワークに接続され、このネットワークを介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２２】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２３】
スキャナ１１２は、画像を光学的に読み取り、ＸＭＬ文書解析／検索装置内に画像データを取り込む。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２４】
（ＸＭＬ文書解析／文書検索装置の機能的構成）
つぎに、ＸＭＬ文書解析／検索装置２００の機能的構成について、図２を用いて説明する。図２は、ＸＭＬ文書解析／検索装置２００の機能的構成を示すブロック図である。
【００２５】
ＸＭＬ文書解析／検索装置２００は、ＸＭＬ文書入力部２０１と、ＸＭＬ文書解析部２０２と、ＸＭＬ文書格納部２０８と、検索条件入力部２１１と、検索データ作成部２１２と、ＸＭＬ文書検索部２１３と、検索結果出力部２１８と、から構成されている。
【００２６】
ＸＭＬ文書入力部２０１は、図１に示すキーボード１１０やマウス１１１などの入力装置から、保存すべきＸＭＬ文書を入力する。この入力すべきＸＭＬ文書は、図３に示すように、先頭の要素から分岐したツリー構造とされている。ここで要素１は、ルート要素であり、要素２〜４は、ルート要素１の子要素である。また、要素５〜７は、要素４の子要素である。なお、図３の要素に付されている番号は、ＸＭＬ文書における要素の出現順を示す。このＸＭＬ文書入力部２０１は、具体的には、たとえば図１に示したＩ／Ｆ１０９によってその機能を実現する。
【００２７】
ＸＭＬ文書解析部２０２は、要素配列部２０３と、文字列データ抽出部２０４と、ノード型特定部２０５と、リンクデータ生成部２０６と、から構成されている。要素配列部２０３は、ＸＭＬ文書入力部２０１によって入力されたＸＭＬ文書を構成する要素の出現順に、そのツリー構造にしたがって複数の要素を一列に配列する。
【００２８】
文字列データ抽出部２０４は、要素配列部２０３によって一列に配列された各要素から、各要素内における開始タグと終了タグとの間に記述されているタグ間文字列と、開始タグおよび終了タグ内に記述されているタグ内文字列と、からなる文字列データを抽出する。
【００２９】
ここで、文字列データは、タグ内に埋め込まれるタグ内文字列およびタグに挟まれたタグ間文字列とからなるデータであり、タグ内文字列とは、たとえば、タグ内に埋め込まれる要素名、属性、名前空間名その他の文字データなどである。また、タグ間文字列とは、開始タグと終了タグとの間に埋め込まれた要素内容その他の文字データなどである。
【００３０】
この文字列データは、タグ内文字列やタグ間文字列の長さ（ビット長）が可変長なデータである。また、文字列データは、名前空間データと、要素名データと、要素内容または属性をあらわす要素内容／属性データと、から構成されている。また、要素内容／属性データは、そのデータの種類によって分けられる。たとえば、そのデータの種類が、テキスト型であるテキストデータと、整数型である整数データと、に分けられる。
【００３１】
ノード型特定部２０５は、要素配列部２０３によって一列に配列された要素ごとに、そのツリー構造上の種類をあらわすノード型を特定する。ここで、ノード型とは、各要素の構造上の種類をあらわすデータであり、たとえば、ＸＭＬ文書の先頭位置であることを示す「ドキュメント開始」、ＸＭＬ文書の終了位置であることを示す「ドキュメント終了」、分岐を有する要素（親要素）のうち開始要素であることをあらわす「要素開始」、分岐を有する要素（親要素）のうち閉じ要素であることをあらわす「要素終了」、その要素に名前空間が埋め込まれていることをあらわす「名前空間マップ」、その要素に属性が埋め込まれていることをあらわす「属性」、その要素が分岐した要素であることをあらわす「１子要素」がある。
【００３２】
リンクデータ生成部２０６は、要素ごとに、文字列データ抽出部２０４によって抽出された文字列データと、ノード型特定部２０５よって特定されたノード型と、を関連付けるリンクデータを生成する。
【００３３】
ここで、リンクデータとは、ノード型と文字列データとを関連付けるＩＤである。リンクデータは、たとえば、上述の文字列データの中の名前空間データとリンクする名前空間ＩＤと、要素名データとリンクする要素名ＩＤと、要素内容／属性データの種類とリンクするデータ型ＩＤと、要素名／属性データとリンクする要素名／属性データＩＤと、から構成される。
【００３４】
なお、このＸＭＬ文書解析部２０２は、具体的には、たとえば図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などに格納されたプログラムをＣＰＵ１０１が実行することによって、また図１に示したＩ／Ｆ１０９によってその機能を実現する。
【００３５】
ＸＭＬ文書格納部２０８は、ＸＭＬ文書解析部２０２によって解析された文書構造データと文字列データとを格納する。このＸＭＬ文書格納部２０８は、具体的には、たとえば図１に示したＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などよってその機能を実現する。
【００３６】
また、検索条件入力部２１１は、図１に示すキーボード１１０やマウス１１１などの入力装置やネットワークから入力されてくる検索条件を入力する。この検索条件入力部２１１は、具体的には、たとえば図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などに格納されたプログラムをＣＰＵ１０１が実行することによって、また図１に示したＩ／Ｆ１０９によってその機能を実現する。
【００３７】
検索データ作成部２１２は、たとえばＷ３Ｃで勧告されているＸＰａｔｈ、ＸＱＬなどに基づいて、入力された検索条件から検索データを作成する。この検索データ作成部２１２は、具体的には、たとえば図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などに格納されたプログラムをＣＰＵ１０１が実行することによって、また図１に示したＩ／Ｆ１０９によってその機能を実現する。ＸＭＬ文書検索部２１３は、検索データに基づいて、ＸＭＬ文書格納部２０８に格納されているＸＭＬ文書から、検索データに合致するＸＭＬ文書内の文字列を検索する。
【００３８】
このＸＭＬ文書検索部２１３は、ノード型走査部２１４と、文書構造データ判定部２１５と、関連文字列抽出部２１６と、関連文字列判定部２１７と、から構成されている。ノード型走査部２１４は、ＸＭＬ文書格納部２０８に格納された文書構造データのノード型を走査する。
【００３９】
文書構造データ判定部２１５は、ノード型走査部２１４によって走査される都度、文書構造データが、検索データに合致するか否かを判定する。また、関連文字列判定部２１７によって検索データに合致すると判定された場合にのみ、走査された文書構造データの次に配列されている文書構造データが、検索データに合致するか否かを判定する。
【００４０】
関連文字列抽出部２１６は、文書構造データ判定部２１５によって検索データに合致すると判定された場合にのみ、検索データに合致した文書構造データに関連付けられている文字列データ内の文字列を抽出する。関連文字列判定部２１７は、関連文字列抽出部２１６によって抽出された文字列が、検索データに合致するか否かを判定する。
【００４１】
このＸＭＬ文書検索部２１３は、具体的には、たとえば図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などに格納されたプログラムをＣＰＵ１０１が実行することによって、また図１に示したＩ／Ｆ１０９によってその機能を実現する。
【００４２】
検索結果出力部２１８は、ＸＭＬ文書によって検索された文字列（検索対象文字列）を検索結果として出力する。この検索結果出力部２１８は、具体的には、たとえば図１に示したＩ／Ｆ１０９によってその機能を実現する。
【００４３】
（ＸＭＬ文書解析方法）
つぎに、ＸＭＬ文書解析方法について、図４のフローチャートを用いて説明する。まず、ＸＭＬ文書入力部２０１に図３に示すツリー構造からなるＸＭＬ文書が入力された場合（ステップＳ４０１：Ｙｅｓ）、図５に示すように、ＸＭＬ文書を、先頭から出現する要素（ノード単位）順に配列する（ステップＳ４０２）。具体的には、図５に示すように、分岐された子要素の親となる要素は、その分岐された子要素を挟み込む。
【００４４】
たとえば、ルート要素１から分岐されている子要素（要素２〜要素８）は、ルート要素１（開始要素１Ａ）と閉じ要素１Ｂとによって挟み込まれる。また、要素４から分岐されている子要素（要素５〜要素７）は、要素４（開始要素４Ａ）と閉じ要素４Ｂとによって挟み込まれる。これにより、ＸＭＬ文書を要素の出現順に一列に配列しても、ＸＭＬ文書のツリー構造を維持することができる。
【００４５】
つぎに、一列に配列された各要素から、各要素内における開始タグと終了タグとの間に記述されているタグ間文字列と、開始タグおよび終了タグ内に記述されているタグ内文字列と、からなる文字列データを抽出する（ステップＳ４０３）。
【００４６】
つぎに、一列に配列されたＸＭＬ文書の各要素のノード型を特定する（ステップＳ４０４）。また、ノード型と文字列データとを関連付けるリンクデータを生成する（ステップＳ４０５）。
【００４７】
また、一列に配列されたＸＭＬ文書は、図６に示すように文字列データが抽出されると、ノード型とリンクデータからなる文書構造データとなる。そして、文書構造データと文字列データとを、解析済ＸＭＬ文書としてＸＭＬ文書格納部２０８に格納する（ステップＳ４０６）。
【００４８】
なお、ここで、図７に示すＸＭＬ文書を解析して格納した解析済ＸＭＬ文書の格納例を、図８〜図１２に示す。図８はＸＭＬ文書格納部２０８に格納された文書構造データを示している。図８に示す各文書構造データのビット長は、たとえば３２ビットまたは６４ビットなどの固定長である。この固定ビット幅を６４ビットとした場合は、ノード型、名前空間ＩＤ、要素名ＩＤおよびデータ型ＩＤで３２ビットを占める。残りの３２ビットは、要素名／属性データＩＤとなる。また、図９〜図１２はＸＭＬ文書格納部２０８に格納された文字列データを示している。
【００４９】
（ＸＭＬ文書の検索方法）
つぎに、図８〜図１２に示したＸＭＬ文書の検索方法について説明する。図１３はＸＭＬ文書の検索方法の処理手順を示すフローチャートである。まず、検索条件が入力された場合（ステップＳ１３０１：Ｙｅｓ）、検索データを作成する（ステップＳ１３０２）。図１４に検索条件の一例を示す。この検索条件は、名前空間０に属する製品の型番が“０００２”である名前（製品名）を検索するための検索条件である。検索データは、入力された検索条件から作成される。図１５に、作成された検索データの一例を示す。
【００５０】
この検索データは、第１検索データＰと、第２検索データＱと、第３検索データＲと、第４検索データＳと、第５検索データＴと、から構成されている。第１検索データＰおよび第２検索データＱは、それぞれ、ノード型と、名前空間ＩＤと、要素名ＩＤと、を検索するノードテスト用データである。
【００５１】
また、第３検索データＲは、演算子、たとえば、「＝」、「≠」、「＜」、「＞」、「≦」、「≧」をあらわすデータである。第４検索データＳは、評価対象をあらわすデータである。第５検索データＴは、検索データＰ，Ｑ，Ｒ，Ｓによる検索をおこなったときのリターンバリューを受けることにより検索されるデータである。
【００５２】
この検索データによれば、第１検索データＰおよび第２検索データＱに該当する評価値（文字列データ）と、第４検索データＳの評価対象（評価値と同種の文字列データ）が、第３検索データＲの演算子を満足し、かつ第５検索データＴが一致する場合は、検索対象となる文字列がＸＭＬ文書内に存在することとなる。
【００５３】
つぎに、作成された検索データにより、ＸＭＬ文書の検索を実行する（ステップＳ１３０３）。そして、検索結果リストを出力する（ステップＳ１３０４）。ここで、図１６を用いて検索実行処理について説明する。まず、検索結果リストを初期化し（ステップＳ１６０１）、検索状態を初期化する（ステップＳ１６０２）。つぎに、ノード型を先頭から走査する（ステップＳ１６０３）。
【００５４】
そして、走査されたノード型について、ノードテストを実行する（ステップＳ１６０４）。ノード型が一致しない場合は（ステップＳ１６０４：Ｎｏ）、つぎのノード型を走査する（ステップＳ１６０３）。ノード型が一致する場合は（ステップＳ１６０４：Ｙｅｓ）、名前空間ＩＤが一致するか否かを判定する（ステップＳ１６０５）。
【００５５】
名前空間ＩＤが一致しない場合は（ステップＳ１６０５：Ｎｏ）、つぎのノード型を走査する（ステップＳ１６０３）。名前空間ＩＤが一致する場合は（ステップＳ１６０５：Ｙｅｓ）、要素名ＩＤが一致するか否かを判定する（ステップＳ１６０６）。要素名ＩＤが一致しない場合は（ステップＳ１６０６：Ｎｏ）、つぎのノード型を走査する（ステップＳ１６０３）。要素名ＩＤが一致する場合は（ステップＳ１６０６：Ｙｅｓ）、ノードテストが終了したか否かを判定する（ステップＳ１６０７）。
【００５６】
ノードテストが終了していない場合は（ステップＳ１６０７：Ｎｏ）、ステップＳ１６０３に移行する。ノードテストが終了した場合には（ステップＳ１６０７：Ｙｅｓ）、評価対象の判定を実行する（ステップＳ１６０８）。この後、リターンバリューのノード型が一致するか否かを判定する（ステップＳ１６０９）。リターンバリューのノード型が一致しない場合は（ステップＳ１６０９：Ｎｏ）、つぎのノード型を走査する（ステップＳ１６０３）。
【００５７】
このあと、ノード型が一致する場合は（ステップＳ１６０９：Ｙｅｓ）、名前空間ＩＤが一致するか否かを判定する（ステップＳ１６１０）。名前空間ＩＤが一致しない場合は（ステップＳ１６１０：Ｎｏ）、つぎのノード型を走査する（ステップＳ１６０３）。名前空間ＩＤが一致する場合は（ステップＳ１６１０：Ｙｅｓ）、要素名ＩＤが一致するか否かを判定する（ステップＳ１６１１）。
【００５８】
要素名ＩＤが一致しない場合は（ステップＳ１６１１：Ｎｏ）、つぎのノード型を走査する（ステップＳ１６０３）。要素名ＩＤが一致する場合は（ステップＳ１６１１：Ｙｅｓ）、評価結果が真でなければ（ステップＳ１６１２：Ｎｏ）、状態初期化する（ステップＳ１６０２）。評価結果が真であれば（ステップＳ１６１２：Ｙｅｓ）、文字列データからステップＳ１６１１で一致した要素名ＩＤに対応する要素名を抽出する（ステップＳ１６１３）。
【００５９】
そして、抽出した要素名を検索結果として検索結果リストに追加する（ステップＳ１６１４）。つぎのノード型が「ドキュメント終了」でない場合は（ステップＳ１６１５：Ｎｏ）、ステップＳ１６０２に移行する。一方、つぎのノード型が「ドキュメント終了」である場合は（ステップＳ１６１５：Ｙｅｓ）、検索を終了する。
【００６０】
この検索実行処理によれば、ステップＳ１６０３〜ステップＳ１６０７およびステップＳ１６０９〜ステップＳ１６１１、Ｓ１６１５については文書構造データのみの検索であり、ステップＳ１６０８、ステップＳ１６１２およびステップＳ１６１３のみが文字列データを含む文字列データの検索であるため、文字列データの参照頻度を少なくすることができる。したがって、検索したい文字列を高速に抽出することができる。
【００６１】
つぎに、図８〜図１２に示すＸＭＬ文書を、図１５の検索データによって検索実行したときの状態遷移について、図１７を用いて説明する。なお、図１７中の▲１▼〜▲５▼は、図１５の検索データＰ，Ｑ，Ｒ，Ｓ，Ｔの検索▲１▼〜▲５▼に対応する。まず、検索結果リストおよび状態の初期化をおこなう。つぎに、先頭のノード型から第１検索データとノードテストを実行する。第１検索データのノード型は、「要素開始」であるため、文書構造データのノード型が「要素開始」となるまで、ノード型を走査する。
【００６２】
そして、ノード型：「要素開始」が走査された場合（走査Ａ）、リンクデータの比較をおこなう。この要素名ＩＤは、第１検索データの要素名ＩＤと一致しないため、ノード型の走査を継続する。つぎのノード型ＩＤ：「要素開始」が走査された場合、リンクデータの比較をおこなう。この「要素開始」のリンクデータは、第１検索データと一致し、ノードテスト真となる。
【００６３】
第１検索データのノードテストが終了したため、つぎのノード型から、第２検索データを用いてノードテストをおこなう。第２検索データのノード型は「属性」であるため、文書構造データのノード型が「属性」となるまで、ノード型を走査する。
【００６４】
つぎにノード型：「属性」が走査されると（走査Ｂ）、リンクデータの比較をおこなう。この「属性」のリンクデータは、第２検索データと一致し、ノードテスト真となる。ここで、ノードテストが終了となり、第３検索データ（演算子）と第４検索データ（評価対象）の評価をおこなう。
【００６５】
すなわち、ノードテストが終了した時点で走査されていたノード型：「属性」のデータ型ＩＤと要素名／属性データＩＤを参照して、文字列データから対応する文字列データを抽出する。この場合、データ型ＩＤは「テキスト」であり、「要素名／属性データＩＤ」は「１」であるため、図１２に示す文字列データから文字列データ（テキストデータ）「０００１」を抽出する。
【００６６】
この抽出した文字列データ「０００１」と評価対象「０００２」では、第３検索データの演算子「＝」を満足しないため、評価結果は偽となる。ノードテストが終了しているため、つぎのノード型：「１子要素」について第５検索データであるリターンバリューのノードテストを実行する（走査Ｃ）。
【００６７】
このノードテストは真となり、一回目の検索データによる検索が終了する。そして、検索結果を判定する。今回の検索結果は、評価対象の評価が偽であるため、検索不成立となる（走査Ｄ）。そして、状態初期化をおこない、つぎのノード型を走査する。
【００６８】
そして、ノード型：「要素開始」が走査された場合（走査Ｅ）、リンクデータの比較をおこなう。この「要素開始」のリンクデータは、第１検索データと一致し、ノードテスト真となる。
【００６９】
第１検索データのノードテストが終了したため、つぎのノード型から、第２検索データを用いてノードテストをおこなう。第２検索データのノード型は「属性」であるため、文書構造データのノード型が「属性」となるまで、ノード型を走査する。
【００７０】
つぎにノード型：「属性」を走査すると（走査Ｆ）、リンクデータの比較をおこなう。この「属性」のリンクデータは、第２検索データと一致し、ノードテスト真となる。ここで、ノードテストが終了となり、第３検索データ（演算子）と第４検索データ（評価対象）の評価をおこなう。
【００７１】
すなわち、ノードテストが終了した時点で走査されていたノード型：「属性」のデータ型ＩＤと要素名／属性データＩＤを参照して、文字列データから対応する文字列データを抽出する。この場合、データ型ＩＤは「テキスト」であり、「要素名／属性データＩＤ」は「３」であるため、図１２に示す文字列データから文字列データ（テキストデータ）「０００２」を抽出する。
【００７２】
この抽出した文字列データ「０００２」と評価対象「０００２」では、第３検索データの演算子「＝」を満足するため、評価結果は真となる。ノードテストが終了しているため、つぎのノード型：「１子要素」について第５検索データであるリターンバリューのノードテストを実行する（走査Ｇ）。
【００７３】
このノードテストは真となり、二回目の検索データによる検索が終了する。そして、検索結果を判定する。今回の検索結果は、評価対象の評価が真であり、かつリターンバリューのノードテストも真であるため、検索成立となる（走査Ｈ）。これにより、文字列データから、リターンバリューが真とされたノード型のデータ型ＩＤ「テキスト」と要素名／属性データＩＤ「０００２」に対応する文字列データ「ＬＯＯＸ」を抽出する（図１２参照）。
【００７４】
そして、この抽出した文字列データ「ＬＯＯＸ」を検索結果リストに追加する。このあと、再度状態初期化をおこない、ノード型の走査を続ける。そして、走査したノード型が「ドキュメント終了」となった場合、終了する。
【００７５】
以上説明したように、本実施の形態にかかるＸＭＬ文書解析／検索装置２００は、予めＸＭＬ文書を解析し、固定長データからなる文書構造データと文字列データからなる文字列データとに分けて格納しておくことができる。また、本実施の形態にかかるＸＭＬ文書解析／検索装置２００は、ビット幅の短い固定長な文書構造データの参照頻度を多くして、可変長な文字列データの参照をノードテストが終了した場合および評価結果をおこなう場合にのみおこなっているため、可変長な文字列データの参照頻度を少なくすることができる。これにより、ＸＭＬ文書内の情報を高速に検索することができる。
【００７６】
なお、本実施の形態で説明したＸＭＬ文書解析方法およびＸＭＬ文書検索方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００７７】
（付記１）複数の要素によって所定のツリー構造を構成するＸＭＬ文書を入力するＸＭＬ文書入力工程と、
前記ＸＭＬ文書入力工程によって入力されたＸＭＬ文書を構成する複数の要素を、要素の出現順に前記ツリー構造にしたがって一列に配列する要素配列工程と、
前記要素配列工程によって一列に配列された各要素内における開始タグと終了タグとの間に記述されているタグ間文字列と、前記開始タグおよび前記終了タグ内に記述されているタグ内文字列と、からなる文字列データを抽出する文字列データ抽出工程と、
前記要素配列工程によって一列に配列された要素ごとに、前記ツリー構造上の種類をあらわすノード型を特定するノード型特定工程と、
前記文字列データ抽出工程によって抽出された文字列データと、前記ノード型特定工程によって特定されたノード型とを前記要素ごとに関連付けるリンクデータを生成するリンクデータ生成工程と、
を含んだことを特徴とするＸＭＬ文書解析方法。
【００７８】
（付記２）前記要素配列工程は、分岐されている子要素を、その分岐元の要素によって挟み込むことにより、前記ツリー構造にしたがって一列に配列することを特徴とする付記１に記載のＸＭＬ文書解析方法。
【００７９】
（付記３）所定のツリー構造を有するＸＭＬ文書に記述されている文字列データの中から、検索対象となる文字列を検索するＸＭＬ文書検索方法であって、
前記検索対象となる文字列を検索するための検索条件を入力する検索条件入力工程と、
前記ＸＭＬ文書を構成する複数の要素の出現順に前記ツリー構造にしたがって配列された第１の文書構造データが、前記検索条件に合致するか否かを判定する第１の文書構造データ判定工程と、
前記第１の文書構造データ判定工程によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した第１の文書構造データに関連付けられている前記文字列データ内の文字列を抽出する第１の関連文字列抽出工程と、
前記第１の関連文字列抽出工程によって抽出された文字列が、前記検索条件に合致するか否かを判定する関連文字列判定工程と、
前記関連文字列判定工程によって前記検索条件に合致すると判定された場合にのみ、前記第１の文書構造データの次に配列されている第２の文書構造データが、前記検索条件に合致するか否かを判定する第２の文書構造データ判定工程と、
前記第２の文書構造データ判定工程によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した第２の文書構造データに関連付けられている前記文字列データ内の文字列を抽出する第２の関連文字列抽出工程と、
を含んだことを特徴とするＸＭＬ文書検索方法。
【００８０】
（付記４）前記第１および第２の文書構造データは、前記ツリー構造を構成するノードの種類をあらわすノード型と、前記文字列データに対し関連付けするリンクデータとを含むことを特徴とする付記３に記載のＸＭＬ文書検索方法。
【００８１】
（付記５）前記第１の文書構造データ判定工程および前記第２の文書構造データ判定工程は、前記ノード型および前記リングデータが検索条件に合致するか否かを判定することを特徴とする付記４に記載のＸＭＬ文書検索方法。
【００８２】
（付記６）前記第１および第２の関連文字列抽出工程は、前記リンクデータに基づいて、前記文字列データを抽出することを特徴とする付記４に記載のＸＭＬ文書検索方法。
【００８３】
（付記７）複数の要素によって所定のツリー構造を構成するＸＭＬ文書を入力させるＸＭＬ文書入力工程と、
前記ＸＭＬ文書入力工程によって入力されたＸＭＬ文書を構成する複数の要素を、要素の出現順に前記ツリー構造にしたがって一列に配列させる要素配列工程と、
前記要素配列工程によって一列に配列された各要素内における開始タグと終了タグとの間に記述されているタグ間文字列と、前記開始タグおよび前記終了タグ内に記述されているタグ内文字列と、からなる文字列データを抽出させる文字列データ抽出工程と、
前記要素配列工程によって一列に配列された要素ごとに、前記ツリー構造上の種類をあらわすノード型を特定させるノード型特定工程と、
前記文字列データ抽出工程によって抽出された文字列データと、前記ノード型特定工程によって特定されたノード型とを前記要素ごとに関連付けるリンクデータを生成させるリンクデータ生成工程と、
をコンピュータに実行させることを特徴とするＸＭＬ文書解析プログラム。
【００８４】
（付記８）所定のツリー構造を有するＸＭＬ文書に記述されている文字列データの中から、検索対象となる文字列を検索させるＸＭＬ文書検索プログラムであって、
前記検索対象となる文字列を検索するための検索条件を入力させる検索条件入力工程と、
前記ＸＭＬ文書を構成する複数の要素の出現順に前記ツリー構造にしたがって配列された第１の文書構造データが、前記検索条件に合致するか否かを判定させる第１の文書構造データ判定工程と、
前記第１の文書構造データ判定工程によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した第１の文書構造データに関連付けられている前記文字列データ内の文字列を抽出させる第１の関連文字列抽出工程と、
前記第１の関連文字列抽出工程によって抽出された文字列が、前記検索条件に合致するか否かを判定させる関連文字列判定工程と、
前記関連文字列判定工程によって前記検索条件に合致すると判定された場合にのみ、前記第１の文書構造データの次に配列されている第２の文書構造データが、前記検索条件に合致するか否かを判定させる第２の文書構造データ判定工程と、
前記第２の文書構造データ判定工程によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した第２の文書構造データに関連付けられている前記文字列データ内の文字列を抽出させる第２の関連文字列抽出工程と、
をコンピュータに実行させることを特徴とするＸＭＬ文書検索プログラム。
【００８５】
（付記９）複数の要素によって所定のツリー構造を構成するＸＭＬ文書を入力するＸＭＬ文書入力手段と、
前記ＸＭＬ文書入力工程によって入力されたＸＭＬ文書を構成する複数の要素を、要素の出現順に前記ツリー構造にしたがって一列に配列する要素配列手段と、
前記要素配列手段によって一列に配列された各要素内における開始タグと終了タグとの間に記述されているタグ間文字列と、前記開始タグおよび前記終了タグ内に記述されているタグ内文字列と、からなる文字列データを抽出する文字列データ抽出手段と、
前記要素配列手段によって一列に配列された要素ごとに、前記ツリー構造上の種類をあらわすノード型を特定するノード型特定手段と、
前記文字列データ抽出手段によって抽出された文字列データと、前記ノード型特定工程によって特定されたノード型とを前記要素ごとに関連付けるリンクデータを生成するリンクデータ生成手段と、
を含んだことを特徴とするＸＭＬ文書解析装置。
【００８６】
（付記１０）所定のツリー構造を有するＸＭＬ文書に記述されている文字列データの中から、検索対象となる文字列を検索するＸＭＬ文書検索装置であって、
前記検索対象となる文字列を検索するための検索条件を入力する検索条件入力手段と、
前記ＸＭＬ文書を構成する複数の要素の出現順に前記ツリー構造にしたがって配列された複数の文書構造データが、前記検索条件にそれぞれ合致するか否かを判定する文書構造データ判定手段と、
前記文書構造データ判定手段によって前記検索条件に合致すると判定された場合にのみ、前記検索条件に合致した文書構造データに関連付けられている前記文字列データ内の文字列を抽出する関連文字列抽出手段と、
前記関連文字列抽出手段によって抽出された文字列が、前記検索条件に合致するか否かを判定する関連文字列判定手段と、を備え、
前記関連文字列抽出手段は、前記関連文字列判定手段によって抽出された文字列が、前記検索条件に合致すると判定され、かつ、前記文書構造データ判定手段によって、前記検索条件に合致すると判定された文書構造データの次に配列されている文書構造データが前記検索条件に合致すると判定された場合、前記検索条件に合致すると判定された文書構造データ以外の文書構造データに対して関連付けられている前記文字列データ内の文字列を、前記検索対象となる文字列として抽出することを特徴とするＸＭＬ文書検索装置。
【００８７】
【発明の効果】
以上説明したように、この発明によれば、文字列データの参照頻度を少なくすることにより、ＸＭＬ文書の検索の高速化を図ることができるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態にかかるＸＭＬ文書解析／検索装置のハードウェア構成を示すブロック図である。
【図２】この発明の実施の形態にかかるＸＭＬ文書解析／検索装置の機能的構成を示すブロック図である。
【図３】この発明の実施の形態にかかるＸＭＬ文書のツリー構造を示す説明図である。
【図４】この発明の実施の形態にかかるＸＭＬ文書解析処理手順を示すフローチャートである。
【図５】この発明の実施の形態にかかるＸＭＬ文書解析処理におけるＸＭＬ文書の構造配列を示す模式図である。
【図６】この発明の実施の形態にかかるＸＭＬ文書解析処理におけるＸＭＬ文書からの文字列データ生成処理を示す模式図である。
【図７】この発明の実施の形態にかかるＸＭＬ文書の一例を示す説明図である。
【図８】この発明の実施の形態にかかる文書構造データの一例を示す説明図である。
【図９】この発明の実施の形態にかかる文字列データ（名前空間データ）を示す説明図である。
【図１０】この発明の実施の形態にかかる文字列データ（要素名データ）を示す説明図である。
【図１１】この発明の実施の形態にかかる文字列データ（要素名／属性データ（整数データ））を示す説明図である。
【図１２】この発明の実施の形態にかかる文字列データ（要素名／属性データ（テキストデータ））を示す説明図である。
【図１３】この発明の実施の形態にかかるＸＭＬ文書検索処理手順を示すフローチャートである。
【図１４】この発明の実施の形態にかかるＸＭＬ文書検索処理における検索条件の一例を示す説明図である。
【図１５】この発明の実施の形態にかかるＸＭＬ文書検索処理における検索データの一例を示す説明図である。
【図１６】この発明の実施の形態にかかるＸＭＬ文書検索実行処理手順を示すフローチャートである。
【図１７】この発明の実施の形態にかかるＸＭＬ文書検索実行処理における状態遷移を示す説明図である。
【符号の説明】
１  ルート要素
１Ａ  ルート開始要素
１Ｂ  ルート閉じ要素
２〜８  要素
４Ａ  開始要素
４Ｂ  閉じ要素
２００  ＸＭＬ文書解析／検索装置
２０１  ＸＭＬ文書入力部
２０２  ＸＭＬ文書解析部
２０３  要素配列部
２０４  文字列データ抽出部
２０５  ノード型特定部
２０６  リンクデータ生成部
２０８  ＸＭＬ文書格納部
２１１  検索条件入力部
２１３  ＸＭＬ文書検索部
２１４  ノード型走査部
２１５  ノード型判定部
２１６  関連文字列抽出部
２１７  関連文字列判定部
２１８  検索結果出力部
【図１】
2004295674.tif 000003
【図２】
2004295674.tif 000004
【図３】
2004295674.tif 000005
【図４】
2004295674.tif 000006
【図５】
2004295674.tif 000007
【図６】
2004295674.tif 000008
【図７】
2004295674.tif 000009
【図８】
2004295674.tif 000010
【図９】
2004295674.tif 000011
【図１０】
2004295674.tif 000012
【図１１】
2004295674.tif 000013
【図１２】
2004295674.tif 000014
【図１３】
2004295674.tif 000015
【図１４】
2004295674.tif 000016
【図１５】
2004295674.tif 000017
【図１６】
2004295674.tif 000018
【図１７】
2004295674.tif 000019