(57)【要約】【課題】複数の検索結果が組み合わされた新規構造化文書を作成する処理が、クライアント側のアプリケーション処理に負担をかけることなく行えるようにする。【解決手段】検索部５４１は、クライアントから与えられる検索要求に従う検索処理によって、データベース４２から当該検索要求の示す検索条件を満たす構造化文書を第１の検索結果として取得する。問い合わせ式判定部５４３は、第１の検索結果に問い合わせ式が埋め込まれているかを判定する。問い合わせ式実行部５４２は、第１の検索結果に問い合わせ式が埋め込まれている場合、当該問い合わせ式を実行する。置換部５４４は、問い合わせ式の実行結果で、第１の検索結果に埋め込まれている当該問い合わせ式を置き換えて、当該問い合わせ式が当該問い合わせ式の実行結果で置き換えられた第２の検索結果を検索要求に対する検索結果とする。【選択図】      図２
2008140081.tif 000002
【特許請求の範囲】
【請求項１】
問い合わせ式が埋め込まれた構造化文書を含む複数の構造化文書を格納する構造化文書データベースと、
クライアントから与えられる検索要求に従う検索処理によって、前記構造化文書データベースから当該検索要求の示す検索条件を満たす構造化文書を第１の検索結果として取得する検索手段と、
前記第１の検索結果に問い合わせ式が埋め込まれているかを判定する問い合わせ式判定手段と、
前記第１の検索結果に問い合わせ式が埋め込まれていると判定された場合、当該問い合わせ式を実行する問い合わせ式実行手段と、
前記問い合わせ式実行手段による前記問い合わせ式の実行結果で、前記第１の検索結果に埋め込まれている当該問い合わせ式を置き換えて、当該問い合わせ式が当該問い合わせ式の実行結果で置き換えられた第２の検索結果を前記検索要求に対する検索結果とする置換手段と
を具備することを特徴とする構造化文書検索システム。
【請求項２】
前記検索手段は、前記第１の検索結果に問い合わせ式が埋め込まれていないと判定された場合、前記第１の検索結果を前記検索要求に対する検索結果として取得することを特徴とする請求項１記載の構造化文書検索システム。
【請求項３】
クライアントから与えられる情報であって、実行されるべき問い合わせ式を指定する情報を取得する問い合わせ式指定情報取得手段と、
前記第１の検索結果に問い合わせ式が埋め込まれていると判定された場合、当該問い合わせ式を指定する情報が前記問い合わせ式指定情報取得手段によって取得されているかに応じて、当該問い合わせ式が実行されるべきかを判定する問い合わせ式実行判定手段を更に具備し、
前記問い合わせ式実行手段は、前記問い合わせ式が実行されるべきと判定された場合に限り、当該問い合わせ式を実行する
ことを特徴とする請求項１記載の構造化文書検索システム。
【請求項４】
前記問い合わせ式が実行されるべきでないと判定された場合、前記第１の検索結果に埋め込まれている当該問い合わせ式を削除して、当該問い合わせ式が削除された第３の検索結果を前記検索要求に対する検索結果とする削除手段を更に具備することを特徴とする請求項３記載の構造化文書検索システム。
【請求項５】
複数の構造化文書を格納する構造化文書データベースを管理するデータベースサーバコンピュータに、
クライアントから与えられる検索要求に従う検索処理によって、前記構造化文書データベースから当該検索要求の示す検索条件を満たす構造化文書を第１の検索結果として取得するステップと、
前記第１の検索結果に問い合わせ式が埋め込まれているかを判定するステップと、
前記第１の検索結果に問い合わせ式が埋め込まれていると判定された場合、当該問い合わせ式を実行するステップと、
前記問い合わせ式の実行結果で、前記第１の検索結果に埋め込まれている当該問い合わせ式を置き換えて、当該問い合わせ式が当該問い合わせ式の実行結果で置き換えられた第２の検索結果を前記検索要求に対する検索結果とするステップと
を実行させるためのデータベース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構造化文書を検索するのに好適な構造化文書検索システム及びデータベース管理プログラムに関する。
【背景技術】
【０００２】
ＸＭＬ（Extensible Markup Language）形式の文書、つまりＸＭＬ文書に代表される構造化文書では、タグと呼ばれる文字列で文書の階層化された構造（論理構造）が表現される。具体的には、１組のタグ（開始タグ及び終了タグの組）によってテキストを囲むことによって、当該テキストが構造化される。開始タグから終了タグまでの文字列はタグを含めて要素と呼ばれ、開始タグから終了タグで囲まれた文字列は、要素の内容と呼ばれる。構造化文書（ＸＭＬ文書）は木構造によって表現することが可能である。構造化文書の木構造において、構造化文書の要素に対応するノードは要素ノード、要素の内容（値）がテキストの場合の当該要素の内容に対応するノードはテキストノードと呼ばれる。テキストノードはテキストのみから構成される。つまりテキストノード＝テキストノードの値＝テキストである。
【０００３】
ＸＭＬの普及に伴い、リレーショナルデータベースにおけるＳＱＬ（Structured Query Language）のような、ＸＭＬデータベースを管理するサーバ（データベースサーバ）に問い合わせを行うための問い合わせ言語（問い合わせ式）が検討もしくは策定されている。このような問い合わせ言語の１つとして、ＷＷＷ（World Wide Web）コンソーシアムで策定されているＸＱｕｅｒｙが知られている。
【０００４】
例えば、特許文献１は、ＸＱｕｅｒｙのような構造化文書問い合わせ言語（構造化文書問い合わせ式）を適用する構造化文書検索（管理）システムを開示している。このようなシステムでは、クライアント（クライアント端末）は所定のアプリケーションの実行により、ＸＱｕｅｒｙを用いてデータベースサーバへの問い合わせを行う。データベースサーバは、この問い合わせに従う検索（ＸＱｕｅｒｙ検索）を実行する。そしてデータベースサーバは、検索の結果（ＸＱｕｅｒｙ検索結果）として、ＸＱｕｅｒｙで指定される必要なＸＭＬ文書（ＸＭＬ文書データ）をクライアントに返す。これによりクライアントは、必要なＸＭＬ文書をＸＱｕｅｒｙ検索結果として取得することができる。ここで取得されるＸＭＬ文書は、ＸＭＬ文書（構造化文書）の一部、全体、または、ＸＭＬ文書の複数部分を含む新たな形式のＸＭＬ文書などである。
【０００５】
また、データベースサーバ上で動作するデータベース管理システム（Database Management System: ＤＢＭＳ）を始めとする、多数の構造化文書を管理し、大規模な検索処理を行うシステム（構造化文書検索システム）においては、上記特許文献１、或いは例えば特許文献２にも記載されているように、予め作成された索引（インデックス）を用いて検索速度を向上させる手法を適用するのが一般的である。
【０００６】
さて、ＸＭＬ文書データベースから複数のＸＭＬ文書もしくはＸＭＬ文書内の構造部分（ノード）を検索し、その検索結果を組み合わせて新規ＸＭＬ文書を作成したい場合がある。このような場合、従来は、次に述べる第１または第２の手法が適用されるのが一般的である。
【０００７】
第１の手法は、ＸＱｕｅｒｙのＦＬＷＯＲ（ＦＯＲ，ＬＥＴ，ＷＨＥＲＥ，ＯＲＤＥＲ  ＢＹ，ＲＥＴＵＲＮ）表現式を利用することを特徴とする。クライアントは、このＸＱｕｅｒｙのＦＬＷＯＲ表現式を利用することにより、データベースサーバに対して作成したい新規ＸＭＬ文書を構成する複数の構造部分を検索させると共に、その検索された複数の構造部分が組み合わされた新規ＸＭＬ文書を作成させることができる。つまりクライアントは、ＸＱｕｅｒｙのＦＬＷＯＲ表現式を利用することにより、データベースサーバから当該ＦＬＷＯＲ表現式で指定された複数の構造部分が組み合わされた新規ＸＭＬ文書を取得することができる。ここで、検索される構造部分も、ＸＭＬ文書の構造の特徴から、１つのＸＭＬ文書であるといえる。
【０００８】
一方、第２の手法は、ＸＰａｔｈと呼ばれる任意の文書構造を指定する構造指定情報を利用することを特徴とする。この第２の手法では、クライアントは、作成したい新規ＸＭＬ文書を構成する複数の構造部分（ＸＭＬ文書）を個々に取得するために、目的とする構造部分にそれぞれ対応するＸＰａｔｈを用いて、逐次データベースサーバに検索を要求する。データベースサーバは、クライアントから検索が要求される都度、対応するＸＰａｔｈで指定される構造部分（ＸＭＬ文書）を検索して当該クライアントに返す。これによりクライアントは、ＸＰａｔｈ毎に対応する構造部分（ＸＭＬ文書）を検索結果として取得する。クライアントは、取得された検索結果を、ドキュメントオブジェクトモデル（Document Object Model：ＤＯＭ）もしくはＸＭＬのスタイルシート言語（Extensible Stylesheet Language：ＸＳＬ）への変換言語であるＸＳＬＴ（XSL Transformations）を利用したアプリケーション処理により組み合わせて、目的の新規ＸＭＬ文書を作成する。
【特許文献１】特開２００５−２２７８５１号公報
【特許文献２】特許第３７５４２５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前記第１の手法では、クライアントはＸＱｕｅｒｙのＦＬＷＯＲ表現式を利用することにより、データベースサーバに対して、複数のＸＭＬ文書もしくはＸＭＬ文書内の構造部分（ノード）の検索と、その検索結果が組み合わされた新規ＸＭＬ文書の作成とを行わせることができる。しかし、そのためには、クライアントはアプリケーション処理により複雑な構造のＸＱｕｅｒｙ（つまり構造化文書の問い合わせ式）を作成（記述）する必要がある。このことは、効率的なアプリケーション開発を妨げる。
【００１０】
一方、前記第２の手法では、クライアントは、複数のＸＭＬ文書もしくはＸＭＬ文書内の構造部分（ノード）の各々の検索のために、対応するＸｐａｔｈ（Ｘｐａｔｈ式）を用いて、逐次データベースサーバに検索を要求して、その都度当該サーバから検索結果を取得する必要がある。このため、第２の手法では、クライアントとデータベースサーバとの間の通信量（トラフィック量）の増加を招く。また、クライアントは、取得された検索結果を、ＤＯＭ／ＸＳＬＴを利用したアプリケーション処理により組み合わせて、目的の新規ＸＭＬ文書を作成する必要がある。このため、クライアント上でのアプリケーション処理が煩雑になり、効率的なアプリケーション開発を妨げる。
【００１１】
本発明は上記事情を考慮してなされたものでその目的は、複数の構造化文書もしくは構造化文書内の構造部分を検索してその検索結果が組み合わされた新規構造化文書を作成する処理が、クライアント側でのアプリケーション処理に負担をかけることなく行える構造化文書検索システム及びデータベース管理プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の１つの観点によれば構造化文書検索システムが提供される。この構造化文書検索システムは、問い合わせ式が埋め込まれた構造化文書を含む複数の構造化文書を格納する構造化文書データベースと、クライアントから与えられる検索要求に従う検索処理によって、前記構造化文書データベースから当該検索要求の示す検索条件を満たす構造化文書を第１の検索結果として取得する検索手段と、前記第１の検索結果に問い合わせ式が埋め込まれているかを判定する問い合わせ式判定手段と、前記第１の検索結果に問い合わせ式が埋め込まれていると判定された場合、当該問い合わせ式を実行する問い合わせ式実行手段と、前記問い合わせ式実行手段による前記問い合わせ式の実行結果で、前記第１の検索結果に埋め込まれている当該問い合わせ式を置き換えて、当該問い合わせ式が当該問い合わせ式の実行結果で置き換えられた第２の検索結果を前記検索要求に対する検索結果とする置換手段とを具備する。
【発明の効果】
【００１３】
本発明によれば、検索要求に従う検索処理によって前記構造化文書データベースから検索された構造化文書に問い合わせ式が埋め込まれている場合に、当該問い合わせ式が実行されて、その実行結果（例えば構造化文書内の構造部分）で当該検索された構造化文書に埋め込まれている当該問い合わせ式が置き換えられて、その置き換え後の構造化文書が検索要求に対する検索結果として取得される。このため、複数の構造化文書もしくは構造化文書内の構造部分を検索してその検索結果が組み合わされた新規構造化文書を作成する処理が、元の構造化文書に単純な問い合わせ式を埋め込んでおくだけで、クライアント側でのアプリケーション処理に負担をかけることなく行え、アプリケーション開発の効率化が可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係る構造化文書検索システムを含むクライアント−サーバシステムのハードウェア構成を示すブロック図である。図１のクライアント−サーバシステムは、主として、データベースサーバ（データベースサーバコンピュータ）１０と、複数のクライアント端末（クライアント）とから構成される。複数のクライアント端末はクライアント端末２０を含む。クライアント端末２０上では、データベースサーバ１０を利用するアプリケーション（アプリケーションプログラム）が動作する。クライアント端末２０を含む複数のクライアント端末は、ローカルエリアネットワーク（ＬＡＮ）のようなネットワーク３０を介してデータベースサーバ１０と接続されている。なお、図１にはクライアント端末２０以外のクライアント端末は省略されている。
【００１５】
データベースサーバ１０は、ハードディスクドライブのような外部記憶装置４０と接続されている。この外部記憶装置４０は、データベース管理プログラム４１及びＸＭＬデータベース４２を格納する。
【００１６】
データベース管理プログラム４１は、データベースサーバ１０によるＸＭＬデータベース４２の管理、及びクライアント端末からのＸＱｕｅｒｙ等を用いた検索要求（問い合わせ）に基づく検索処理に用いられる。ＸＭＬデータベース４２は構造化文書であるＸＭＬ文書（ＸＭＬ文書データ）を格納する構造化文書データベースである。ＸＭＬデータベース４２には、当該データベース４２に格納されるＸＭＬ文書に基づいて作成される索引等も格納される。
【００１７】
本実施形態では、データベースサーバ１０及び外部記憶装置４０（に格納されているＸＭＬデータベース４２）によって構造化文書検索システム５０が実現される。
【００１８】
図２は図１に示される構造化文書検索システム５０の主として機能構成を示すブロック図である。構造化文書検索検索システム５０は、データベース管理システム５１及びＸＭＬデータベース４２から構成される。データベース管理システム５１は、要求処理部５２、格納処理部５３及び検索処理部５４を含む。これらの各処理部５２乃至５４は、図１のデータベースサーバ１０が外部記憶装置４０に格納されている検索処理プログラム４１を読み込んで実行することにより実現される。このプログラム４１は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム４１が、ネットワーク３０を介してデータベースサーバ１０にダウンロードされても構わない。
【００１９】
ＸＭＬデータベース４２には、ＸＭＬ文書格納部（構造化文書格納部）４２１及び索引格納部４２２が確保されている。ＸＭＬ文書格納部４２１は、複数のＸＭＬ文書（ＸＭＬ文書データ）を格納するのに用いられる。索引格納部４２２は、ＸＭＬ文書格納部４２１に格納されているＸＭＬ文書を検索するのに用いられるインデックス（索引）、例えば構造インデックスを保存する構造インデックスファイル４２３を格納するのに用いられる。
【００２０】
要求処理部５２は、クライアント端末からネットワーク３０を介して構造化文書検索システム５０（内のデータベース管理システム５１）に与えられる、格納要求や検索要求などの各種の要求（コマンド）を受け付けて当該要求の種別を判別し、その判別結果に応じて格納処理部５３及び検索処理部５４のいずれかに当該要求の指定する処理を実行させる。
【００２１】
格納処理部５３は、格納要求を解析し、当該要求で指定されたＸＭＬ文書及び当該ＸＭＬ文書のインデックスを、ＸＭＬデータベース４２のそれぞれＸＭＬ文書格納部４２１及び索引格納部４２２に格納する。格納処理部５３は、ＸＭＬデータベース４２のＸＭＬ文書格納部４２１及び索引格納部４２２へのアクセスを操作するデータベース操作部５３０を含む。
【００２２】
検索処理部５４は、検索要求を解析し、当該検索要求で指定される検索条件（問い合わせ式）を満足する検索結果を生成する。検索処理部５４は、この検索結果を生成するために、データベース操作部５４０、検索部５４１、問い合わせ式実行部５４２、問い合わせ式判定部５４３、置換部５４４、削除部５４５、ＩＤ取得部５４６及びＩＤ判定部５４７を含む。データベース操作部５４０は、ＸＭＬデータベース４２のＸＭＬ文書格納部４２１及び索引格納部４２２へのアクセスを操作する。残りの各部５４１〜５４７の機能については後述する。
【００２３】
本実施形態では、ＸＭＬデータベース４２のＸＭＬ文書格納部４２１に格納されているＸＭＬ文書を高速に検索する技術の１つとして、構造インデックス技術が用いられる。構造インデックス技術とは、ＸＭＬ文書をＸＭＬデータベース４２のＸＭＬ文書格納部４２１に格納する際に、その文書の構造を示す情報（構造情報）を抽出後、抽出された構造をテンプレート（構造テンプレート）化し、その構造テンプレートとその構造情報のＸＭＬデータベース４２中の実際の位置を示すレコード（位置レコード）とを一意に割り振られたテンプレートＩＤと呼ばれるテンプレート識別情報により関連付けて索引化する技術である。
【００２４】
そのため本実施形態では、ＸＭＬ文書をＸＭＬ文書格納部４２１に新たに格納する際に、構造インデックスが作成される。作成された構造インデックスは、構造インデックスファイル４２３に保存されて、索引格納部４２２に格納される。構造インデックスファイル４２３のデータ構造について、２つの具体例を挙げて順次説明する。
【００２５】
図３は、ＸＭＬデータベース４２のＸＭＬ文書格納部４２１に、従来から知られている一般的な構造の２つのＸＭＬ文書３１及び３２が格納されている場合における、当該ＸＭＬ文書３１及び３２の例を示す。ＸＭＬ文書３１は、＜部品＞タグを含む要素（に対応する要素ノード）の内容（子ノード）として、それぞれ＜部品番号＞タグ、＜部品名＞タグ、＜説明＞タグ、＜部品番号＞タグ、＜部品名＞タグ及び＜説明＞タグを含む要素（に対応する要素ノード）を含む。ＸＭＬ文書３２は、＜在庫＞タグを含む要素（に対応する要素ノード）の内容（子ノード）として、それぞれ＜部品群＞タグを含む２つの要素（に対応する要素ノード）を含む。＜部品群＞タグは、部品番号（＠番号）の属性を含む。＜部品群＞タグを含む要素の内容は、＜在庫数＞タグを含む要素と＜状況＞タグを含む要素とを含む。
【００２６】
図４は、図３に示すＸＭＬ文書３１及び３２から作成された構造インデックスを保存する構造インデックスファイル４２３のデータ構造の一例を示す。構造インデックスファイル４２３は、構造インデックス管理部４２４を含む。構造インデックス管理部４２４は、構造テンプレート管理部４２４ａと構造ポスティングエリア４２４ｂとから構成される。
【００２７】
構造テンプレート管理部４２４ａは、テンプレートＩＤと、当該ＩＤが割り当てられたＸＭＬ文書の構造の雛形を示す構造テンプレートとの対の集合（リスト）を格納する記憶部（構造テンプレート記憶部）である。本実施形態では、構造テンプレートには、構造を表す情報、例えば、ルートノードから目的のノードへのパスを表す情報が用いられる。例えば、構造テンプレート（パス）「／部品」は、ｒｏｏｔノードの子ノードである部品ノードを示す。構造テンプレート（パス）「／部品」に含まれている「／」は、この例のようにパスの先頭に位置している場合、ルートノードを示す。
【００２８】
一方、構造ポスティングエリア４２４ｂは、テンプレートＩＤと、当該ＩＤが割り当てられた構造テンプレートと同一構造の情報（ＸＭＬ文書またはＸＭＬ文書内の構造部分のデータ）のＸＭＬデータベース４２（のＸＭＬ文書格納部４２１内）の位置を示す位置情報との対の集合（リスト）を格納する記憶部（構造テンプレート位置記憶部）である。ここで、位置情報はページ番号とページ内位置の情報とから構成される。
【００２９】
データベース１５にＸＭＬ文書を格納する単位はページと呼ばれる。図４の例では、第１及び第２ページに、それぞれ、図２のＸＭＬ文書３１及び３２が格納されていることを示す。図４中の構造ポスティングエリア４２４ｂの例では、ＸＭＬ文書３１及び３２内の各構造テンプレートが格納されるページ内位置は、当該ＸＭＬ文書の先頭から順に割り当てられている。しかし、実際には、このような順序で割り当てられる必要はない。
【００３０】
構造テンプレート管理部４２４ａ及び構造ポスティングエリア４２４ｂを含む構造インデックス管理部４２４を利用することにより、実際のＸＭＬ文書にアクセスすることなく、構造テンプレート管理部４２４ａを走査するだけで、つまり構造テンプレート（構造インデックス）上の走査だけで、例えば“／部品／部品番号”のような構造（構造テンプレート）を指定する検索要求（問い合わせ要求）に従う検索処理を高速に行うことが可能となる。しかし、構造インデックス管理部４２４を利用するだけでは、即ち構造インデックスを利用するだけでは、「発明が解決しようとする課題」の欄でも述べたように、複数の構造化文書もしくは構造化文書内の構造部分を検索してその検索結果が組み合わされた新規構造化文書を作成する処理を効率的に行うことは難しい。
【００３１】
そこで本実施形態では、問い合わせ式が埋め込まれたＸＭＬ文書が用いられる。図５は、図３のＸＭＬ文書３１に代えて用いられる、問い合わせ式が埋め込まれたＸＭＬ文書３３の一例を示す。ＸＭＬ文書３３がＸＭＬ文書３１と最も異なる点は、＜部品名＞タグを含む要素（部品名要素ノード）と＜説明＞タグを含む要素（説明要素ノード）との間に、問い合わせ式（問い合わせ文）３３０が埋め込まれている点である。この問い合わせ式３３０は、当該問い合わせ式３３０の指定する条件を満たすＸＭＬ文書またはＸＭＬ文書内の構造部分のデータが設定されるべきＸＭＬ文書３３内の箇所に、予め埋め込まれている。前記したように、ＸＭＬ文書内の構造部分も、１つのＸＭＬ文書である。したがって以下の説明では、ＸＭＬ文書またはＸＭＬ文書内の構造部分を単にＸＭＬ文書と表現する。
【００３２】
問い合わせ式３３０、つまり＜？ｘｑｕｅｒｙ  ｉｄ＝１  ｑｕｅｒｙ＝／／在庫［部品群／＠番号＝１２３］／在庫数＞は、「？ｘｑｕｅｒｙ」でｘｑｕｅｒｙ処理を指示する。「／／在庫」中の「在庫」に先行する「／／」は任意位置を示し、「／／在庫」は任意位置の＜在庫＞タグを含む要素（在庫要素、在庫ノード）を指定する。よって問い合わせ式３３０は、「ｑｕｅｒｙ＝／／在庫［部品群／＠番号＝１２３」で、任意位置の＜在庫＞タグを含む要素（在庫ノード）の中から、「＠番号（部品番号）」が「１２３」の部品の在庫数のタグ（＜在庫数＞タグ）を含む要素（在庫数ノード）を検索することを指定する検索式である。「ｉｄ＝１」については、後述する変形例で説明する。本実施形態では、問い合わせ式３３０に「ｉｄ＝１」の情報が必ずしも含まれている必要はない。
【００３３】
なお、問い合わせ式３３０中の英数記号は、実際には半角文字で記述される。しかし本明細書では、問い合わせ式３３０中の英数記号を便宜的に全角文字で表現している。
【００３４】
図６は、図３のＸＭＬ文書３１に代えて図５のＸＭＬ文書３３が用いられる場合の、ＸＭＬ文書３１及び３２から作成された構造インデックスを保存する構造インデックスファイル４２３に含まれている構造インデックス管理部４２４のデータ構造例を示す。なお図６では、構造インデックス管理部４２４内の構造ポスティングエリア４２４ｂは省略されている。
【００３５】
図６に示す構造インデックス管理部４２４に含まれている構造テンプレート管理部４２４ａが図４に示す構造テンプレート管理部４２４ａと異なる点は、構造テンプレート「／部品／？ｘｑｕｅｒｙ」が追加されていることである。ここでは構造テンプレート管理部４２４ａに、テンプレートＩＤ＝４と対応付けて構造テンプレート「／部品／？ｘｑｕｅｒｙ」が追加（格納）されている。この場合、構造ポスティングエリア４２４ｂに、構造テンプレート「／部品／？ｘｑｕｅｒｙ」に対応するテンプレートＩＤ及び（ページ番号、ページ内位置）として、テンプレートＩＤ＝４及び（ページ番号、ページ内位置）＝（１，４）が格納される。
【００３６】
次に、本実施形態におけるＸＭＬ文書検索処理について、問い合わせ式３３０が埋め込まれたＸＭＬ文書の検索を例に、図７のフローチャートを参照して説明する。  
まず、ユーザによるクライアント端末２０の操作に従い、当該端末２０から構造化文書検索システム５０（データベースサーバ１０）に対して、ＸＭＬ文書検索を指示する検索要求がネットワーク３０を介して送られたものとする。このクライアント端末２０からの検索要求は、構造化文書検索システム５０に含まれているデータベース管理システム５１の要求処理部５２によって受け付けられる（ステップＳ１）。
【００３７】
要求処理部５２は、クライアント端末２０からの検索要求を受け付けると当該要求を解析して、当該要求を処理すべき機能部として検索処理部５４を選択し、当該検索処理部５４に当該検索要求を渡す（ステップＳ２）。この検索要求は問い合わせ式（例えばＸＱｕｅｒｙ）を含む。
【００３８】
検索処理部５４が要求処理部５２から検索要求を受け取ると、当該検索処理部５４の検索部５４１が起動される。すると検索部５４１は、要求処理部５２から渡された検索要求（つまりクライアント端末２０からの検索要求）に従う第１の検索処理を実行する（ステップＳ３）。この第１の検索処理では、上記検索要求に含まれている問い合わせ式（第１の問い合わせ式）に記述されている検索条件に一致する構造、例えばパス（ＸＰａｔｈ）「／／部品」で指定される構造のＸＭＬ文書（ＸＭＬ文書データ）を特定するための構造インデックスの集合を、構造インデックス管理部４２４から取得する処理が行われる。ここで、「／／部品」は、先の「／／在庫」の例から明らかなように、任意位置の＜部品＞タグを含む要素（部品要素、部品ノード）を指定する。
【００３９】
検索部５４１によって取得される構造インデックスは、検索条件で指定された構造を表す構造テンプレートと、当該テンプレートに固有のテンプレートＩＤと、その構造（構造情報）のＸＭＬデータベース４２中の実際の位置を示す位置レコード（ページ番号、ページ内位置）とを含む。ここでは、「／部品」を表す構造テンプレートを含む構造インデックスが少なくとも取得される。
【００４０】
検索部５４１は、第１の検索処理によって取得された構造インデックスの集合の中に未処理の構造インデックスがあるならば（ステップＳ４）、その未処理の構造インデックスを１つ取り出す（ステップＳ５）。検索部５４１は取り出された構造インデックスに含まれている位置レコード（ページ番号、ページ内位置）に基づいて、当該構造インデックスで指定されるＸＭＬ文書を特定する（ステップＳ６）。つまり検索部５４１は、上記検索要求に含まれている問い合わせ式に記述されている検索条件に一致する構造のＸＭＬ文書を特定（検索）する。すると検索処理部５４の問い合わせ式判定部５４３が起動される。
【００４１】
問い合わせ式判定部５４３は、特定（検索）されたＸＭＬ文書（第１の検索結果）内に、図５に示す問い合わせ式３３０に相当する問い合わせ式が存在する（埋め込まれている）かを判定する（ステップＳ７）。特定されたＸＭＬ文書内のどこに問い合わせ式が存在するかは、構造インデックス管理部４２４を参照することによって確認することができる。
【００４２】
もし、問い合わせ式が存在するならば、検索処理部５４の問い合わせ式実行部５４２が当該問い合わせ式（第２の問い合わせ式）に従う検索処理（第２の検索処理）を実行する（ステップＳ８）。検索処理部５４の置換部５４４は、第２の検索処理で検索されたＸＭＬ文書（ＸＭＬ文書もしくはＸＭＬ文書内の構造部分）、つまり問い合わせ式の実行結果で、ステップＳ７で判定されたＸＭＬ文書（第１の検索結果）中に埋め込まれている、当該検索処理を指定した問い合わせ式を置き換えて、その置き換え後のＸＭＬ文書（第２の検索結果）を検索要求に対する検索結果とする（ステップＳ９）。
【００４３】
この置換部５４４の問い合わせ式の置き換えにより、検索処理部５４の検索部５４１は、クライアント端末２０からの検索要求で指定された検索条件に合致するＸＭＬ文書中の問い合わせ式が当該問い合わせ式に従って検索されたＸＭＬ文書（ＸＭＬ文書もしくはＸＭＬ文書内の構造部分）に置き換えられた新たなＸＭＬ文書を、当該検索要求に対する検索結果として取得することができる。
【００４４】
検索部５４１（検索処理部５４）は、ステップＳ５で取り出された構造インデックスに基づく処理で検索要求に対する検索結果を取得すると（ステップＳ６〜Ｓ９）、ステップＳ４に戻る。
【００４５】
また検索部５４１（検索処理部５４）は、特定されたＸＭＬ文書内に問い合わせ式が存在しないならば（ステップＳ７）、当該ＸＭＬ文書を検索結果として取得して（ステップＳ１０）、ステップＳ４に戻る。
【００４６】
ステップＳ４において検索部５４１は、第１の検索処理によって取得された構造インデックスの集合の中に未処理の構造インデックスがあるかを判定する。もし、未処理の構造インデックスがあるならば、検索部５４１は未処理の構造インデックスを１つ取り出して（ステップＳ５）、再びステップＳ６を実行する。
【００４７】
これに対し、未処理の構造インデックスがないならば、要求処理部５２が起動される。格納処理部５３は、検索処理部５４（検索部５４１）によって取得されている、クライアント端末２０からの検索要求に対する検索結果を、当該クライアント端末２０に返す（ステップＳ１１）。
【００４８】
次に、クライアント端末２０からの検索要求に対する検索処理の具体例について、図８を参照して説明する。  
まず、図８に示すように、ＸＭＬデータベース４２のＸＭＬ文書格納部４２１には、図５に示されるＸＭＬ文書３３と図３に示されるＸＭＬ文書３２とを含むＸＭＬ文書群が格納されているものとする。ＸＭＬ文書３３は＜部品＞タグを含み、当該＜部品＞タグを含む要素（部品ノード）は問い合わせ式３３０を含む。ＸＭＬ文書３２は＜在庫＞タグを含み、当該＜在庫＞タグを含む要素（在庫ノード）は＜部品群タグ＞を含む。＜部品群タグ＞は部品番号（＠番号）の属性（属性ノード）を含む。この属性の属性名は「番号（部品番号）」であり、値は「１２３」である。
【００４９】
ＸＭＬ文書３３及び３２がＸＭＬデータベース４２に格納されると、図６に示す構造インデックス管理部４２４が作成される。今、クライアント端末２０からの検索要求によって「／／部品」が指定された結果、当該「／／部品」で指定される構造に一致するＸＭＬ文書の構造インデックスが取得されたものとする。図８の例では、「／／部品」で指定される構造に一致するＸＭＬ文書は、＜部品＞タグを含むＸＭＬ文書３３である。このＸＭＬ文書３３は、「／部品」に一致する構造テンプレートを含む構造インデックスを構造インデックス管理部４２から取得することにより、クライアント端末２０からの検索要求の指定する検索条件に合致するＸＭＬ文書として特定（検索）されるものとする。
【００５０】
特定されたＸＭＬ文書３３には、問い合わせ式３３０が埋め込まれている。この場合、ＸＭＬ文書３３がクライアント端末２０からの検索要求に対する検索結果としてそのまま返されるのではなく、以下に述べるように当該ＸＭＬ文書３３に埋め込まれている問い合わせ式３３０が実行される。ここで、ＸＭＬ文書３３内のどこに問い合わせ式が格納されているかは、「／部品」の下位に／？ｑｕｅｒｙを含む構造テンプレートを構造インデックス管理部４２４上で検索することにより確認できる。ここでは、「／部品／？ｑｕｅｒｙ」の構造テンプレートを含む構造インデックス中の位置レコードから、問い合わせ式３３０の位置を確認できる。
【００５１】
問い合わせ式３３０の位置が確認されると、当該問い合わせ式３３０が実行される。ここでは、＜在庫＞タグを含む全ての要素（在庫ノード）の中から、「＠番号（部品番号）」が「１２３」の部品の在庫数のタグ（＜在庫数＞タグ）を含む要素（在庫数ノード）が検索される。この問い合わせ式３３０の示す検索条件に合致する要素を含むＸＭＬ文書は、図８の例ではＸＭＬ文書３２である。ここでは、ＸＭＬ文書３２中の「＠番号（部品番号）」が「１２３」の部品の在庫数ノードの情報、即ち＜在庫数＞１００＜／在庫数＞が、問い合わせ式３３０の実行結果として取得される。
【００５２】
すると図８に示されるように、ＸＭＬ文書３３中の問い合わせ式３３０が、問い合わせ式３３０の実行結果である「＜在庫数＞１００＜／在庫数＞」で置き換えられた新たなＸＭＬ文書３４が取得される。このＸＭＬ文書３４が、クライアント端末２０からの検索要求に対する検索結果としてクライアント端末２０に返される。
【００５３】
このように本実施形態においては、複数のＸＭＬ文書（ＸＭＬ文書もしくはＸＭＬ文書内の構造部分）、例えばＸＭＬ文書及びＸＭＬ文書内の構造部分を組み合わせて新しいＸＭＬ文書を作成する必要があることが予測される場合、問い合わせ式が埋め込まれたＸＭＬ文書がＸＭＬデータベース４２に予め格納される。すると、クライアント端末からの検索要求に応じて問い合わせ式が埋め込まれたＸＭＬ文書が検索された場合、当該問い合わせ式が実行される。この問い合わせ式の実行によって取得されたＸＭＬ文書（構造化文書内の構造部分）で、検索されたＸＭＬ文書（第１の検索結果）中の当該問い合わせ式が置き換えられて、その問い合わせ式が置き換えられたＸＭＬ文書（第２の検索結果）がクライアント端末からの検索要求に対する検索結果として取得される。
【００５４】
これにより本実施形態においては、複数のＸＭＬ文書（ＸＭＬ文書もしくはＸＭＬ文書内の構造部分）を組み合わせて新しいＸＭＬ文書を作成する処理を、従来のように複雑な問い合わせ式を記述したり、クライアント端末側で毎回複雑な処理を行うことなく実行できる。また本実施形態においては、このような処理が、最終結果が得られるまで、全てＸＭＬデータベース４２上で実行できる。このため、クライアント端末側で毎回複雑な処理をする場合と比べて、クライアント端末と構造化文書検索システム５０との間の通信量（トラフィック量）を抑えレスポンスタイムを短縮できる。
【００５５】
なお、本実施形態では、ＸＭＬ文書に埋め込まれる問い合わせ式が検索式である場合を前提としている。しかし、ＸＭＬ文書に埋め込まれる問い合わせ式が更新式であっても構わない。ここで、問い合わせ式に更新式を用いた場合の一例について簡単に説明する。まず、更新式により、当該更新式が埋め込まれているＸＭＬ文書中の更新されるべき値（被更新データ）を含むノードと、更新データを含むＸＭＬ文書中のノードとが指定されるものとする。更に具体的に述べるならば、更新式が埋め込まれているＸＭＬ文書が在庫数ノードを含む部品ノードを含み、当該更新式によって、当該在庫数ノードの値を、「＠番号（部品番号）」が「１２３」の部品の在庫ノードに含まれている在庫数ノードの値に更新することが指定されているものとする。この場合、更新式が埋め込まれているＸＭＬ文書の在庫数ノードの値が、例えば図８に示されるＸＭＬ文書３２中の、「＠番号（部品番号）」が「１２３」の部品の在庫数ノードの値「１００」に更新される。
【００５６】
［変形例］
上記実施形態では、第１の検索処理によって取得された構造インデックスの指定するＸＭＬ文書に問い合わせ式が埋め込まれている場合には、当該問い合わせ式が必ず実行されて、その実行結果で当該問い合わせ式が置き換えられる。しかし、問い合わせ式が埋め込まれたＸＭＬ文書であっても、当該問い合わせ式を実行せずに、当該問い合わせ式が埋め込まれる前のＸＭＬ文書を検索結果として取得したい場合もある。
【００５７】
そこで、上記実施形態の変形例の特徴は、実行されるべき問い合わせ式を指定する付加情報（一種のＸＱｕｅｒｙのヒント情報）を検索要求中に含め、検索結果として取得される構造インデックスで指定されるＸＭＬ文書のうち、当該付加情報で指定された問い合わせ式が埋め込まれているＸＭＬ文書についてのみ、当該問い合わせ式が実行されるようにした点にある。
【００５８】
次に、上記実施形態の変形例におけるＸＭＬ文書検索処理について、上記実施形態と同様に、問い合わせ式３３０が埋め込まれたＸＭＬ文書の検索を例に、図９Ａ及び図９Ｂのフローチャートを参照して説明する。なお、図９Ａ及び図９Ｂにおいて、図７と同様の部分には同一符号を付してある。
【００５９】
まず、クライアント端末２０からの検索要求が、構造化文書検索システム５０に含まれているデータベース管理システム５１の要求処理部５２によって受け付けられたものとする（ステップＳ１）。この検索要求は、要求処理部５２から検索処理部５４に渡される（ステップＳ２）。この検索要求が、実行されるべき問い合わせ式を指定する情報（付加情報）が付加された問い合わせ式（第１の問い合わせ式）を含むものとする。本変形例では、ＸＭＬ文書に埋め込まれる問い合わせ式には、固有のＩＤ（問い合わせ式指定情報）が割り当てられている。そこで付加情報は、実行されるべき問い合わせ式を当該問い合わせ式のＩＤによって指定する。
【００６０】
検索処理部５４のＩＤ取得部（問い合わせ式指定情報取得手段）５４６は、検索要求に付加情報が含まれている場合、当該付加情報から、実行されるべき問い合わせ式のＩＤ（問い合わせ式指定情報）の集合を取得する（ステップＳ２ａ）。すると検索処理部５４の検索部５４１は検索要求（クライアント端末２０からの検索要求）に従う第１の検索処理を実行して、当該検索要求に含まれている問い合わせ式（第１の問い合わせ式）に記述されている検索条件に一致する構造のＸＭＬ文書（ＸＭＬ文書もしくはＸＭＬ文書内の構造部分）を特定するための構造インデックスの集合を取得する（ステップＳ３）。
【００６１】
検索部５４１は、取得された構造インデックスから未処理の構造インデックスを１つ取り出し（ステップＳ４，Ｓ５）、当該取り出された構造インデックスで指定されるＸＭＬ文書を特定する（ステップＳ６）。検索処理部５４のＩＤ判定部（問い合わせ式実行判定手段）５４７は、特定されたＸＭＬ文書内に問い合わせ式が埋め込まれていると問い合わせ式判定部５４３によって判定されたならば（ステップＳ７）、当該問い合わせ式のＩＤが、ステップＳ２ａで取得されたＩＤの集合に含まれているかを判定することにより、当該問い合わせ式が実行されるべきかを判定する（ステップＳ７ａ）。
【００６２】
もし、特定されたＸＭＬ文書に埋め込まれている問い合わせ式のＩＤが、上記取得されたＩＤの集合に含まれているならば（ステップＳ７ａ）、検索処理部５４の問い合わせ式実行部５４２は当該問い合わせ式を実行する（ステップＳ８）。検索処理部５４の置換部５４４は、問い合わせ式の実行、つまり問い合わせ式に従う検索処理（第２の検索処理）の実行によって検索されたＸＭＬ文書（ＸＭＬ文書もしくはＸＭＬ文書内の構造部分）で、上記特定されたＸＭＬ文書（第１の検索結果）中に埋め込まれている問い合わせ式を置き換えて、その置き換え後のＸＭＬ文書（第２の検索結果）を検索要求に対する検索結果とする（ステップＳ９）。これにより検索部５４１（検索処理部５４）は、問い合わせ式が第２の検索処理の実行によって検索されたＸＭＬ文書（ＸＭＬ文書もしくはＸＭＬ文書内の構造部分）で置き換えられたＸＭＬ文書を、検索要求に対する検索結果として取得することができる。
【００６３】
これに対し、特定されたＸＭＬ文書に埋め込まれている問い合わせ式のＩＤが、上記取得されたＩＤの集合に含まれていないならば（ステップＳ７ａ）、問い合わせ式実行部５４２は当該問い合わせ式の実行が指定されていないものと判断して、当該問い合わせ式の実行を抑止する。この場合、検索処理部５４の削除部５４５は、上記特定されたＸＭＬ文書（第１の検索結果）に埋め込まれている問い合わせ式を削除して、その削除後のＸＭＬ文書（第３の検索結果）を検索要求に対する検索結果とする（ステップＳ７ｂ）。これにより検索部５４１（検索処理部５４）は、問い合わせ式が削除されたＸＭＬ文書を、検索要求に対する検索結果として取得することができる。
【００６４】
一方、特定されたＸＭＬ文書内に問い合わせ式が埋め込まれていない場合（ステップＳ７）、上記実施形態と同様にステップＳ１０が実行される。  
検索部５４１（検索処理部５４）は、ステップＳ７ｂ，Ｓ９またはＳ１０が実行されると、ステップＳ４に戻る。
【００６５】
次に、本変形例におけるクライアント端末２０からの検索要求に対する検索処理の具体例について、図１０を参照して説明する。  
まず、図１０に示すように、ＸＭＬデータベース４２のＸＭＬ文書格納部４２１には、図８と同様に、図５に示されるＸＭＬ文書３３と図３に示されるＸＭＬ文書３２とを含むＸＭＬ文書群が格納されているものとする。ＸＭＬ文書３３には問い合わせ式３３０が埋め込まれている。この問い合わせ式３３０は、当該問い合わせ式３３０のＩＤ（ｉｄ）を含む。ここでは、問い合わせ式３３０のＩＤ（ｉｄ）は１である。
【００６６】
今、クライアント端末２０から構造化文書検索システム５０に対して、図１０に示す検索要求１００が与えられたものとする。この、検索要求１００は、問い合わせ式１０１を含む。この問い合わせ式１０１は、｛／／部品｝によりパス（ＸＰａｔｈ）「／／部品」を指定する。問い合わせ式１０１には、付加情報１０２が付されている。付加情報１０２は、（＃ｘｑｕｅｒｙ  ｉｄ＝１，２＃）により、ｉｄ（ＩＤ）＝１の問い合わせ式及びｉｄ（ＩＤ）＝２の問い合わせ式の実行を指定する。
【００６７】
このような付加情報１０２が付加された問い合わせ式１０１「（＃ｘｑｕｅｒｙ  ｉｄ  ＝１，２＃）｛／／部品｝」は、「／／部品」という問い合わせ式でヒットするＸＭＬ文書に埋め込まれている問い合わせ式のうち、ｉｄ（ＩＤ）が１または２の問い合わせ式だけ、その問い合わせ式を実行したい場合に用いられる。
【００６８】
さて、付加情報１０２が付加された問い合わせ式１０１がクライアント端末２０から構造化文書検索システム５０に与えられた場合、検索処理部５４（検索部５４１）は「／／部品」で指定される構造に一致するＸＭＬ文書、即ちクライアント端末２０からの検索要求の指定する検索条件に合致するＸＭＬ文書として、上記実施形態と同様にＸＭＬ文書３３を特定する。
【００６９】
特定されたＸＭＬ文書３３には、問い合わせ式３３０が埋め込まれている。この問い合わせ式３３０のｉｄ（ＩＤ）は１であり、付加情報１０２で指定されたｉｄ（ＩＤ）の集合｛１，２｝に含まれている。この場合、検索処理部５４（問い合わせ式実行部５４２）は問い合わせ式３３０を実行して、ＸＭＬ文書３２中の「＠番号（部品番号）」が「１２３」の部品の在庫数ノードの情報、即ち＜在庫数＞１００＜／在庫数＞を、当該問い合わせ式３３０の実行結果として取得する。
【００７０】
検索処理部５４（検索部５４１）は、図１０において矢印１０３で示されるように、ＸＭＬ文書３３中の問い合わせ式３３０が、当該問い合わせ式３３０の実行結果である「＜在庫数＞１００＜／在庫数＞」で置き換えられた新たなＸＭＬ文書３４を、クライアント端末２０からの検索要求に対する検索結果として取得する。このＸＭＬ文書３４が、クライアント端末２０からの検索要求に対する検索結果として当該クライアント端末２０に返される。
【００７１】
次に、クライアント端末２０から構造化文書検索システム５０に対して、図１０に示す検索要求１１０が与えられたものとする。この、検索要求１００は、問い合わせ式１１１を含む。この問い合わせ式１１１は、上記問い合わせ式１０１と同様に、｛／／部品｝によりパス（ＸＰａｔｈ）「／／部品」を指定する。問い合わせ式１１１には、付加情報１１２が付されている。付加情報１１２は、（＃ｘｑｕｅｒｙ  ｉｄ＝０＃）により、ｉｄ（ＩＤ）＝０の問い合わせ式の実行を指定する。
【００７２】
付加情報１１２が付加された問い合わせ式１１１がクライアント端末２０から構造化文書検索システム５０に与えられた場合、検索処理部５４（検索部５４１）は「／／部品」で指定される構造に一致するＸＭＬ文書して、付加情報１０２が付加された問い合わせ式１０１が与えられた場合と同様にＸＭＬ文書３３を特定する。
【００７３】
特定されたＸＭＬ文書３３には、問い合わせ式３３０が埋め込まれている。この問い合わせ式３３０のｉｄ（ＩＤ）は１であり、付加情報１１２で指定されたｉｄ（ＩＤ）の集合｛０｝に含まれていない。この場合、検索処理部５４は問い合わせ式３３０を実行せずに、図１０において矢印１１３で示されるように、ＸＭＬ文書３３中の問い合わせ式３３０が削除された新たなＸＭＬ文書３５を、クライアント端末２０からの検索要求に対する検索結果として取得する。
【００７４】
このように本変形例によれば、問い合わせ式が埋め込まれたＸＭＬ文書を対象とした検索時に、実行されるべき問い合わせ式の指定を受け付けることにより、上記実施形態よりも効率的な検索を行うことができる。
【００７５】
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。例えば、上記実施形態またはその変形例では、構造化文書としてＸＭＬ文書を例にとって説明したが、これに限るものではない。本発明は、例えば、ＳＧＭＬ（Standard Generalized Markup Language）文書のようなＸＭＬ文書以外の構造化文書にも同様に適用できる。
【００７６】
また、上記変形例では、実行されるべき問い合わせ式を指定する手段として、クライアント端末２０からの検索要求に含まれている問い合わせ式１０１（１１１）にＸＱｕｅｒｙのヒント情報である付加情報１０２（１１２）を付加している。しかし、ＸＱｕｅｒｙのヒント情報とは別のパラメータ等を用い、それを問い合わせ式１０１（１１１）とは独立にクライアント端末２０から構造化文書検索システム５０に渡すようにしても良い。
【００７７】
また、上記実施形態またはその変形例では、クライアント端末２０がネットワーク３０を介して構造化文書検索システム５０のデータベースサーバ１０に接続されている。しかし、クライアント端末２０が直接に構造化文書検索システム５０のデータベースサーバ１０に接続されていても構わない。また、クライアント端末２０上で動作するのと同様のアプリケーションがデータベースサーバ１０上で動作する構成とすることにより、当該データベースサーバ１０が有するキーボード、ディスプレイ等をクライアント端末２０のように用いても、つまりデータベースサーバ１０をクライアント端末に兼用しても構わない。
【００７８】
また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除しても良い。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施形態に係る構造化文書検索システムを含むクライアント−サーバシステムのハードウェア構成を示すブロック図。
【図２】図１に示される構造化文書検索システムの主として機能構成を示すブロック図。
【図３】従来から知られている一般的な構造の２つのＸＭＬ文書の例を示す図。
【図４】図２に示される構造インデックスファイルの一例を示す図。
【図５】問い合わせ式が埋め込まれたＸＭＬ文書の一例を示す図。
【図６】問い合わせ式が埋め込まれたＸＭＬ文書を含む２つのＸＭＬ文書から作成された構造インデックス管理部のデータ構造例を示す
【図７】同実施形態におけるＸＭＬ文書検索処理の手順を示すフローチャート。
【図８】同実施形態における検索処理の具体例を説明するための図。
【図９Ａ】同実施形態の変形例におけるＸＭＬ文書検索処理の手順を示すフローチャート。
【図９Ｂ】同実施形態の変形例におけるＸＭＬ文書検索処理の手順を示すフローチャート。
【図１０】同実施形態の変形例における検索処理の具体例を説明するための図。
【符号の説明】
【００８０】
１０…データベースサーバ、２０…クライアント端末、３０…ネットワーク、３１〜３５…ＸＭＬ文書、４０…外部記憶装置、４１…データベース管理プログラム、４２…ＸＭＬデータベース、５０…構造化文書検索システム、５１…データベース管理システム、５２…要求処理部、５３…格納処理部、５４…検索処理部、１０１，１１１，３３０…問い合わせ式、４２１…ＸＭＬ文書格納部、４２２…索引格納部、４２３…構造インデックスファイル、４２４…構造インデックス管理部、４２４ａ…構造テンプレート管理部、４２４ｂ…構造ポスティングエリア、５４１…検索部、５４２…問い合わせ式実行部、５４３…問い合わせ式判定部、５４４…置換部、５４５…削除部、５４６…ＩＤ取得部（問い合わせ式指定情報取得手段）、５４７…ＩＤ判定部（問い合わせ式実行判定手段）。
【図１】
2008140081.tif 000003
【図２】
2008140081.tif 000004
【図３】
2008140081.tif 000005
【図４】
2008140081.tif 000006
【図５】
2008140081.tif 000007
【図６】
2008140081.tif 000008
【図７】
2008140081.tif 000009
【図８】
2008140081.tif 000010
【図９Ａ】
2008140081.tif 000011
【図９Ｂ】
2008140081.tif 000012
【図１０】
2008140081.tif 000013