(57)【要約】【課題】  構造化データをその汎用性及び拡張性の高さを保ちつつ高速に検索・更新等を行うことを可能とする構造化データの格納方法を提供する。【解決手段】  テキストファイルである構造化データファイル１０１に構造化データを格納するとともに、構造化データの検索や更新等を高速化するために生成したインデックス情報をバイナリーファイルであるインデックスファイル１０２に格納する。専用構造化データ処理手段１０４は、外部機器側の汎用構造化データ処理手段１０３により構造化データファイル１０１の内容が更新された場合には、構造化データファイル１０１が更新されたことを検知し、更新された構造化データファイル１０１を解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いてインデックスファイル１０２を更新する機能を有する。【選択図】      図１
2007265383.tif 000002
【特許請求の範囲】
【請求項１】
本装置内の記憶媒体に格納された構造化データファイルの閲覧・更新が外部機器から行える構造化データ格納装置において、
構造化データを有する構造化データファイルを前記記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記記憶媒体に格納する格納手段と、
前記記憶媒体内の構造化データファイルが前記外部装置により更新されたか否かを検出する検出手段と、
前記検出手段が更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記格納手段によって前記記憶媒体におけるインデックスファイルを更新させるインデックス情報生成手段と、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索手段と、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成手段は、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成する手段であり、
前記検索手段は、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力する手段である、
ことを特徴とする構造化データ格納装置。
【請求項２】
構造化データを有する構造化データファイルを、本装置に着脱自在の第１の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを、本装置内に固定された第２の記憶媒体に格納する格納手段と、
前記第１の記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出手段と、
前記検出手段が更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記格納手段によって前記第２の記憶媒体におけるインデックスファイルを更新させるインデックス情報生成手段と、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索手段と、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成手段は、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成する手段であり、
前記検索手段は、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力する手段である、
ことを特徴とする構造化データ格納装置。
【請求項３】
構造化データを有する構造化データファイルを本装置に着脱自在の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記記憶媒体に格納する格納手段と、
前記記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出手段と、
前記検出手段が更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記格納手段によって前記記憶媒体におけるインデックスファイルを更新させるインデックス情報生成手段と、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索手段と、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成手段は、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成する手段であり、
前記検索手段は、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力する手段である、
ことを特徴とする構造化データ格納装置。
【請求項４】
内蔵する記憶媒体に格納された構造化データファイルの閲覧・更新が外部機器から行える構造化データ格納装置における構造化データ格納プログラムであって、
構造化データを有する構造化データファイルを前記記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記記憶媒体に格納する格納ステップと、
前記記憶媒体内の構造化データファイルが前記外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を構造化データ格納装置に実行させる構造化データ格納プログラムであり、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納プログラム。
【請求項５】
記憶媒体に構造化データファイルの格納を行う構造化データ格納装置における構造化データ格納プログラムであって、
構造化データを有する構造化データファイルを、構造化データ格納装置に着脱自在の第１の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを、前記構造化データ格納装置に固定された第２の記憶媒体に格納する格納ステップと、
前記第１の記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記第２の記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を構造化データ格納装置に実行させる構造化データ格納プログラムであり、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納プログラム。
【請求項６】
記憶媒体に構造化データファイルの格納を行う構造化データ格納装置における構造化データ格納プログラムであって、
構造化データを有する構造化データファイルを構造化データ格納装置に着脱自在の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記着脱自在の記憶媒体に格納する格納ステップと、
前記着脱自在の記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記着脱自在の記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を構造化データ格納装置に実行させる構造化データ格納プログラムであり、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納プログラム。
【請求項７】
内蔵する記憶媒体に格納された構造化データファイルの閲覧・更新が外部機器から行える構造化データ格納装置における構造化データ格納方法であって、
構造化データを有する構造化データファイルを前記記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記記憶媒体に格納する格納ステップと、
前記記憶媒体内の構造化データファイルが前記外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納方法。
【請求項８】
記憶媒体に構造化データファイルの格納を行う構造化データ格納装置における構造化データ格納方法であって、
構造化データを有する構造化データファイルを、構造化データ格納装置に着脱自在の第１の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを、前記構造化データ格納装置に固定された第２の記憶媒体に格納する格納ステップと、
前記第１の記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記第２の記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納方法。
【請求項９】
記憶媒体に構造化データファイルの格納を行う構造化データ格納装置における構造化データ格納方法あって、
構造化データを有する構造化データファイルを構造化データ格納装置に着脱自在の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記着脱自在の記憶媒体に格納する格納ステップと、
前記着脱自在の記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記着脱自在の記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）に代表される構造化されたデータのデータベースに対して、インデックス情報により高速な検索を実現するとともに、テキストファイルとして提供される構造化データを参照・編集することをも可能とする構造化データ格納装置、構造化データ格納プログラム、及び構造化データ格納方法に関するものである。
【背景技術】
【０００２】
汎用性・拡張性の高いデータ形式として、様々な分野においてＸＭＬ形式による構造化データとしてデータが管理されることが多い。ＸＭＬは文書をタグ付けするマークアップ言語の一種であり、データを構造化して表現できるとともに、視認性が高いという特徴がある。その一方で、データを高速に検索するためには、データの格納方法を工夫する必要がある。
【０００３】
特許第３５６００４３号公報では、ＸＭＬデータを表形式のテーブルに格納するＸＭＬデータの格納方法が提供されている。この方法では、ＸＭＬデータのスキーマ情報に基づいてエレメント毎に１つのテーブルを作成し、そのテーブルにエレメントの内容及び属性情報を格納するとともに、エレメントの出現順序情報及び親子関係情報をも格納している。
【特許文献１】特許第３５６００４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許第３５６００４３号公報によるＸＭＬデータの格納方法では、ＸＭＬの構造を保ちつつ表形式のテーブルにデータを格納することにより、高速に検索を行うことができる。また、スキーマ情報に基づいてテーブルを作成するため、自由な構造のＸＭＬデータを格納することができ、ＸＭＬの持つ拡張性の高さも失われない。しかし、検索のための専用の装置またはプログラム等が必要であるため、汎用性の高さが失われている。また、データを部分的に更新するための手段が提供されていない。
【０００５】
そこで本発明は、構造化データをその汎用性及び拡張性の高さを保ちつつ高速に検索・更新等を行うことを可能とする構造化データの格納装置、プログラム、及び方法を提供するとともに、その構造化データにアクセスして参照・編集を行うことを可能とする構造化データの格納装置、プログラム、及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、上記課題を解決するために本発明は、以下の装置、プログラム、及び方法を提供するものである。
（１）  本装置内の記憶媒体に格納された構造化データファイルの閲覧・更新が外部機器から行える構造化データ格納装置において、
構造化データを有する構造化データファイルを前記記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記記憶媒体に格納する格納手段と、
前記記憶媒体内の構造化データファイルが前記外部装置により更新されたか否かを検出する検出手段と、
前記検出手段が更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記格納手段によって前記記憶媒体におけるインデックスファイルを更新させるインデックス情報生成手段と、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索手段と、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成手段は、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成する手段であり、
前記検索手段は、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力する手段である、
ことを特徴とする構造化データ格納装置。
（２）  構造化データを有する構造化データファイルを、本装置に着脱自在の第１の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを、本装置内に固定された第２の記憶媒体に格納する格納手段と、
前記第１の記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出手段と、
前記検出手段が更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記格納手段によって前記第２の記憶媒体におけるインデックスファイルを更新させるインデックス情報生成手段と、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索手段と、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成手段は、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成する手段であり、
前記検索手段は、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力する手段である、
ことを特徴とする構造化データ格納装置。
（３）  構造化データを有する構造化データファイルを本装置に着脱自在の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記記憶媒体に格納する格納手段と、
前記記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出手段と、
前記検出手段が更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記格納手段によって前記記憶媒体におけるインデックスファイルを更新させるインデックス情報生成手段と、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索手段と、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成手段は、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成する手段であり、
前記検索手段は、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力する手段である、
ことを特徴とする構造化データ格納装置。
（４）  内蔵する記憶媒体に格納された構造化データファイルの閲覧・更新が外部機器から行える構造化データ格納装置における構造化データ格納プログラムであって、
構造化データを有する構造化データファイルを前記記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記記憶媒体に格納する格納ステップと、
前記記憶媒体内の構造化データファイルが前記外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を構造化データ格納装置に実行させる構造化データ格納プログラムであり、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納プログラム。
（５）  記憶媒体に構造化データファイルの格納を行う構造化データ格納装置における構造化データ格納プログラムであって、
構造化データを有する構造化データファイルを、構造化データ格納装置に着脱自在の第１の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを、前記構造化データ格納装置に固定された第２の記憶媒体に格納する格納ステップと、
前記第１の記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記第２の記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を構造化データ格納装置に実行させる構造化データ格納プログラムであり、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納プログラム。
（６）  記憶媒体に構造化データファイルの格納を行う構造化データ格納装置における構造化データ格納プログラムであって、
構造化データを有する構造化データファイルを構造化データ格納装置に着脱自在の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記着脱自在の記憶媒体に格納する格納ステップと、
前記着脱自在の記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記着脱自在の記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を構造化データ格納装置に実行させる構造化データ格納プログラムであり、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納プログラム。
（７）  内蔵する記憶媒体に格納された構造化データファイルの閲覧・更新が外部機器から行える構造化データ格納装置における構造化データ格納方法であって、
構造化データを有する構造化データファイルを前記記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記記憶媒体に格納する格納ステップと、
前記記憶媒体内の構造化データファイルが前記外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納方法。
（８）  記憶媒体に構造化データファイルの格納を行う構造化データ格納装置における構造化データ格納方法であって、
構造化データを有する構造化データファイルを、構造化データ格納装置に着脱自在の第１の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを、前記構造化データ格納装置に固定された第２の記憶媒体に格納する格納ステップと、
前記第１の記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記第２の記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納方法。
（９）  記憶媒体に構造化データファイルの格納を行う構造化データ格納装置における構造化データ格納方法あって、
構造化データを有する構造化データファイルを構造化データ格納装置に着脱自在の記憶媒体に格納すると共に、前記構造化データの検索のための情報であるインデックス情報を有するインデックスファイルを前記着脱自在の記憶媒体に格納する格納ステップと、
前記着脱自在の記憶媒体内の構造化データファイルが外部装置により更新されたか否かを検出する検出ステップと、
前記検出ステップが更新有りと検出した場合に、更新された構造化データファイルを解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いて前記着脱自在の記憶媒体におけるインデックスファイルを更新させるインデックス情報生成ステップと、
外部から指定される検索情報に応じて、前記構造化データの検索を前記インデックス情報に基づき行う検索ステップと、
を備え、
前記構造化データは階層構造の要素を備えた同一構成のデータ単位を複数有するものであり、各前記データ単位は各データ単位の最上位に位置する要素である基準要素と、その基準要素の下位に位置し検索対象となる要素である検索要素とを備えてなる構造化データであり、
前記インデックス情報は第１のインデックス構成要素と第２のインデックス構成要素とを備え、
前記第１のインデックス構成要素は、前記基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する各前記検索要素を特定する情報と、その各検索要素の内容情報とを関連付けて有する情報であり、
前記第２のインデックス構成要素は、前記検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記基準要素を特定するための前記基準要素を一意に識別する情報とを関連付けて有する情報であり、
前記インデックス情報生成ステップは、前記更新された構造化データファイルの解析を、前記更新された構造化データファイルの有する構造化データに含まれる基準要素を検出し、その検出した前記基準要素以下に存在する検索要素を検出して行い、新たな第１のインデックス構成要素と新たな第２のインデックス構成要素とを備えた前記新たなインデックス情報を生成するものであり、前記新たな第１のインデックス構成要素として、前記検出した基準要素を一意に識別する情報と、その一意に識別された該基準要素を備える前記構造化データを有する前記更新された構造化データファイルを特定する情報と、その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報と、該基準要素の下位に位置する前記検出した検索要素を特定する情報と、前記検出した検索要素の内容情報とを関連付けて有する情報を生成し、前記新たな第２のインデックス構成要素として、前記検出した検索要素を特定する情報と、その特定された該検索要素の内容情報と、その内容情報を有する該検索要素を備える前記検出した基準要素を特定するための前記検出した基準要素を一意に識別する情報とを関連付けて有する情報を生成するステップであり、
前記検索ステップは、前記外部から指定される検索情報に応じて、検索対象となる検索要素と、該検索対象となる検索要素の内容情報とを指定し、指定された前記検索対象となる検索要素を特定する情報と指定された前記内容情報に適合する検索要素の内容情報との組を前記第２のインデックス構成要素から抽出して、抽出された前記検索要素を特定する情報とその検索要素の内容情報との組に関連付けられている前記基準要素を特定するための前記基準要素を一意に識別する情報を前記第２のインデックス構成要素から抽出し、その抽出された前記基準要素を一意に識別する情報と同一の基準要素を一意に識別する情報と関連付けられている少なくとも一つの検索要素の内容情報を前記第１のインデックス構成要素から抽出して出力するステップである、
ことを特徴とする構造化データ格納方法。
【発明の効果】
【０００７】
本発明によれば、上述の構成を備えた構造化データを記憶する（例えばテキストファイルとして記憶する）と共に、構造化データに関する上述の構成を備えたインデックス情報を生成してそのインデックス情報を記憶する（例えばバイナリーファイルとして記憶する）ことにより、構造化データの汎用性及び拡張性の高さを保ちつつ、構造化データを高速に検索・更新等を行うことを可能とするという効果を得ることができる。
【発明を実施するための最良の形態】
【０００８】
図１は、本発明の構造化データ格納装置の概念を簡略的に示す図である。
図１において、本装置では、１つまたは複数のテキストファイルである構造化データファイル１０１に構造化データを格納するとともに、構造化データの検索や更新等を高速化するために生成したインデックス情報をバイナリーファイルであるインデックスファイル１０２に格納する。
【０００９】
外部機器側の汎用構造化データ処理手段１０３は、構造化データの汎用的なパーサー、汎用的な構造化データの汎用的なエディター、テキストエディター等で構成され、構造化データファイルの内容を参照・更新する機能を有する。
【００１０】
専用構造化データ処理手段１０４は、構造化データファイル１０１を解析してその構造化データに関するインデックス情報を生成し（専用構造化データ処理手段１０４が構造化データを生成する場合には、その構造化データ生成と同時に構造化データに関するインデックス情報を生成する、またはその構造化データ生成の直後にその構造化データを解析してインデックス情報を生成する）、インデックスファイル１０２に格納する機能、構造化データファイル１０１及びインデックスファイル１０２を利用して構造化データを検索・更新する機能等を有する。
【００１１】
また、専用構造化データ処理手段１０４は、外部機器側の汎用構造化データ処理手段１０３により構造化データファイル１０１の内容が更新された場合には、構造化データファイル１０１が更新されたことを検知し、更新された構造化データファイル１０１を解析してその構造化データファイルの有する構造化データに関する新たなインデックス情報を生成し、その新たなインデックス情報を用いてインデックスファイル１０２を更新する機能を有する。
［実施例］
次に、本発明の構造化データ格納装置を適用した一実施例について説明する。
＜実施例の構成＞
図２は構造化データ格納装置の一実施例を示す構成図である。本実施例は、ビデオカメラに適用したものであり、メタデータ管理に応用するものである。
【００１２】
ビデオカメラ２０１は、装置内固定型の記憶媒体であるハードディスク２０２を内蔵するものであり、動画の記録・再生等の通常のビデオカメラの機能を有するものである。レンズ、マイク等のビデオカメラとして必要な装置を備え、また、ＵＳＢインターフェース２０９を介して外部機器であるパソコン２１０と接続する機能を有する。
【００１３】
ハードディスク２０２は、動画データやその他の管理情報等を記録するための記憶装置である。
ビデオカメラ２０１により撮影された動画データは、動画ファイル２０３としてハードディスク２０２に記録される。動画ファイル２０３のフォーマットには、例えばＭＰＥＧ−２等を用いる。
【００１４】
動画データに関する構造化データであるメタデータは、テキストファイルであるＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイル２０４としてハードディスク２０２に記録される。メタデータは構造化されたＸＭＬデータであり、その内容としては例えばタイトル、撮影日時、ジャンル等が含まれる。
【００１５】
ＸＭＬデータに対して高速に検索・更新等の処理を行うために、インデックス情報がバイナリーファイルであるインデックスファイル２０５としてハードディスク２０２に記録される。このインデックスファイル２０５は、ハードディスク２０２内のパソコン２１０からは更新できない領域に格納する。なお、このインデックスファイル２０５をハードディスク２０２内のパソコン２１０から更新できる領域に格納する構成にしてもよいが、その場合には、本実施例を搭載する商品の取扱説明書等にパソコン側からインデックスファイル２０５を更新しないようにといった説明を記載した方がよい。
【００１６】
アプリケーションプログラム２０６は、ビデオカメラ２０１上で動作するプログラムであり、ビデオカメラ２０１全体の動作を制御する機能を有する。動画の記録・再生等のビデオカメラとしての通常の動作を制御するとともに、ＸＭＬファイルを新規作成するためのＸＭＬデータをＸＭＬＤＢプログラム２０７へ出力する機能、アプリケーションプログラム２０６によって生成される、またはユーザーインターフェース２０８より入力される動画に関するメタデータをＸＭＬＤＢプログラム２０７へ出力する機能、ユーザーインターフェース２０８より入力される検索条件を用いてＸＭＬＤＢプログラム２０７に対して検索を指示する機能、及びＸＭＬＤＢプログラム２０７より入力される動画に関するメタデータをユーザーインターフェースへ出力する機能を有する。
【００１７】
ＸＭＬＤＢプログラム２０７は、ＸＭＬに基づくデータベースとして動作するプログラムであり、動画に関するメタデータを管理するものである。ＸＭＬファイル２０４を新規作成する機能、ＸＭＬファイル２０４を解析してそのＸＭＬデータに関するインデックス情報を生成し、インデックスファイル２０５に格納する機能、及びアプリケーションプログラム２０６の指示によりＸＭＬファイル２０４及びインデックスファイル２０５に格納されているＸＭＬデータを検索・更新・追加する機能等を有する。
【００１８】
ユーザーインターフェース２０８は、液晶モニター及び複数個のキー等で構成される。ユーザーに動画データやメタデータ等を提示する機能、ユーザーからの撮影開始・停止等の指示を受ける機能、及びユーザーからのメタデータの表示、検索等の指示を受ける機能を有する。
【００１９】
ＵＳＢインターフェース２０９は、ＵＳＢケーブルによりパソコン２１０と接続するための端子である。ＵＳＢインターフェース２０９を介してビデオカメラ２０１とパソコン２１０が接続された場合に、パソコン２１０からハードディスク２０２に記録されているファイルを読み書きする機能を提供する。
【００２０】
パソコン２１０は、ＵＳＢ端子を備える通常のパソコンである。ＵＳＢケーブルを介してビデオカメラ２０１と接続されると、ビデオカメラ２０１に内蔵されているハードディスク２０２に記録されているファイルを読み書きすることができる。
【００２１】
ＸＭＬエディター２１１は、ＸＭＬファイルを読み書きするための汎用的なプログラムである。パソコン２１０とビデオカメラ２０２がＵＳＢケーブルによって接続されると、ユーザーはＸＭＬエディター２１１を利用してハードディスク２０２に記録されているＸＭＬファイル２０４を読み書きすることができる。なお、ＸＭＬエディター２１１の代わりに、汎用的なテキストエディターや、ビデオカメラの動画データに関するメタデータを読み書きすることに特化したプログラムを利用する構成にしても良い。
【００２２】
以上が本実施例の構成であるが、ＸＭＬファイル２０４をハードディスク２０２に記録し、ＵＳＢインターフェース２０９によりパソコン２１０と接続する代わりに、ＸＭＬファイルをＳＤメモリー等のビデオカメラと着脱自在な記憶媒体に記録し、ビデオカメラから取り外した記憶媒体をパソコンに備えられた読み書き装置に装着することにより、パソコンからＸＭＬファイルを読み書きすることが可能となるような構成にしてもよい。また、ＸＭＬファイル２０４と共にインデックスファイル２０５をもＳＤメモリー等の着脱自在な記憶媒体に記録するようにしても良い。この場合には、本実施例を搭載する商品の取扱説明書等にパソコンでインデックスファイル２０５を更新しないようにといった説明を記載した方がよい。
＜ＸＭＬ用語の説明＞
ここで、本実施例の構造化データであるＸＭＬデータで用いるＸＭＬの用語について簡単に説明する。
【００２３】
ＸＭＬでは、「＜」で始まり「＞」で終わるタグを用いてデータを構造化する。タグには開始タグ、終了タグ及び空要素タグの種類がある。開始タグと終了タグで囲まれたデータ単位及び空要素タグで表されたデータ単位をエレメントと呼ぶ。開始タグ及び空要素タグは、その内部にアトリビュートを記述することができる。また、タグの外側に存在するテキストデータの単位をテキストノードと呼ぶ。また、「＜！−−」で始まり「−−＞」で終わるタグで表されたデータ単位をコメントと呼ぶ。
【００２４】
ＸＭＬを構成するエレメント、アトリビュート、テキストノード、コメント等を総称してノードと呼ぶ。ＸＭＬには上記以外のノードの種類も存在するが、本発明の説明には不要であるため説明を省略する。
【００２５】
エレメントを構成する開始・終了タグの内側に存在するノードをそのエレメントの子孫ノードと呼ぶ。ただし、子孫ノードにはアトリビュートは含まれない。特に、そのエレメントの直下に存在するノードをそのエレメントの子ノードと呼ぶ。逆に、子ノードに対してそれが属するエレメントを親エレメントと呼ぶ。また、同一の親ノードを持つノード同士を兄弟ノードと呼ぶ。
＜インデックスファイルの構成＞
次に、インデックスファイル２０５の構成について説明する。
【００２６】
図３は、本実施例のインデックスファイルの概念的な構成図である。インデックスファイルは、概念的に、下位に位置するマップ層と上位に位置するデータベース層により構成される。
【００２７】
マップ層は、キーと値の組を関連付けるものである。キー及び値は文字列のデータである。マップ層の構造は、あるキーに関連付けられた値の検索、あるキーに関連付けられた値の更新、あるキーとそれに関連付けられた値の組の削除、及びキーの昇順または降順での値の順次取得等の処理が可能なものでなければならない。また、マップ名によってキーと値の組をグループ分けする、すなわちマップ名を指定することによりそのマップに属するキーと値の組に対してのみ検索等の各種処理を行うことが可能なものでなければならない。具体的な実現手段としては、Ｂ−Ｔｒｅｅ（平衡木；Ｂａｌａｎｃｅｄ  Ｔｒｅｅ）を用いる。あるいは、リレーショナルデータベースを用いても良い。
【００２８】
データベース層は、マップ層の機能を利用し、ＸＭＬデータに関するインデックス情報を構成するものである。データベース層は、ＸＭＬ文書ＩＤマップ、ＸＭＬ文書情報マップ、インデックス情報マップ、ベースエレメント値マップ、及び検索インデックスマップにより構成される。具体例は後述する図１６〜図１９に示す。
【００２９】
ＸＭＬ文書ＩＤマップは、ＸＭＬ文書のファイルパスをキーとし、ＸＭＬ文書を一意に識別するＸＭＬ文書ＩＤを値とするマップである。
ＸＭＬ文書情報マップは、ＸＭＬ文書ＩＤをキーとし、ＸＭＬ文書情報を値とするマップである。ＸＭＬ文書情報には、ファイルパス、ファイルサイズ、及びファイルの最終更新日時が含まれる。
【００３０】
インデックス情報マップは、ＸＭＬ文書のエレメントを特定するＸパスをキーとし、インデックス情報を値とするマップである。以下、キーとなるＸパスにより指定されるエレメントをベースエレメント（基準要素）と呼ぶ。インデックス情報には、ベースエレメントの子孫ノードのうち検索に使用するノード（以下、検索ノード（検索要素）と呼ぶ）を特定するベースエレメントからの相対パスが含まれる。なお、ベースエレメントを特定するＸパスは複数種類あってもよい。また、検索ノードを特定する相対パスはベースエレメントを特定するＸパス毎に指定し、１種類のベースエレメントに対して複数種類の相対パスを含めてもよい。相対パスは、対応するベースエレメント毎に、指定された順番で、０から始まる非負整数のＩＤで識別することにする。
【００３１】
ベースエレメント値マップ（第１のインデックス構成要素）は、ベースエレメントを一意に識別するノードＩＤ（基準要素を一意に識別する情報）をキーとし、ベースエレメント値を値とするマップである。ベースエレメント値には、そのベースエレメントを含むＸＭＬ文書のＸＭＬ文書ＩＤ（その一意に識別された該基準要素を備える構造化データを有する構造化データファイルを特定する情報）、そのベースエレメントのＸＭＬ文書中の位置を特定するポジションパス（その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報）、及びその子孫に存在する検索ノードのノード値（該基準要素の下位に位置する各検索要素を特定する情報と、その各検索要素の内容情報）が含まれる。なお、検索ノードのノード値は、対応する検索ノードの相対パスを識別するＩＤ（検索要素を特定する情報）とともにベースエレメント値に含める。
【００３２】
検索インデックスマップ（第２のインデックス構成要素）は、検索ノードのノード値（検索要素の内容情報）をキーとし、その検索ノードを子孫に持つベースエレメントのノードＩＤ（その内容情報を有する該検索要素を備える基準要素を一意に識別する情報）を値とするマップである。検索インデックスマップは、インデックス情報マップにおけるインデックス情報に含まれる検索ノードを特定する相対パス毎（検索要素を特定する情報毎）に１つずつ用意する。
＜ポジションパスの説明＞
次に、前記のベースエレメント値に含まれるポジションパスについて説明する。
【００３３】
ポジションパスは、ＸＭＬ文書中のノードを特定するための情報である。同様の機能を持つものにＸパスがあるが、Ｘパスよりも少ない情報量で高速に処理することを目的とする。Ｘパスが複数のノードを同時に指定することもできるのに対して、ポジションパスでは必ず１つのノードを特定する。
【００３４】
図４は、本実施例のポジションパスのフォーマットを関数形式で表記した図である。
ポジションパスは、まずＮｕｍＯｆＰｏｓｉｔｉｏｎｓフィールドから開始される。ＮｕｍＯｆＰｏｓｉｔｉｏｎｓフィールドは３２ビットの非負整数であり、後に続くＰｏｓｉｔｉｏｎフィールドの個数を指定する。
【００３５】
次に、ＮｕｍＯｆＰｏｓｉｔｉｏｎｓフィールドで指定した数だけＰｏｓｉｔｉｏｎフィールドが続く。Ｐｏｓｉｔｉｏｎフィールドは１６ビットの正数であり、あるエレメントの子供ノードのうちの１つを、そのノードが親エレメントの何番目の子供であるかという値で指定する。
【００３６】
ＮｕｍＯｆＰｏｓｉｔｉｏｎｓフィールドが０の場合、そのポジションパスで特定されるノードはルートエレメントである。
ＮｕｍＯｆＰｏｓｉｔｉｏｎｓフィールドが１以上の場合、最初のＰｏｓｉｔｉｏｎフィールド（Ｐｏｓｉｔｉｏｎ［０］）でルートエレメントの子供ノードの１つが指定される。さらに指定された子供ノードがエレメントの場合、次のＰｏｓｉｔｉｏｎフィールド（Ｐｏｓｉｔｉｏｎ［１］）でその子供ノードの１つが指定される。以下、同様にＰｏｓｉｔｉｏｎフィールドの数だけノードをたどって行き、最後のＰｏｓｉｔｉｏｎフィールド（Ｐｏｓｉｔｉｏｎ［ＮｕｍＯｆＰｏｓｉｔｉｏｎｓ−１］）で指定されるノードがそのポジションパスで特定されるノードである。なお、最後のＰｏｓｉｔｉｏｎフィールド以外のＰｏｓｉｔｉｏｎフィールドで指定されるノードは、必ずエレメントでなければならない。
【００３７】
なお、本実施例のポジションパスのフォーマットではアトリビュートを特定することはできないが、本実施例のポジションパスはベースエレメントを特定するためにのみ用いられるため、特に問題とはならない。
＜ＸＭＬファイル解析判断処理の流れ＞
次に、本実施例のＸＭＬＤＢプログラムによるＸＭＬファイル解析判断処理の流れについて説明する。
【００３８】
なお、ＸＭＬファイル解析判断処理は、アプリケーションプログラムからのＸＭＬデータの入力によりＸＭＬＤＢプログラムがＸＭＬファイルを新規作成した後や、ＵＳＢインターフェースによるビデオカメラとパソコンの接続が切断された後、また、ＳＤメモリー等の着脱自在な記憶媒体を使用する構成の場合にはその記憶媒体がビデオカメラに装着された後など、ＸＭＬファイルが更新された可能性があるときにＸＭＬＤＢプログラムによって行われる。アプリケーションプログラムがＸＭＬＤＢに解析するＸＭＬファイルのファイルパスを入力パラメーターとして渡すことにより、ＸＭＬファイル解析判断処理が行われる。
【００３９】
図５は、ＸＭＬＤＢプログラムによるＸＭＬファイル解析判断処理の流れを示す図である。
ＸＭＬファイル解析判断処理が開始される（Ｓ５０１）。
【００４０】
まず、解析するＸＭＬファイルのファイル属性を取得する（Ｓ５０２）。ここで取得するファイル属性は、ファイルサイズと最終更新時刻である。
次に、ＸＭＬ文書ＩＤマップに登録されているキーに、解析するＸＭＬファイルのファイルパスに一致するものが存在するか否かを判別する（Ｓ５０３）。解析するＸＭＬファイルのファイルパスに一致するものが存在する場合はステップＳ５０４へ進み、存在しない場合はステップＳ５０８へ進む。
【００４１】
ステップＳ５０４では、解析するＸＭＬファイルに対するＸＭＬ文書ＩＤを取得する。すなわち、ＸＭＬ文書ＩＤマップから、キーとなる解析するＸＭＬファイルのファイルパスに対応する値を取得する。
【００４２】
次に、ＸＭＬ文書情報マップよりＸＭＬ文書情報を取得する（Ｓ５０５）。すなわち、ＸＭＬ文書情報マップから、キーとなるステップＳ５０４で取得したＸＭＬ文書ＩＤに対応する値を取得する。ＸＭＬ文書情報には、前述のとおり、ファイルサイズと最終更新時刻が含まれる。
【００４３】
次に、ＸＭＬ文書に更新の可能性があるか否かを判別する（Ｓ５０６）。具体的には、ステップＳ５０２で取得したファイル属性に含まれるファイルサイズ及び最終更新時刻と、ステップＳ５０５で取得したＸＭＬ文書情報に含まれるファイルサイズ及び最終更新時刻とが完全に一致する場合のみＸＭＬ文書に更新の可能性がないと判断し、それ以外の場合は更新の可能性があると判断する。
【００４４】
ＸＭＬ文書に更新の可能性がある場合、ＸＭＬ文書情報マップを更新する（Ｓ５０７）。具体的には、ステップＳ５０４で取得したＸＭＬ文書ＩＤに対応するＸＭＬ文書情報のファイルサイズ及び最終更新時刻を、ステップＳ５０２で取得したファイル属性に含まれるファイルサイズ及び最終更新時刻に更新する。その後、Ｓ５１０へ進む。
【００４５】
ＸＭＬ文書に更新の可能性がない場合、終了ステップＳ５１１へ進む。
ステップＳ５０８では、ＸＭＬ文書ＩＤマップに解析するＸＭＬファイルに対するＸＭＬ文書ＩＤを登録する。具体的には、既存のＸＭＬ文書ＩＤと重複しないＩＤを生成し、解析するＸＭＬファイルのファイルパスをキーとし、生成したＸＭＬ文書ＩＤを値とするエントリーをＸＭＬ文書ＩＤマップに追加する。なお、ＸＭＬ文書ＩＤは正数であり、その生成方法としては、例えば既存のＩＤの最大値に１を加えたものを選べばよい。または、ＸＭＬ文書ＩＤのための初期値が１であるカウンターを別途用意し、カウンターの値をＸＭＬ文書ＩＤとして取得してからカウンターに１を加える処理を行うようにしてもよい。
【００４６】
次に、ＸＭＬ文書情報マップに、解析するＸＭＬファイルに対するＸＭＬ文書情報を登録する（Ｓ５０９）。具体的には、解析するＸＭＬファイルのファイルパス、及びステップＳ５０２で取得したファイルサイズと最終更新時刻によりＸＭＬ文書情報を生成し、ステップＳ５０８で生成したＸＭＬ文書ＩＤをキーとし、ここで生成したＸＭＬ文書情報を値とするエントリーをＸＭＬ文書情報マップに追加する。その後、ステップＳ５１０へ進む。
【００４７】
ステップＳ５１０では、ＸＭＬファイル解析処理を行う。このとき、入力パラメーターとして、解析するＸＭＬファイルのファイルパス、及びステップＳ５０４またはステップＳ５０８で得られたＸＭＬ文書ＩＤを渡す。
【００４８】
ＸＭＬファイル解析判断処理を終了する（Ｓ５１１）。
＜ＸＭＬファイル解析処理の流れ＞
次に、ＸＭＬファイル解析処理ステップＳ５１０におけるＸＭＬファイル解析処理の流れについて説明する。
【００４９】
図６は、ＸＭＬＤＢプログラムによるＸＭＬファイル解析処理の流れを示す図である。
ＸＭＬファイル解析処理を開始する（Ｓ６０１）。
入力パラメーターとして渡されたファイルパスにより特定されるＸＭＬファイルをＸＭＬパーサーにより解析する（Ｓ６０２）。ＸＭＬパーサーはＸＭＬＤＢプログラムの構成要素の一つであり、ＸＭＬファイルからデータを読み込み、読み込んだＸＭＬデータをノードに分解するＸＭＬパーサーとしての一般的な機能を持つものである。
【００５０】
次に、ＸＭＬパーサーにより解析されたＸＭＬデータに関して、変数ｎをルートエレメントとする（Ｓ６０３）。
次に、変数ｎの示すノードがベースエレメントであるか否かを判別する（Ｓ６０４）。判別には、ＸＭＬＤＢプログラムの初期設定として予め定められたベースエレメントを特定するＸパスを用いる。前記変数ｎの示すノードが前記Ｘパスに合致する場合に、前記変数ｎの示すノードがベースエレメントであると判断する。
【００５１】
変数ｎの示すノードがベースエレメントである場合、変数ｎの示すノードに対してベースエレメント解析処理を行う（Ｓ６０５）。このとき、入力パラメーターとして、ＸＭＬファイル解析処理の入力パラメーターであるファイルパスとＸＭＬ文書ＩＤ、及びステップＳ６０４で変数ｎの示すノードが合致したＸパス、すなわちベースエレメントを特定するＸパスを渡す。この後、変数ｎの示すノードの次に兄弟ノードがあるか否かの判別ステップＳ６０６へ進む。
【００５２】
変数ｎの示すノードがベースエレメントではない場合、変数ｎの示すノードが子ノードを持つか否かを判別する（Ｓ６０６）。
変数ｎの示すノードが子ノードを持つ場合、変数ｎを変数ｎの最初の子ノードとして（Ｓ６０７）、変数ｎの示すノードがベースエレメントか否かの判別ステップＳ６０４へ進む。
【００５３】
変数ｎの示すノードが子ノードを持たない場合、変数ｎの示すノードと同じ親エレメントを持つノード、すなわち変数ｎの示すノードの兄弟ノードのうち、変数ｎの示すノードの次に位置するノードが存在するか否かを判別する（Ｓ６０８）。すなわち、変数ｎの示すノードが、その親エレメントの子ノードのうち最後のノードであるか否かを判別する。
【００５４】
変数ｎの示すノードの次の兄弟ノードが存在する場合、変数ｎを変数ｎの次の兄弟ノードとして（Ｓ６０９）、変数ｎの示すノードがベースエレメントか否かの判別ステップＳ６０４へ進む。
【００５５】
変数ｎの示すノードの次の兄弟ノードが存在しない場合、変数ｎの示すノードがルートエレメントであるか否かを判別する（Ｓ６１０）。
変数ｎの示すノードがルートエレメントではない場合、変数ｎを変数ｎの親エレメントとして（Ｓ６１１）、変数ｎの示すノードの次に兄弟ノードが存在するか否かの判別ステップＳ６０８へ進む。
【００５６】
変数ｎの示すノードがルートエレメントである場合、ＸＭＬファイル解析処理を終了する（Ｓ６１２）。
＜ベースエレメント解析処理の流れ＞
次に、前記ベースエレメント解析処理ステップＳ６０６について詳細に説明する。
【００５７】
図７は、ＸＭＬＤＢプログラムによるベースエレメント解析処理の流れを示す図である。
ベースエレメント解析処理を開始する（Ｓ７０１）。
【００５８】
まず、インデックス情報マップより、処理対象のベースエレメントに対応するインデックス情報を取得する（Ｓ７０２）。具体的には、入力パラメーターのベースエレメントを特定するＸパスをキーとする値、すなわちインデックス情報をインデックス情報マップより取得する。
【００５９】
次に、ベースエレメントのノードＩＤを取得する（Ｓ７０３）。ノードＩＤは正数であり、既存のＩＤと重複しないＩＤを選択する。より具体的には、例えば、既存ＩＤの最大値に１を加えたものとすればよい。あるいは、ノードＩＤのための初期値が１であるカウンターを別途用意し、カウンターの値をノードＩＤとして取得してからカウンターに１を加える処理を行うようにしてもよい。
【００６０】
次に、ベースエレメントのポジションパスを作成する（Ｓ７０４）。
次に、ステップＳ７０３で取得したノードＩＤ、及びステップＳ７０４で作成したポジションパスからベースノード値を作成する（Ｓ７０５）。ここでは検索ノードのノード値は空にしておく。
【００６１】
次に、ステップＳ７０６から開始し、ステップＳ７１２で終了する処理を、入力パラメーターのベースエレメントを特定するＸパスにおける検索ノードを特定する相対パス毎に繰り返す。このとき、検索ノードを特定する相対パスはステップＳ７０２で取得したインデックス情報に含まれている。この処理を繰り返し（１）とする。
【００６２】
繰り返し（１）では、まず、処理対象の検索ノードを特定する相対パスにおいて、ベースエレメント以下のノードから相対パスに合致するノードを選択する（Ｓ７０７）。ここで、ベースエレメント以下のノードとは、ベースエレメントの子孫ノード、及びベースエレメントと子孫ノードのアトリビュートである。
【００６３】
次に、ステップＳ７０８から開始し、ステップＳ７１１で終了する処理を、ステップＳ７０７で選択されたノード毎に繰り返す。この処理を繰り返し（２）とする。
繰り返し（２）では、まず、繰り返し（１）における処理対象の検索ノードを特定する相対パスを識別するＩＤと、繰り返し（２）の処理対象のノードのノード値とを、ベースエレメント値に追加する（Ｓ７０９）。
【００６４】
次に、処理対象ノードのノード値とステップＳ７０３で取得したベースエレメントのノードＩＤを検索インデックスマップに登録する（Ｓ７１０）。具体的には、処理対象ノードのノード値をキーとし、ベースエレメントのノードＩＤを値とするエントリーを、繰り返し（１）における処理対象の検索ノードを特定する相対パスに対する検索インデックスマップに追加する。
【００６５】
繰り返し（２）を終了する（Ｓ７１１）。
繰り返し（１）を終了する（Ｓ７１２）。
次に、ステップＳ７０３で取得したベースエレメントのノードＩＤと、ステップＳ７０５で作成し、ステップＳ７０９で更新したベースエレメント値をベースエレメント値マップに登録する（Ｓ７１３）。具体的には、ベースエレメントのノードＩＤをキーとし、ベースエレメント値を値とするエントリーを、ベースエレメント値マップに追加する。
【００６６】
ベースエレメント解析処理を終了する（Ｓ７１４）。
＜検索処理の流れ＞
次に、本実施例のＸＭＬＤＢプログラムによる検索処理の流れを説明する。
【００６７】
検索処理は、アプリケーションプログラムからの指示によりＸＭＬＤＢプログラムが実行する。入力パラメーターとして、ベースエレメントを特定するＸパス、検索結果のノードを特定するベースエレメントからの相対パス、検索ノードを特定するベースエレメントからの相対パス、及び検索キーを渡す。検索結果として、ノードのリストがＸＭＬＤＢプログラムからアプリケーションプログラムへ返される。
【００６８】
図８は、ＸＭＬＤＢプログラムによる検索処理の流れを示す図である。
検索処理を開始する（Ｓ８０１）。
まず、インデックス情報マップより、入力パラメーターのベースエレメントを特定するＸパスに対応するインデックス情報を取得する（Ｓ８０２）。具体的には、入力パラメーターのベースエレメントを特定するＸパスをキーとする値、すなわちインデックス情報をインデックス情報マップより取得する。
【００６９】
次に、入力パラメーターのベースエレメントを特定するＸパスにおける入力パラメーターの検索ノードを特定する相対パスに対する検索インデックスマップから、入力パラメーターの検索キーをキーとする値、すなわちベースエレメントのノードＩＤを取得する（Ｓ８０３）。取得されるノードＩＤは０個の可能性もあるし、複数個の可能性もある。
【００７０】
次に、ステップＳ８０４から開始され、ステップＳ８１２で終了する処理を、ステップＳ８０３で取得したノードＩＤ毎に繰り返す。Ｓ８０３で取得したノードＩＤが０個の場合は、繰り返し処理を行わずにステップＳ８１４へ進む。
【００７１】
繰り返し処理では、まず、ベースエレメント値マップに処理対象のノードＩＤと同じノードＩＤのキーが存在するか否かを判別する（Ｓ８０５）。存在する場合はステップＳ８０６へ進む。存在しない場合はステップＳ８１５へ進む、すなわち、次の繰り返し処理へ進む、または最後の繰り返し処理の場合は繰り返しを終了する。
【００７２】
ステップＳ８０６では、ベースエレメント値マップから処理対象のノードＩＤをキーとする値、すなわちベースエレメント値を取得する。
次に、入力パラメーターの検索結果のノードを特定する相対パスが、ステップＳ８０２で取得したインデックス情報に含まれるか否かを判別する（Ｓ８０７）。含まれる場合はステップＳ８０８へ進み、含まれない場合はステップＳ８０９へ進む。
【００７３】
ステップＳ８０８では、ステップＳ８０６で取得したベースエレメント値より入力パラメーターの検索結果のノードを特定する相対パスで特定されるノードのノード値を取得する。具体的には、検索結果のノードを特定する相対パスがステップＳ８０２で取得したインデックス情報に含まれる順番により相対パスのＩＤを特定し、ベースエレメント値にその相対パスＩＤとともに含まれているノード値を取得する。なお、取得されるノード値は０個の可能性もあるし、複数個の可能性もある。この後、ステップＳ８１４へ進む。
【００７４】
ステップＳ８０９では、ステップＳ８０６で取得したベースエレメント値に含まれるＸＭＬ文書ＩＤとポジションパスを取得する。
次に、ＸＭＬ文書情報マップよりＸＭＬファイルのファイルパスを取得する（Ｓ８１０）。具体的には、ステップＳ８０９で取得したＸＭＬ文書ＩＤをキーとする値、すなわちファイルパスをＸＭＬ文書情報マップより取得する。
【００７５】
次に、ステップＳ８１０で取得したファイルパスにより特定されるＸＭＬファイルをＸＭＬパーサーにより解析する（Ｓ８１１）。
次に、ステップＳ８１１で解析されたＸＭＬデータから、ステップＳ８０９で取得したポジションパスで特定されるベースエレメントを選択する（Ｓ８１２）。なお、ここでは必ず１つのエレメントが選択される。
【００７６】
次に、ステップＳ８１２で選択されたベースエレメントに対して、入力パラメーターの検索結果のノードを特定する相対パスで特定されるノードのノード値を取得する（Ｓ８１３）。なお、取得されるノード値は０個の可能性もあるし、複数個の可能性もある。この後、ステップＳ８１４へ進む。
【００７７】
ステップＳ８１４では、ステップＳ８０８またはステップＳ８１３で取得したノード値を検索結果リストに追加する。なお、取得したノード値が０個の場合は何も行わない。
繰り返し処理を終了する（Ｓ８１５）。
【００７８】
検索処理を終了する（Ｓ８１６）。検索結果リストがＸＭＬＤＢプログラムからアプリケーションプログラムへ返される。
＜削除処理の流れ＞
次に、本実施例のＸＭＬＤＢプログラムによる削除処理の流れについて説明する。
【００７９】
削除処理は、アプリケーションプログラムからの指示によりＸＭＬＤＢプログラムが実行する。入力パラメーターとして、ベースエレメントを特定するＸパス、削除対象のノードを特定するベースエレメントからの相対パス、検索ノードを特定するベースエレメントからの相対パス、及び検索キーを渡す。
【００８０】
図９は、ＸＭＬＤＢプログラムによる削除処理の流れを示す図である。
削除処理を開始する（Ｓ９０１）。次のステップＳ８０２及びステップＳ８０３の処理は、図８のＸＭＬＤＢプログラムによる検索処理の流れを示す図におけるステップＳ８０２及びステップＳ８０３と同じである。
【００８１】
次に、ステップＳ９０４から開始し、ステップＳ９１６で終了する処理を、ステップＳ８０３で取得したベースエレメントのノードＩＤ毎に繰り返す。
ステップＳ８０６及びステップＳ８０９からＳ８１２の処理は、図８のＸＭＬＤＢプログラムによる検索処理の流れを示す図におけるステップＳ８０６及びステップＳ８０９からＳ８１２と同じである。
【００８２】
次に、ステップＳ８１２で選択したベースエレメント以下のノードにおいて、削除対象ノードの相対パスで特定されるノードをコメントで置換する（Ｓ９１３）。なお、ここではベースエレメント自体が置換される可能性もある。
【００８３】
次に、ステップＳ９１３で更新されたＸＭＬデータをステップＳ８１１で読み込んだファイルに上書きする（Ｓ９１４）。
次に、削除用のベースエレメント再解析処理を行う（Ｓ９１５）。ここでは、入力パラメーターとして、ステップＳ９１３においてベースエレメント自体が削除（より正確には置換）されたか否か、繰り返し処理の処理対象のベースエレメントのノードＩＤ、ステップＳ８０２で取得したインデックス情報、ステップＳ８０６で取得したベースエレメント値、ステップＳ８０９で取得したＸＭＬ文書ＩＤ、及びステップＳ８１２で取得したベースエレメントを渡す。
【００８４】
繰り返し処理を終了する（Ｓ９１６）。
削除処理を終了する（Ｓ９１７）。
＜削除用のベースエレメント再解析処理の流れ＞
次に、ステップＳ９１５の削除用のベースエレメント再解析処理について説明する。
【００８５】
図１０は、ＸＭＬＤＢプログラムによる削除用のベースエレメント再解析処理の流れを示す図である。
ベースエレメント再解析処理を開始する（Ｓ１００１）。
【００８６】
まず、削除処理においてベースエレメント自体が削除されたか否かを判別する（Ｓ１００２）。ベースエレメント自体が削除されたか否かは入力パラメーターにより判別できる。ベースエレメント自体が削除された場合はステップＳ１００３へ進み、それ以外の場合はステップＳ１００４へ進む。
【００８７】
ステップＳ１００３では、ベースエレメント値マップから入力パラメーターのベースエレメントのノードＩＤをキーとするエントリーを削除する。その後、ステップＳ１０１４へ進む。
【００８８】
ステップＳ１００４では、入力パラメーターのベースエレメント値からすべての相対パスＩＤとノード値を削除する。
ステップＳ７０６からステップＳ７１２は、図７のベースエレメント解析処理の流れを示す図におけるステップＳ７０６からステップＳ７１２と同じである。ただし、インデックス情報、ベースエレメント、ベースエレメントのノードＩＤ、及びベースエレメント値は、入力パラメーターのものを使用する。
【００８９】
次に、ベースエレメント値マップを更新する（Ｓ１０１３）。具体的には、ベースエレメント値マップにおける入力パラメーターのベースエレメントのノードＩＤをキーとする値を、入力パラメーターとして入力され、ステップＳ１００４からステップＳ７１２までの処理で更新されたベースエレメント値で更新する。その後、ステップＳ１０１４へ進む。
【００９０】
ステップＳ１０１４では、ＸＭＬ文書情報マップを更新する。具体的には、ＸＭＬ文書情報マップよりＸＭＬ文書ＩＤをキーとする値、すなわちＸＭＬ文書情報を取得し、取得したＸＭＬ文書情報に含まれるファイルパスの示すファイルのファイルサイズ及び最終更新時刻を取得し、取得したファイルサイズ及び最終更新時刻によりＸＭＬ文書情報を更新し、更新されたＸＭＬ文書情報でＸＭＬ文書情報マップの前記ＸＭＬ文書ＩＤをキーとする値を更新する。
【００９１】
削除用のベースエレメント再解析処理を終了する（Ｓ１０１５）。
＜更新処理の流れ＞
次に、本実施例のＸＭＬＤＢプログラムによる更新処理の流れについて説明する。
【００９２】
更新処理は、アプリケーションプログラムからの指示によりＸＭＬＤＢプログラムが実行する。入力パラメーターとして、ベースエレメントを特定するＸパス、更新対象のノードを特定するベースエレメントからの相対パス、更新に使用する新しいノード（以下、更新ノードと呼ぶ）、検索ノードを特定するベースエレメントからの相対パス、及び検索キーを渡す。
【００９３】
図１１は、ＸＭＬＤＢプログラムによる更新処理の流れを示す図である。
更新処理を開始する（Ｓ１１０１）。
ステップＳ８０２及びステップＳ８０３の処理は、図８のＸＭＬＤＢプログラムによる検索処理の流れを示す図におけるステップＳ８０２及びステップＳ８０３と同じである。
【００９４】
次に、ステップＳ１１０４から開始し、ステップＳ１１１６で終了する処理を、ステップＳ８０３で取得したベースエレメントのノードＩＤ毎に繰り返す。
ステップＳ８０６及びステップＳ８０９からＳ８１２の処理は、図８のＸＭＬＤＢプログラムによる検索処理の流れを示す図におけるステップＳ８０６及びステップＳ８０９からＳ８１２と同じである。
【００９５】
次に、ステップＳ８１２で選択したベースエレメント以下のノードにおいて、更新対象ノードの相対パスで特定されるノードを更新ノードで置換する（Ｓ１１１３）。なお、ベースエレメント自体が更新されることはないものとする。すなわち、入力パラメーターの更新対象のノードを特定するベースエレメントからの相対パスにおいて、ベースエレメント自体を示すような相対パスが指定されることはない。
【００９６】
ステップＳ９１４の処理は、図９のＸＭＬＤＢプログラムによる削除処理の流れを示す図におけるステップＳ９１４と同じである。
次に、更新用のベースエレメント再解析処理を行う（Ｓ１１１５）。ここでは、入力パラメーターとして、繰り返し処理の処理対象のベースエレメントのノードＩＤ、ステップＳ８０２で取得したインデックス情報、ステップＳ８０６で取得したベースエレメント値、ステップＳ８０９で取得したＸＭＬ文書ＩＤ、及びステップＳ８１２で取得したベースエレメントを渡す。
【００９７】
繰り返し処理を終了する（Ｓ１１１６）。
更新処理を終了する（Ｓ１１１７）。
＜更新用のベースエレメント再解析処理の流れ＞
次に、ステップＳ１１１５の更新用のベースエレメント再解析処理について説明する。
【００９８】
図１２は、ＸＭＬＤＢプログラムによる更新用のベースエレメント再解析処理の流れを示す図である。
ベースエレメント再解析処理を開始する（Ｓ１２０１）。
【００９９】
ステップＳ１００４、Ｓ７０６からＳ７１２、Ｓ１０１３及びＳ１０１４の処理は、図１０の削除用のベースエレメント再解析処理の流れを示す図におけるステップＳ１００４、Ｓ７０６からＳ７１２、Ｓ１０１３及びＳ１０１４と同じである。
【０１００】
ベースエレメント再解析処理を終了する（Ｓ１２１５）。
＜追加処理の流れ＞
次に、本実施例のＸＭＬＤＢプログラムによる追加処理の流れについて説明する。
【０１０１】
追加処理は、アプリケーションプログラムからの指示によりＸＭＬＤＢプログラムが実行する。入力パラメーターとして、追加対象のＸＭＬファイルを特定するファイルパス、追加対象のノードを特定するＸパス、追加対象ノードに対して追加する位置を示すフラグ、及び追加に使用する新しいノード（以下、追加ノードと呼ぶ）を渡す。
【０１０２】
前記の追加対象ノードに対して追加する位置を示すフラグとは、追加ノードを追加対象ノードの最後の子ノードとして追加するか（この場合、追加対象ノードはエレメントでなければならない）、あるいは追加対象ノードの直前の兄弟ノードとして追加するかを示すフラグである。
【０１０３】
図１３は、ＸＭＬＤＢプログラムによる追加処理の流れを示す図である。
追加処理を開始する（Ｓ１３０１）。
ステップＳ５０３、Ｓ５０４、Ｓ５０８及びＳ５０９の処理は、図５のＸＭＬファイル解析判断処理の流れを示す図におけるステップＳ５０３、Ｓ５０４、Ｓ５０８及びＳ５０９と同じである。ただし、ステップＳ５０４の後、及びステップＳ５０９の後はステップＳ１３１０へ進む。
【０１０４】
ステップＳ１３１０では、入力パラメーターのファイルパスで特定されるファイルをＸＭＬパーサーで解析する。
次に、ステップＳ１３１０で解析されたＸＭＬデータから入力パラメーターの追加対象のノードを特定するＸパスによって特定されるノードを選択する（Ｓ１３１１）。なお、選択されるノードは１つになるものとする。すなわち、入力パラメーターのＸパスは１つのノードを特定するようなものであるとする。
【０１０５】
次に、ステップＳ１３１１で選択された追加対象ノードに対して、入力パラメーターの追加位置を示すフラグにより指定される位置に、入力パラメーターの追加ノードを追加する（Ｓ１３１２）。
【０１０６】
次に、追加ノード解析処理を行う（Ｓ１３１３）。ここでは、入力パラメーターとして、ステップＳ５０４で取得した、またはステップＳ５０８で作成したＸＭＬ文書ＩＤ、及びステップＳ１３１２で追加した追加後の追加ノードを渡す。
【０１０７】
追加処理を終了する（Ｓ１３１４）。
＜追加ノード解析処理の流れ＞
次に、ステップＳ１３１３の追加ノード解析処理について説明する。
【０１０８】
図１４は、ＸＭＬＤＢプログラムによる追加ノード解析処理の流れを示す図である。
追加ノード解析処理を開始する（Ｓ１４０１）。
次に、変数ｎを入力パラメーターの追加ノードとする（Ｓ１４０３）。
【０１０９】
ステップＳ６０４からＳ６０９及びＳ６１１の処理は、図６のＸＭＬファイル解析処理の流れを示す図におけるステップＳ６０４からＳ６０９及びＳ６１１と同じである。ただし、ステップＳ６０８でｎの次に兄弟ノードは存在しないと判断された場合はステップＳ１４１０へ進む。
【０１１０】
ステップＳ１４１０では、ｎが追加ノードであるか否かの判別処理を行う。ｎが追加ノードではないと判断された場合はステップＳ６１１へ進み、ｎが追加ノードであると判断された場合はステップＳ１４１２へ進む。
【０１１１】
ステップＳ１４１２では、ＸＭＬ文書情報マップを更新する。具体的には、ＸＭＬ文書情報マップより入力パラメーターのＸＭＬ文書ＩＤをキーとする値、すなわちＸＭＬ文書情報を取得し、取得したＸＭＬ文書情報に含まれるファイルパスの示すファイルのファイルサイズ及び最終更新時刻を取得し、取得したファイルサイズ及び最終更新時刻によりＸＭＬ文書情報を更新し、更新されたＸＭＬ文書情報でＸＭＬ文書情報マップの前記ＸＭＬ文書ＩＤをキーとする値を更新する。
【０１１２】
追加ノード解析処理を終了する（Ｓ１４１３）。
＜ＸＭＬデータの具体例＞
次に、ＸＭＬデータの具体例を用いて、本実施例の各処理をより具体的に説明する。
【０１１３】
図１５は、本実施例におけるＸＭＬデータの具体例である。ただし、左側に縦に並ぶ数字は説明の便宜のために記した行番号であり、実際のＸＭＬデータには含まれない。
本ＸＭＬデータ例は、全体が「ＳＤＶｉｄｅｏ」という名前のエレメントになっており、これが本ＸＭＬデータ例のルートエレメントである。各ＸＭＬファイルには、１つのルートエレメントから成るＸＭＬデータが格納される。
【０１１４】
２行目から６行目や７行目から１１行目等の「Ｍｏｖｉｅ」という名前のエレメントに、ビデオカメラに格納される１つの動画ファイルに対応するメタデータが格納される。具体的には、Ｍｏｖｉｅエレメント以下に動画ファイルを識別するＩＤ（ｉｄアトリビュート）、イベント種別（Ｅｖｅｎｔエレメント）、画質（Ｑｕａｌｉｔｙエレメント）、撮影日時（Ｄａｔｅエレメント）等のデータが格納される。本実施例では、このように同一構造のＸＭＬデータの断片（以下、ＸＭＬデータ単位と呼ぶ）が複数存在するようなＸＭＬデータを格納する。なお、本ＸＭＬデータ例ではＸＭＬデータ単位は１種類であるが、ＸＭＬデータの中に複数種類のＸＭＬデータ単位が存在してもよい。
【０１１５】
ＸＭＬデータ単位の最上位に位置するＭｏｖｉｅエレメントが、本実施例のベースエレメントに相当するものである。ベースエレメントを特定するＸパスは“／ＳＤＶｉｄｅｏ／Ｍｏｖｉｅ”となる。
【０１１６】
動画ファイルに対するイベント種別、画質等のメタデータを対象として検索等の処理を行うため、それらのデータを格納するノードが検索ノードとなる。例えば、イベント種別を格納するノードは厳密にはＥｖｅｎｔエレメントの子ノードであるテキストノードであり、検索ノードを特定するベースエレメントからの相対パスは“Ｅｖｅｎｔ／ｔｅｘｔ（）”となる。また、画質を格納するノードは厳密にはＱｕａｌｉｔｙエレメントの子ノードであるテキストノードであり、検索ノードを特定するベースエレメントからの相対パスは“Ｑｕａｌｉｔｙ／ｔｅｘｔ（）”となる。また、動画ファイルを識別するＩＤを格納するノードはｉｄアトリビュートであり、検索ノードを特定するベースエレメントからの相対パスは“＠ｉｄ”となる。前記インデックスファイルにおける検索インデックスマップは、これらの検索ノードを特定する相対パス毎に１つずつ用意する。
【０１１７】
例えば、前記検索処理において、イベント種別が“１１”である動画のＩＤを取得する場合には、検索処理の入力パラメーターとして、ベースエレメントを特定するＸパス“／ＳＤＶｉｄｅｏ／Ｍｏｖｉｅ”、検索結果のノードを特定するベースエレメントからの相対パス“＠ｉｄ”、検索ノードを特定するベースエレメントからの相対パス“Ｅｖｅｎｔ／ｔｅｘｔ（）”、及び検索キー“１１”を渡す。
【０１１８】
例えば、前記削除処理において、画質が“１”である動画のメタデータ全体を削除する場合には、削除処理の入力パラメーターとしてベースエレメントを特定するＸパス“／ＳＤＶｉｄｅｏ／Ｍｏｖｉｅ”、削除対象のノードを特定するベースエレメントからの相対パス“．”（ベースエレメントそのものを表す）、検索ノードを特定するベースエレメントからの相対パス“Ｑｕａｌｉｔｙ／ｔｅｘｔ（）”、及び検索キー“１”を渡す。削除対象のノードは、図１５の１２行目にあるようなコメントで置換される。
【０１１９】
例えば、前記更新処理において、動画ファイルを識別するＩＤが“００１−００１”である動画のイベント種別を“３４”に更新する場合には、更新処理の入力パラメーターとして、ベースエレメントを特定するＸパス“／ＳＤＶｉｄｅｏ／Ｍｏｖｉｅ”、更新対象のノードを特定するベースエレメントからの相対パス“Ｅｖｅｎｔ／ｔｅｘｔ（）”、更新ノード（ノード値が“３４”であるテキストノード）、検索ノードを特定するベースエレメントからの相対パス“＠ｉｄ”、及び検索キー“００１−００１”を渡す。
【０１２０】
例えば、前記追加処理において、図１５のＸＭＬデータの末尾に新たな動画ファイルのメタデータを追加する場合には、まず新たな動画ファイルのメタデータを含むＭｏｖｉｅエレメントを最上位ノードとするＸＭＬデータを作成し（これが追加ノードとなる）、追加処理の入力パラメーターとして、追加対象のＸＭＬファイルを特定するファイルパス（図１５のＸＭＬデータが格納されているＸＭＬファイルのファイルパス）、追加対象のノードを特定するＸパス“／ＳＤＶｉｄｅｏ”、追加対象ノードに対して追加する位置を示すフラグ（最後の子ノードを示すフラグ）、及び追加ノード（新たな動画ファイルのメタデータを含むＸＭＬデータ）を渡す。
【０１２１】
また、例えば、前記追加処理において、図１５のＸＭＬデータの１３行目から始まるＸＭＬデータ単位の前に新たな動画ファイルのメタデータを追加する場合には、まず新たな動画ファイルのメタデータを含むＭｏｖｉｅエレメントを最上位ノードとするＸＭＬデータを作成し（これが追加ノードとなる）、追加処理の入力パラメーターとして、追加対象のＸＭＬファイルを特定するファイルパス（図１５のＸＭＬデータが格納されているＸＭＬファイルのファイルパス）、追加対象のノードを特定するＸパス“／ＳＤＶｉｄｅｏ／Ｍｏｖｉｅ［＠ｉｄ＝‘００１−００３’］”、追加対象ノードに対して追加する位置を示すフラグ（直前の兄弟ノードを示すフラグ）、及び追加ノード（新たな動画ファイルのメタデータを含むＸＭＬデータ）を渡す。
＜まとめ＞
以上の構成により、ビデオカメラのメタデータをＸＭＬによる構造化されたデータとして管理することが可能となる。
【０１２２】
また、本発明は、上記した実施例の機能をデータ格納装置に実現させるためのプログラムを含むものである。これらのプログラムは、記録媒体から読みとられてデータ格納装置に取り込まれてもよいし、通信ネットワークを介して伝送されてデータ格納装置に取り込まれてもよい。
＜インデックスファイルの詳細＞
次に、インデックスファイルの図３で説明したデータベース層の構成について、より詳細に説明する。
【０１２３】
図１６は、ＸＭＬ文書ＩＤマップ及びＸＭＬ文書情報マップの構成図である。
ＸＭＬ文書ＩＤマップ１６０１は、ＸＭＬ文書のファイルパスをキーとし、ＸＭＬ文書ＩＤを値とするマップである。図１６の例においては、ファイルパス“ｆｉｌｅ１．ｘｍｌ”に対してＩＤ：１、ファイルパス“ｆｉｌｅ２．ｘｍｌ”に対してＩＤ：２がそれぞれ割り当てられている。
【０１２４】
ＸＭＬ文書情報マップ１６０２は、ＸＭＬ文書ＩＤをキーとし、ファイルパス、ファイルサイズ、及びファイルの最終更新日時からなるＸＭＬ文書情報を値とするマップである。図１６の例においては、ＩＤ：１に対してＸＭＬファイル１６０３の情報が、またＩＤ：１に対してＸＭＬファイル１６０４の情報がそれぞれ割り当てられている。
【０１２５】
図１７は、インデックス情報マップの構成図である。
インデックス情報マップ１７０１は、ベースエレメントのＸパスをキーとし、インデックス情報を値とするマップである。図１７の例においては、インデックス情報マップに２つのレコードがあり、それぞれベースエレメント及び検索ノードの構成１７０２及び１７０３で示される構成のインデックス情報を格納している。
【０１２６】
ベースエレメント及び検索ノードの構成１７０２に示される構成のインデックス情報においては、ルートエレメントがＳＤＶｉｄｅｏ、ベースエレメントがＭｏｖｉｅであり、ベースエレメントのＸパスは“／ＳＤＶｉｄｅｏ／Ｍｏｖｉｅ”となる。検索ノードはＭｏｖｉｅエレメントのｉｄアトリビュート、及びＥｖｅｎｔ、Ｑｕａｌｉｔｙ、Ｄａｔｅの各エレメントの子ノードとなるテキストノードであり、それらのベースエレメントＭｏｖｉｅからの相対パスがインデックス情報に含まれる。
【０１２７】
ベースエレメント及び検索ノードの構成１７０３についても同様である。
図１８は、ベースエレメント値マップ（第１のインデックス構成要素）の構成図である。
【０１２８】
ベースエレメント値マップ１８０１は、ベースエレメントのノードＩＤ（基準要素を一意に識別する情報）をキーとし、ＸＭＬ文書ＩＤ（その一意に識別された該基準要素を備える構造化データを有する構造化データファイルを特定する情報）、ポジションパス（その特定された該構造化データファイルの有する該構造化データにおける該基準要素の位置を特定する情報）、各検索ノードのノード値（該基準要素の下位に位置する各検索要素を特定する情報と、その各検索要素の内容情報）からなるベースエレメント値を値とするマップである。図１８は、ＸＭＬデータ１８０２のＭｏｖｉｅエレメントをベースエレメントとする例であり、ベースエレメント値マップ１８０１の各レコードがＸＭＬデータ１８０２の各ベースエレメントに対応するベースエレメント値を格納する。
【０１２９】
図１９は、検索インデックスマップ（第２のインデックス構成要素）の構成図である。
検索インデックスマップ１９０１は、検索ノードのノード値（検索要素の内容情報）をキーとし、そのノード値を持つ検索ノードを子孫に持つベースエレメントのノードＩＤ（その内容情報を有する該検索要素を備える基準要素を一意に識別する情報）を値とするマップである。図１９は検索要素を特定する情報（Ｅｖｅｎｔ）により検索ノードがＥｖｅｎｔとして特定されるＥｖｅｎｔエレメント（正確にはＥｖｅｎｔエレメントの子ノードであるテキストノード）についての例であり、１種類のキーに対して１つまたは複数の値が格納されている。値に格納されているベースエレメントのノードＩＤは、ベースエレメント値マップ１９０２のキーに格納されているノードＩＤに対応する。
＜本発明の応用例＞
次に、実施例の具体的な応用例について説明する。
【０１３０】
図２０は、一実施例を適用した構造化データ格納装置をビデオカメラに応用する例における、ビデオカメラの液晶モニターに表示されるイベント一覧画面の例である。
本応用例では、利用者が撮影を開始する前にイベント登録のためのメニュー操作を行うと、図２０のように予め機器内に記憶されている「子供」「運動会」等のイベントの一覧が表示される。イベント名の代わりに、イベントの種類を示すアイコン等を表示してもよい。
【０１３１】
利用者が任意のイベントを選択すると、選択されたイベントが機器内に記憶される。その後、利用者が撮影を行うと、撮影された動画の属性情報のひとつとして選択されたイベントのＩＤが本発明の構造化データ格納装置に格納される。
【０１３２】
次に、利用者が撮影した動画を視聴するときには、利用者がイベント選択のためのメニュー操作を行うと、図２０のように「子供」「運動会」等のイベントの一覧が表示される。
【０１３３】
利用者が任意のイベントを選択すると、本発明の構造化データ格納装置において選択されたイベントのＩＤを持つ動画を検索し、検索結果として取得された動画のサムネイル（代表画像）を図２１のように一覧で表示される。利用者が表示された動画サムネイルの一覧から任意の動画を選択すると、選択された動画の再生が開始される。
【図面の簡単な説明】
【０１３４】
【図１】本発明の構造化データ格納装置の概念を簡略的に示す図である。
【図２】本発明の構造化データ格納装置の一実施例を示す構成図である。
【図３】一実施例におけるインデックスファイルの概念的な構成図である。
【図４】一実施例におけるポジションパスのフォーマットを関数形式で表記した図である。
【図５】一実施例におけるＸＭＬＤＢプログラムによるＸＭＬファイル解析判断処理の流れを示す図である。
【図６】一実施例におけるＸＭＬＤＢプログラムによるＸＭＬファイル解析処理の流れを示す図である。
【図７】一実施例におけるＸＭＬＤＢプログラムによるベースエレメント解析処理の流れを示す図である。
【図８】一実施例におけるＸＭＬＤＢプログラムによる検索処理の流れを示す図である。
【図９】一実施例におけるＸＭＬＤＢプログラムによる削除処理の流れを示す図である。
【図１０】一実施例におけるＸＭＬＤＢプログラムによる削除用のベースエレメント再解析処理の流れを示す図である。
【図１１】一実施例におけるＸＭＬＤＢプログラムによる更新処理の流れを示す図である。
【図１２】一実施例におけるＸＭＬＤＢプログラムによる更新用のベースエレメント再解析処理の流れを示す図である。
【図１３】一実施例におけるＸＭＬＤＢプログラムによる追加処理の流れを示す図である。
【図１４】一実施例におけるＸＭＬＤＢプログラムによる追加ノード解析処理の流れを示す図である。
【図１５】一実施例におけるＸＭＬデータの具体例である。
【図１６】一実施例におけるＸＭＬ文書ＩＤマップ及びＸＭＬ文書情報マップの構成図である。
【図１７】一実施例におけるインデックス情報マップの構成図である。
【図１８】一実施例におけるベースエレメント値マップの構成図である。
【図１９】一実施例における検索インデックスマップの構成図である。
【図２０】実施例の応用例におけるイベント一覧画面の例である。
【図２１】実施例の応用例における動画一覧画面の例である。
【符号の説明】
【０１３５】
１０１  ＸＭＬファイル
１０２  インデックスファイル
１０３  汎用ＸＭＬ処理手段
１０４  専用ＸＭＬ処理手段
２０１  ビデオカメラ
２０２  ハードディスク
２０３  動画ファイル
２０４  ＸＭＬファイル
２０５  インデックスファイル
２０６  アプリケーションプログラム
２０７  ＸＭＬＤＢプログラム
２０８  ユーザーインターフェース
２０９  ＵＳＢインターフェース
２１０  パソコン
２１１  ＸＭＬエディター
１６０１  ＸＭＬ文書ＩＤマップ
１６０２  ＸＭＬ文書情報マップ
１６０３  ＸＭＬファイル
１６０４  ＸＭＬファイル
１７０１  インデックス情報マップ
１７０２  ベースエレメント及び検索ノードの構成
１７０３  ベースエレメント及び検索ノードの構成
１８０１  ベースエレメント値マップ
１８０２  ＸＭＬデータ
１９０１  検索インデックスマップ
１９０２  ベースエレメント値マップ
【図１】
2007265383.tif 000003
【図２】
2007265383.tif 000004
【図３】
2007265383.tif 000005
【図４】
2007265383.tif 000006
【図５】
2007265383.tif 000007
【図６】
2007265383.tif 000008
【図７】
2007265383.tif 000009
【図８】
2007265383.tif 000010
【図９】
2007265383.tif 000011
【図１０】
2007265383.tif 000012
【図１１】
2007265383.tif 000013
【図１２】
2007265383.tif 000014
【図１３】
2007265383.tif 000015
【図１４】
2007265383.tif 000016
【図１５】
2007265383.tif 000017
【図１６】
2007265383.tif 000018
【図１７】
2007265383.tif 000019
【図１８】
2007265383.tif 000020
【図１９】
2007265383.tif 000021
【図２０】
2007265383.tif 000022
【図２１】
2007265383.tif 000023