(57)【要約】【課題】  複数のタグ付きドキュメントを統合した場合に、各ドキュメントにおいて共通な情報が有効でなくなってしまうことを可及的に防止する【解決手段】  複数のタグ付きドキュメント１０１をマージするに際し、共通ヘッダ部１０２や共通フッタ部１０６を検索し、ボディ部１０４の個々のデータに共通なデータを生成する。そして、マージした複数のタグ付きドキュメント１０１を出力する場合に、共通ヘッダ部１０２の出力では、前記共通なデータに識別子を付加してこれらを並列に出力する。また、ボディ部１０４の出力では、ボディ部１０４の個々のデータを出力するのと同時に、そのボディ部１０４のデータに対応する前記共通なデータまたはその共通なデータへリンクするためのリンク情報を出力する。さらに、共通フッタ部１０６の出力では、前記共通なデータに識別子を付加してこれらを並列に出力する。【選択図】  図１
2005339027.tif 000002
【特許請求の範囲】
【請求項１】
タグ付きドキュメントのヘッダ部及びボディ部に、これらヘッダ部及びボディ部が属しているタグ付きドキュメントを識別可能にするための識別タグを付加する識別情報付加手段と、
前記識別情報付加手段により識別タグが付加された複数のタグ付きドキュメントを統合する統合手段とを有することを特徴とするデータ処理装置。
【請求項２】
複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージするデータ処理装置であって、
前記複数のタグ付きドキュメントを入力する入力手段と、
前記タグ付きドキュメント入力手段により入力されたタグ付きドキュメントをパースするパース手段と、
特定の情報をもつタグの種類を記憶するタグ記憶手段と、
前記パース手段によりパースされたデータから、前記タグ記憶手段に記憶された種類のタグによって表現されるタグデータを取得するタグデータ取得手段と、
前記タグデータの情報と関連のある前記タグ付きドキュメント内の対象データの種類を記憶する対象データ記憶手段と、
前記パース手段によりパースされたデータから、前記対象データ記憶手段に記憶された種類の対象データを取得するタグ対象データ取得手段と、
前記タグデータ取得手段により取得されたタグデータと、前記タグ対象データ取得手段により取得された対象データとを関連付ける情報を、前記複数のタグ付きドキュメントのそれぞれに付加して、前記複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージするドキュメント生成手段とを有することを特徴とするデータ処理装置。
【請求項３】
前記パース手段は、前記パースしたデータを記憶媒体に記憶させることを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記特定の情報をもつタグの種類を設定するタグ設定手段と、
前記タグ設定手段により設定された種類のタグによって表現されるタグデータと関連のある前記タグ付きドキュメント内の対象データの種類を設定する対象データ設定手段とを有し、
前記タグ設定手段によって、前記タグ記憶手段に、前記特定の情報をもつタグの種類が記憶され、
前記対象データ設定手段によって、前記対象データ記憶手段に、前記対象データの種類が記憶されることを特徴とする請求項２又は３に記載のデータ処理装置。
【請求項５】
前記タグ記憶手段は、著作権情報を示すタグを記憶し、
前記ドキュメント生成手段は、前記タグ記憶手段に記憶されたタグによって表現される著作権情報を、前記タグデータに付加して出力することを特徴とする請求項２〜４の何れか１項に記載のデータ処理装置。
【請求項６】
前記リンク情報を取得するリンク情報取得手段と、
前記リンク情報取得手段により取得されたリンク情報に基づいて、前記タグ付きドキュメント中の付加情報を取得する付加情報取得手段と
前記ドキュメント生成手段により出力された対象データとともに、前記付加情報取得手段により取得された付加情報を表示する表示手段とを有することを特徴とする請求項２〜５の何れか１項に記載のデータ処理装置。
【請求項７】
前記タグデータは、著作権者に関する著作権者情報を含み、前記対象データは、前記著作権者により撮影された画像データを含み、
前記タグデータ記憶手段は、前記著作権者を示すタグを記憶し、
前記対象データ記憶手段は、前記撮影された画像データを示すタグを記憶し、
前記著作権者情報に基づいて、前記タグ付きドキュメント中の撮影者の情報を取得する撮影者情報取得手段と、
前記ドキュメント生成手段により出力された画像データとともに、前記撮影者情報取得手段により取得された撮影者の情報を表すアイコンデータを表示する表示手段とを有することを特徴とする請求項２〜５の何れか１項に記載のデータ処理装置。
【請求項８】
タグ付きドキュメントのヘッダ部及びボディ部に、これらヘッダ部及びボディ部が属しているタグ付きドキュメントを識別可能にするための識別タグを付加する識別情報付加ステップと、
前記識別情報付加ステップにより識別タグが付加された複数のタグ付きドキュメントを統合する統合ステップとを有することを特徴とするデータ処理方法。
【請求項９】
複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージするデータ処理方法であって、
前記複数のタグ付きドキュメントを入力する入力ステップと、
前記タグ付きドキュメント入力ステップにより入力されたタグ付きドキュメントをパースするパースステップと、
特定の情報をもつタグの種類を記憶媒体に記憶するタグ記憶ステップと、
前記パースステップによりパースされたデータから、前記タグ記憶ステップにより記憶媒体に記憶された種類のタグによって表現されるタグデータを取得するタグデータ取得ステップと、
前記タグデータの情報と関連のある前記タグ付きドキュメント内の対象データの種類を記憶する対象データ記憶ステップと、
前記パースステップによりパースされたデータから、前記対象データ記憶ステップにより記憶媒体に記憶された種類の対象データを取得するタグ対象データ取得ステップと、
前記タグデータ取得ステップにより取得されたタグデータと、前記タグ対象データ取得ステップにより取得された対象データとを関連付ける情報を、前記複数のタグ付きドキュメントのそれぞれに付加して、前記複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージするドキュメント生成ステップとを有することを特徴とするデータ処理方法。
【請求項１０】
前記パースステップは、前記パースしたデータを記憶媒体に記憶させることを特徴とする請求項９に記載のデータ処理方法。
【請求項１１】
前記タグ記憶ステップは、著作権情報を示すタグを記憶し、
前記ドキュメント生成ステップは、前記タグ記憶ステップに記憶されたタグによって表現される著作権情報を、前記タグデータに付加して出力することを特徴とする請求項９又は１０に記載のデータ処理方法。
【請求項１２】
前記リンク情報を取得するリンク情報取得ステップと、
前記リンク情報取得ステップにより取得されたリンク情報に基づいて、前記タグ付きドキュメント中の付加情報を取得する付加情報取得ステップと
前記ドキュメント生成ステップにより出力された対象データとともに、前記付加情報取得ステップにより取得された付加情報を表示する表示ステップとを有することを特徴とする請求項９〜１１の何れか１項に記載のデータ処理方法。
【請求項１３】
前記タグデータは、著作権者に関する著作権者情報を含み、前記対象データは、前記著作権者により撮影された画像データを含み、
前記タグデータ記憶ステップは、前記著作権者を示すタグを記憶媒体に記憶し、
前記対象データ記憶ステップは、前記撮影された画像データを示すタグを記憶媒体に記憶し、
前記著作権者情報に基づいて、前記タグ付きドキュメント中の撮影者の情報を取得する撮影者情報取得ステップと、
前記ドキュメント生成ステップにより出力された画像データとともに、前記撮影者情報取得ステップにより取得された撮影者の情報を表すアイコンデータを表示装置に表示する表示ステップとを有することを特徴とする請求項９〜１２の何れか１項に記載のデータ処理方法。
【請求項１４】
タグ付きドキュメントのヘッダ部及びボディ部に、これらヘッダ部及びボディ部が属しているタグ付きドキュメントを識別可能にするための識別タグを付加する識別情報付加ステップと、
前記識別情報付加ステップにより識別タグが付加された複数のタグ付きドキュメントを統合する統合ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１５】
複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージすることをコンピュータに実行させるためのコンピュータプログラムであって、
前記複数のタグ付きドキュメントを入力する入力ステップと、
前記タグ付きドキュメント入力ステップにより入力されたタグ付きドキュメントをパースするパースステップと、
特定の情報をもつタグの種類を記憶媒体に記憶するタグ記憶ステップと、
前記パースステップによりパースされたデータから、前記タグ記憶ステップにより記憶媒体に記憶された種類のタグによって表現されるタグデータを取得するタグデータ取得ステップと、
前記タグデータの情報と関連のある前記タグ付きドキュメント内の対象データの種類を記憶する対象データ記憶ステップと、
前記パースステップによりパースされたデータから、前記対象データ記憶ステップにより記憶媒体に記憶された種類の対象データを取得するタグ対象データ取得ステップと、
前記タグデータ取得ステップにより取得されたタグデータと、前記タグ対象データ取得ステップにより取得された対象データとを関連付ける情報を、前記複数のタグ付きドキュメントのそれぞれに付加して、前記複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージするドキュメント生成ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１６】
前記請求項１４又は１５に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、及びコンピュータプログラムに関し、特に、複数のタグ付きドキュメントをマージするために用いて好適なものである。
【背景技術】
【０００２】
図１９に示すように、ＸＭＬ（extensible markup language）などのタグ付きドキュメント１９０１、１９０２は、タグをパースする（parse；解析する）ことによって、ドキュメント内で共通の情報であるヘッダ部１９０１ａ、１９０２ａやフッタ部１９０１ｃ、１９０２ｃ、データ本体であるデータボディ部１９０１ｂ、１９０２ｂに容易に分けることが可能である（特許文献１を参照）。そのため、複数のタグ付きドキュメントを単純にマージする（merge；統合する）場合には、図１９のような形で容易に行える。
【０００３】
しかしながら、マージするタグ付きドキュメントのヘッダ部で記述されているそのタグ付きドキュメント全体に共通の情報が異なっている場合、単純にマージすると、もともとのタグ付きドキュメントのヘッダ部で記述されていた、各ドキュメントのドキュメント内で共通の情報が失われたり、あいまいなものになったりしてしまう。
【０００４】
例えば、タグ付きドキュメントとして、ＸＭＬで記述されたアルバムファイルを例として説明すると、写真の撮影を行った著作権者の情報はヘッダ部に記述され、データボディ部には撮影した画像のデータが記述される。そのようなアルバムファイルで著作権者の異なるアルバムファイルをマージする場合、単純にヘッダ部内に記述された著作権者の情報およびデータボディ部に記述された画像のデータをマージしたのでは、個々の写真をだれが撮影したのか分からなくなってしまうことになるという問題点があった。
【０００５】
【特許文献１】特開平５−１０１０５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、前述の問題点に鑑みてなされたものであり、複数のタグ付きドキュメントを統合した場合に、各ドキュメントにおいて共通な情報が有効でなくなってしまうことを可及的に防止することができるようにする。
【課題を解決するための手段】
【０００７】
本発明のデータ処理装置は、タグ付きドキュメントのヘッダ部及びボディ部に、これらヘッダ部及びボディ部が属しているタグ付きドキュメントを識別可能にするための識別タグを付加する識別情報付加手段と、前記識別情報付加手段により識別タグが付加された複数のタグ付きドキュメントを統合する統合手段とを有することを特徴とする。
また、本発明の他の特徴とするところは、複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージするデータ処理装置であって、前記複数のタグ付きドキュメントを入力する入力手段と、前記タグ付きドキュメント入力手段により入力されたタグ付きドキュメントをパースするパース手段と、特定の情報をもつタグの種類を記憶するタグ記憶手段と、前記パース手段によりパースされたデータから、前記タグ記憶手段に記憶された種類のタグによって表現されるタグデータを取得するタグデータ取得手段と、前記タグデータの情報と関連のある前記タグ付きドキュメント内の対象データの種類を記憶する対象データ記憶手段と、前記パース手段によりパースされたデータから、前記対象データ記憶手段に記憶された種類の対象データを取得するタグ対象データ取得手段と、前記タグデータ取得手段により取得されたタグデータと、前記タグ対象データ取得手段により取得された対象データとを関連付ける情報を、前記複数のタグ付きドキュメントのそれぞれに付加して、前記複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージするドキュメント生成手段とを有することを特徴とする。
【０００８】
本発明のデータ処理方法は、タグ付きドキュメントのヘッダ部及びボディ部に、これらヘッダ部及びボディ部が属しているタグ付きドキュメントを識別可能にするための識別タグを付加する識別情報付加ステップと、前記識別情報付加ステップにより識別タグが付加された複数のタグ付きドキュメントを統合する統合ステップとを有することを特徴とする。
また、本発明の他の特徴とするところは、複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージするデータ処理方法であって、前記複数のタグ付きドキュメントを入力する入力ステップと、前記タグ付きドキュメント入力ステップにより入力されたタグ付きドキュメントをパースするパースステップと、特定の情報をもつタグの種類を記憶媒体に記憶するタグ記憶ステップと、前記パースステップによりパースされたデータから、前記タグ記憶ステップにより記憶媒体に記憶された種類のタグによって表現されるタグデータを取得するタグデータ取得ステップと、前記タグデータの情報と関連のある前記タグ付きドキュメント内の対象データの種類を記憶する対象データ記憶ステップと、前記パースステップによりパースされたデータから、前記対象データ記憶ステップにより記憶媒体に記憶された種類の対象データを取得するタグ対象データ取得ステップと、前記タグデータ取得ステップにより取得されたタグデータと、前記タグ対象データ取得ステップにより取得された対象データとを関連付ける情報を、前記複数のタグ付きドキュメントのそれぞれに付加して、前記複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージするドキュメント生成ステップとを有することを特徴とする。
【０００９】
本発明のコンピュータプログラムは、タグ付きドキュメントのヘッダ部及びボディ部に、これらヘッダ部及びボディ部が属しているタグ付きドキュメントを識別可能にするための識別タグを付加する識別情報付加ステップと、前記識別情報付加ステップにより識別タグが付加された複数のタグ付きドキュメントを統合する統合ステップとをコンピュータに実行させることを特徴とする。
また、本発明の他の特徴とするところは、複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージすることをコンピュータに実行させるためのコンピュータプログラムであって、前記複数のタグ付きドキュメントを入力する入力ステップと、前記タグ付きドキュメント入力ステップにより入力されたタグ付きドキュメントをパースするパースステップと、特定の情報をもつタグの種類を記憶媒体に記憶するタグ記憶ステップと、前記パースステップによりパースされたデータから、前記タグ記憶ステップにより記憶媒体に記憶された種類のタグによって表現されるタグデータを取得するタグデータ取得ステップと、前記タグデータの情報と関連のある前記タグ付きドキュメント内の対象データの種類を記憶する対象データ記憶ステップと、前記パースステップによりパースされたデータから、前記対象データ記憶ステップにより記憶媒体に記憶された種類の対象データを取得するタグ対象データ取得ステップと、前記タグデータ取得ステップにより取得されたタグデータと、前記タグ対象データ取得ステップにより取得された対象データとを関連付ける情報を、前記複数のタグ付きドキュメントのそれぞれに付加して、前記複数のタグ付きドキュメントを１つのタグ付きドキュメントにマージするドキュメント生成ステップとをコンピュータに実行させることを特徴とする。
本発明のコンピュータ読み取り可能な記録媒体は、前記記載のコンピュータプログラムを記録したことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、タグ付きドキュメントのヘッダ部及びボディ部に、それらが属しているタグ付きドキュメントを識別可能にするための識別タグを付加し、識別タグを付加した複数のタグ付きドキュメントを統合するようにしたので、複数のタグ付きドキュメントを統合する場合に、統合する各タグ付きドキュメントに共通のデータを失うことなく、各タグ付きドキュメントを統合することができる。
【発明を実施するための最良の形態】
【００１１】
（第１の実施形態）
次に、図面を参照しながら、本発明の第１の実施形態について説明する。
図１８は、本実施形態の情報処理装置の構成の一例を示すブロック図である。
図１８において、情報処理装置１８００は、操作部１８０１と、表示部１８０２と、処理部１８０３と、記憶部１８０４とを有している。
操作部１８０１は、キーボードやマウスなどにより構成される装置であり、ユーザにより実行される操作内容を処理部１８０３に伝えるようにするための装置である。
【００１２】
表示部１８０２は、ディスプレイなどにより構成される装置であり、処理部１８０３により実行された処理結果などを表示するための装置である。ユーザは、この表示部１８０２の表示内容を見ながら、操作部１８０２を操作する。
処理部１８０３は、制御プログラムなどが格納されているＲＯＭと、前記制御プログラムを実行するＣＰＵと、前記ＣＰＵが制御プログラムを実行する際のワークエリアなどとなるＲＡＭとを含み、以下に説明する情報処理装置１８００における処理動作を制御するための装置である。
記憶部１８０４は、ハードディスクドライブなどの記憶装置であり、処理部１８０３で処理された情報等を記憶する。なお、この記憶部１８０４を、前記ＲＯＭと併用するようにしてもよい。
【００１３】
以上のような構成の情報処理装置１８００で処理されるタグ付きドキュメントは、タグにより図１のような構造をもつ。
図１において、タグ付きドキュメント１０１は、そのタグ付きドキュメント１０１内のデータに共通な情報の集合体である共通ヘッダ部１０２と、実際のデータの集合体であるボディ部１０４と、ドキュメント１０１内のデータに共通な情報の集合体である共通フッタ部１０６とを含んで構成されている。
【００１４】
そして、共通ヘッダ部１０２は、０個以上のヘッダ項目１０３（図１では３個のヘッダ項目１０３ａ〜１０３ｃ）から構成されている。ボディ部１０４は、０個以上のデータ項目１０５（図１ではｎ個のデータ項目１０５ａ〜１０５ｎ）から構成されている。共通フッタ部１０６は、０個以上のフッタ項目１０７（図１では２個のフッタ項目１０７ａ、１０７ｂ）から構成されている。
さらに、以下に述べるように、「<xxx>」タグと、「</xxx>」タグとは、対になってタグ付きドキュメント１０１の構造を表現している。
【００１５】
タグ付きドキュメント１０１の一例として、図２のようなアルバムファイルが挙げられる。
図２において、アルバムファイル３００は、全体が「<photAlbum>」タグ３０１ａと「</photAlbum>」タグ３０１ｂとで囲まれ、その中に、「<header>」タグ３０２ａと「</header>」タグ３０２ｂとで囲まれたヘッダ部３０５と、「<body>」タグ３０３ａと「</body>」タグ３０３ｂで囲まれたボディ部３０６と、「<footer>」タグ３０４ａと「</footer>」タグ３０４ｂとで囲まれたフッタ部３０７とがある。
【００１６】
ヘッダ部３０５の中には、例えば撮影したカメラの名称や、撮影者の名前など、アルバムファイル３００に保持されている写真データに共通のデータがタグ付きテキストとして含まれている。
ボディ部３０６の中には、個々の写真データが「<photo>」タグと「</photo>」タグとで囲まれた範囲に含まれており、さらに個々の写真データ、例えば画像ＩＤ、画像データ、サムネイル画像データ、撮影日時などの画像に固有な情報がタグ付きテキストとして含まれている。
フッタ部３０７の中には、ヘッダ部３０５と同様にアルバムファイル３００に保持されている写真データに共通のデータがタグ付きテキストとして含まれている。
【００１７】
図３に、ドキュメント内のタグをパース（parse）処理する際の情報処理装置１８００の動作の一例を説明するフローチャートを示す。
まず、パーサ部１８０３ａは、ユーザの操作部１８０１の操作によってマージ（merge）されるデータファイル（アルバムファイル３００などのタグ付きドキュメント１０１）が入力されると、そのデータファイルをひとつ読み込む（ステップＳ４０１）。
次に、パーサ部１８０３ａは、「<」及び「>」で囲まれたタグを構文解釈することによりタグをパースして、図４のようなドキュメントオブジェクトツリー４００を生成する（ステップＳ４０２）。
次に、パーサ部１８０３ａは、そのドキュメントオブジェクトツリー４００をパースデータデータベース５００（図５を参照）に保存する（ステップＳ４０３）。構文解釈の方法としては、再帰降下法などいくつかのアルゴリズムがあるが、適当なアルゴリズムであればどのアルゴニズムを使用してもよい。
他にユーザの操作部１８０１の操作によって入力されたデータファイルがあると、ステップＳ４０１に戻り、パーサ部１８０３ａは、ステップＳ４０１〜Ｓ４０３の処理を繰り返し続ける（ステップＳ４０４）。一方、ユーザからデータファイルが入力されなければ、次のマージ処理に移る（ステップＳ４０５）。
なお、ドキュメントオブジェクトツリー４００は、図５のようにパースデータデータベース５００にドキュメント名５０１ａ〜５０１ｃとともに、ドキュメントごとに保存される。
【００１８】
図１１のように、タグデータ記憶部１１０１にはマージ対象タグとして「<author>」タグが保存されている。また、対象データ記憶部１１０２には、対象データタグとして「<photo>」タグが保存されている。タグデータ記憶部１１０１と対象データ記憶部１１０２とは対になっている。また、タグデータ記憶部１１０１と対象データ記憶部１１０２との対は複数あってもよい。
【００１９】
以上のようにしてタグ付きドキュメントをパースして、入力されたすべてのタグ付きドキュメントがドキュメントオブジェクトツリー５００になったら、つぎに、ヘッダのマージ処理（マージ結果のタグ付きドキュメントの生成処理）に移る。図６に、ヘッダのマージ処理を行う際の情報処理装置１８００の動作の一例を説明するフローチャートを示す。
【００２０】
まず、マージ部１８０３ｂは、マージ対象タグとして記憶されているタグのひとつに対してひとつのマージ対象タグ一時記憶部（ヘッダ一時記憶部）を生成する（ステップＳ７００）。図８のように、マージ対象タグ一時記憶部は、マージ対象タグ名９００と、マージしたファイルの中でのヘッダの識別番号９０１と、マージするタグ付きドキュメントのドキュメントオブジェクトツリーの識別子９０２と、ヘッダの内容９０３とを、それぞれマージするヘッダごとに記憶している。識別番号９０１は、ステップＳ７０７の処理で、ヘッダをマージ対象タグ一時記憶部に記憶するときに生成するユニークなＩＤである。
【００２１】
次に、マージ部１８０３ｂは、新規に空のドキュメントオブジェクトツリーを生成する（ステップＳ７０１）。さらに、マージ部１８０３ｂは、パースデータデータベース５００からドキュメントオブジェクトツリー４００をひとつ取得する（ステップＳ７０２）。
次に、マージ部１８０３ｂは、前記取得したドキュメントオブジェクトツリー４００を検索してヘッダ部の枝を取得する（ステップＳ７０３）。
【００２２】
次に、マージ部１８０３ｂは、前記取得したヘッダ部の枝に含まれているヘッダをひとつ取得し（ステップＳ７０４）、ヘッダのタグがタグデータ記憶部１１０１に記憶されているマージ対象タグ「<author>」と等しいかどうかを調べる（ステップＳ７０５）。そして、ステップＳ７０４で取得したヘッダのタグと、タグデータ記憶部１１０１に記憶されているマージ対象タグとが等しければ、マージ部１８０３ｂは、ステップＳ７０４で取得したヘッダを、マージを行うヘッダとしてマージ対象タグ一時記憶部に記憶して（ステップＳ７０７）、ステップＳ７０８に遷移する。
【００２３】
一方、ステップＳ７０４で取得したヘッダのタグと、タグデータ記憶部１１０１に記憶されているマージ対象タグとが等しくなければ、マージ部１８０３ｂは、ヘッダをステップＳ７０１で生成したドキュメントオブジェクトツリーに追加して（ステップＳ７０６）、ステップＳ７０８に遷移する。
【００２４】
そして、ステップＳ７０８において、マージ部１８０３ｂは、ステップＳ７０３で取得したヘッダ部の枝に含まれるすべてのヘッダについて、ステップＳ７０５のチェックを行ったかどうかを調べる。そして、すべてのヘッダについてステップＳ７０５のチェックを行っていなければ、マージ部１８０３ｂは、チェックを行うまでステップＳ７０３〜Ｓ７０８の処理を繰り返す。こうして、すべてのヘッダについてステップＳ７０５のチェックを行ったら、ステップＳ７０９に遷移する。
【００２５】
ステップＳ７０９において、マージ部１８０３ｂは、すべてのドキュメントオブジェクトツリー４００内のヘッダをチェックしたかどうかを調べる。そして、すべてのドキュメントオブジェクトツリー４００内のヘッダをチェックしていなければ、マージ部１８０３ｂは、チェックするまでステップＳ７０２〜Ｓ７０９の処理を繰り返す。こうして、すべてのドキュメントオブジェクトツリー４００内のヘッダをチェックしたら、ステップＳ７１０に遷移する。
そして、ステップＳ７１０において、マージ部１８０３ｂは、マージするヘッダを出力し、ステップＳ７１１において、マージ部１８０３ｂは、ボディ部を出力する。
【００２６】
図１０に、以上の図６に示したヘッダのマージ処理（の一部）をより詳細に説明するフローチャートを示す。
まず、マージ部１８０３ｂは、マージ対象タグ一時記憶部をひとつ取得し、そこからマージ対象タグ名「<author>」を取得する（ステップＳ１１０１）。
次に、図７に示すように、マージ部１８０３ｂは、図６のステップＳ７０１で生成したドキュメントオブジェクトツリーに対してマージ対象タグである「<author>」タグを追加する（ステップＳ１１０２）。
【００２７】
次に、マージ部１８０３ｂは、図６のステップＳ７０１で生成したドキュメントオブジェクトツリーに対して「<id>」タグを追加する（ステップＳ１１０３）。さらに、マージ部１８０３ｂは、図８のマージ対象タグ一時記憶部に記憶されている識別番号９０１を、マージ対象タグ一時記憶部から取得し、ドキュメントオブジェクトツリーに追加する（ステップＳ１１０４）。それから、マージ部１８０３ｂは、ヘッダの内容９０３をマージ対象タグ一時記憶部から取得し、ドキュメントオブジェクトツリーに追加し（ステップＳ１１０５）、次に「</id>」タグをドキュメントオブジェクトに追加する（ステップＳ１１０６）。
【００２８】
以上のステップＳ１１０３〜Ｓ１１０６の処理を、マージを行う前記取得したマージ対象タグ一時記憶部に記憶されているすべてのヘッダに対して行う（ステップＳ１１０７）。
そして、マージ部１８０３ｂは、「<author>」タグに対応する閉じタグである「</author>」をドキュメントオブジェクトツリーに追加する（ステップＳ１１０８）。
すべてのマージ対象タグ一時記憶部に関して以上のステップＳ１１０１〜１１０８の処理を行うと（ステップＳ１１０９）、ステップＳ１１１０において、ボディ部の出力処理を行う。
なお、マージ対象タグ記憶部に複数のタグが記憶されている場合は、記憶されているタグのすべてに対して前記処理を行う。
以上のようにしてヘッダに対して行ったのと同様の処理をフッタに対しても行う。
【００２９】
図９に、ボディ部の出力処理を行う際の情報処理装置１８００の動作の一例を説明するフローチャートを示す。
ボディ部の出力処理において、まず、マージ部１８０３ｂは、パースデータデータベース５００からドキュメントオブジェクトツリー４００をひとつ取得する（ステップＳ１００１）。次に、マージ部１８０３ｂは、前記取得したドキュメントオブジェクトツリー４００を検索し、ボディ部の枝を取得する（ステップＳ１００２）。
次に、マージ部１８０３ｂは、前記ボディ部の枝に含まれているボディデータをひとつ取得する（ステップＳ１００３）。
【００３０】
次に、マージ部１８０３ｂは、前記取得したボディデータが対象データ記憶部１１０２に記憶されている対象データタグである「<photo>」タグと等しいかどうかを調べる（ステップＳ１００４）。前記取得したボディデータが対象データ記憶部１１０２に記憶されている「<photo>」タグと等しくなければ、マージ部１８０３ｂは、ボディデータをそのままドキュメントオブジェクトツリー４００に追加する（ステップＳ１０１４）。
一方、前記取得したボディデータが対象データ記憶部１１０２に記憶されている「<photo>」タグと等しければ、マージ部１８０３ｂは、まず対象データタグに対応するマージ対象タグを取得する（ステップＳ１００５）。次に、マージ部１８０３ｂは、マージ対象タグに対応するマージ対象タグ一時記憶部を取得する（ステップＳ１００６）。さらに、マージ部１８０３ｂは、前記取得したマージ対象タグ一時記憶部からステップＳ１００１で取得したドキュメントオブジェクトツリー４００の名前に対応する識別子を取得する（ステップＳ１００７）。
【００３１】
次に、マージ部１８０３ｂは、対象データタグである「<photo>」タグをドキュメントオブジェクトツリー４００に追加し（ステップＳ１００８）、続いて「<id>」タグをドキュメントオブジェクトツリー４００に追加する（ステップＳ１００９）。そして、ステップＳ１００７で取得した識別子をドキュメントオブジェクトツリー４００に追加し（ステップＳ１０１０）、「</id>」タグをドキュメントオブジェクトツリー４００に追加する（ステップＳ１０１１）。次に、マージ部１８０３ｂは、「<photo>」タグと「</photo>」タグとを削除したボディデータをドキュメントオブジェクトツリー４００に追加し、「<photo>」タグの閉じタグである「</photo>」タグをドキュメントオブジェクトツリー４００に追加する（ステップＳ１０１３）。
【００３２】
そして、マージ部１８０３ｂは、前記取得したボディ部の枝に含まれるすべてのボディデータに対して前記ステップＳ１００３〜Ｓ１０１４の処理を行う（ステップＳ１０１５）。
さらに、すべてのドキュメントオブジェクトツリー４００に対して前記ステップＳ１００１〜Ｓ１０１５の処理を行う（ステップＳ１０１６）。
すべてのドキュメントツリー４００に対して前記ステップＳ１００１〜Ｓ１０１６の処理が完了したら、図６のステップＳ７０１で生成したドキュメントオブジェクトツリーに対して深さ優先探索を行い、ノードのデータをファイルに出力することによりにドキュメントオブジェクトツリーをファイルに変換して（ステップＳ１０１７）処理を終了する。
【００３３】
以上のように本実施形態では、複数のタグ付きドキュメント１０１をマージするに際し、まずタグ付きドキュメント１０１をパースして、共通ヘッダ部１０２、ボディ部１０４、共通フッタ部１０６にわけ、さらに各部１０２、１０４、１０６を個々のデータ分離する。次に、共通ヘッダ部１０２や共通フッタ部１０６を検索し、ボディ部１０４の個々のデータに共通なデータを生成する。そして、マージした複数のタグ付きドキュメント１０１を出力する場合に、共通ヘッダ部１０２の出力では、前記共通なデータに識別子を付加してこれらを並列に出力する。また、ボディ部１０４の出力では、ボディ部１０４の個々のデータを出力するのと同時に、そのボディ部１０４のデータに対応する前記共通なデータまたはその共通なデータへリンクするためのリンク情報を出力する。さらに、共通フッタ部１０６の出力では、前記共通なデータに識別子を付加してこれらを並列に出力する。
【００３４】
特に、本実施形態では、ドキュメントオブジェクトツリーのヘッダ部とフッタ部とのそれぞれに、「<id>」タグと「/<id>」タグとを追加するとともに、追加した「<id>」タグと「/<id>」タグとの間に識別番号（００１０１０１）を挿入する。また、ドキュメントオブジェクトツリーのボディ部に、「<id>」タグと「/<id>」タグとを追加するとともに、追加した「<id>」タグと「/<id>」タグとの間に、ドキュメントオブジェクトツリーの名前に対応する識別子（識別番号（００１０１０１））を挿入する。
以上のようにすることにより、もともとのタグ付きドキュメントではそのヘッダ部やフッタ部に記述されていたボディ部の個々のデータに共通なデータを失うことなくマージしたタグ付きドキュメントを得ることができる。
【００３５】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。なお、本実施形態の説明において、前述した第１の実施形態と同一の部分については、図１〜図１１、図１８に付した符号と同一の符号を付すなどして詳細な説明を省略する。
【００３６】
本実施形態では、図１２に示すようなのタグ付きドキュメント１３０１、１３０２のマージを行う。
マージ対象タグと対象データタグとを図１２（ｃ）のようなタグ付きドキュメント１３０３として入力する。「<mergePol>」タグ１３０４ａと「</mergePol>」タグ１３０４ｂとで囲まれた部分がひとつのマージ対象タグと対象データタグとを表し、その中の「<headerTag>」タグ１３０５ａ、１３０５ｃと「</headerTag>」タグ１３０５ｂ、１３０５ｄに囲まれた文字列がマージ対象タグのデータを表し、「<bodyTag>」タグ１３０６ａ、１３０６ｃと「</bodyTag>」タグ１３０６ｂ、１３０６ｄとに囲まれた文字列が対象データタグのデータを表している。
【００３７】
図１２（ｃ）に示すようなタグ付きドキュメント１３０３が入力されると、パーサ部１８０３ａは、タグ付きドキュメント１３０３をパースし、図１３のようなマージ対象タグ記憶部（マージ対象タグのテーブル）１４０１、対象データタグ記憶部（対象データタグのテーブル）１４０２を生成する。
【００３８】
前述した第１の実施形態と同様に、タグ付きドキュメント１３０１が入力されると、パーサ部１８０３ａは、「<」「>」で囲まれたタグを構文解釈することによりタグをパースし、図４に示したようなドキュメントオブジェクトツリー４００を生成する。そして、前記生成したドキュメントオブジェクトツリー４００を、図５に示したようなパースデータデータベース５００に保存する。構文解釈の方法としては、再帰降下法などいくつかのアルゴリズムがあるが、適当なアルゴリズムであればどのアルゴニズムを使用してもよい。
【００３９】
また、パーサ部１８０３ａは、タグ付きドキュメント１３０２についても同様にパースを行い、ドキュメントオブジェクトツリー４００を生成し、前記生成したドキュメントオブジェクトツリー４００をパースデータデータベース５００に保存する。
【００４０】
タグ付きドキュメント１３０１、１３０２のパースを行い、タグ付きドキュメント１３０１、１３０２からドキュメントオブジェクトツリー４００を生成したら、第１の実施形態と同様に、マージ結果のタグ付きドキュメントの生成処理に移る。
【００４１】
まず、マージ部１８０３ｂは、マージ対象タグとして記憶されているタグのひとつに対してひとつのマージ対象タグ一時記憶部を生成する。次に、マージ部１８０３ｂは、新規に空白なドキュメントオブジェクトツリーを生成する。
それから、第１の実施形態のように、マージ部１８０３ｂは、パースデータデータベース５００から取得したドキュメントオブジェクトツリー内のマージ対象タグが、図１３に示したマージ対象タグ記憶部１４０１と、対象データタグ記憶部１４０２とに含まれていない場合は、そのまま前記生成したドキュメントオブジェクトツリーにそのマージ対象タグを追加する。一方、パースデータデータベース５００から取得したドキュメントオブジェクトツリー内のマージ対象タグが、マージ対象タグ記憶部１４０１と、対象データタグ記憶部１４０２とに含まれている場合は、マージ部１８０３ｂは、そのマージ対象タグに対応したマージ対象タグ一時記憶部に、マージしたファイル内での識別子、ドキュメントオブジェクトツリーの識別子、及びヘッダの内容を追加する。
【００４２】
ヘッダ部に対して行ったのと同様の処理をフッタ部に対しても行う。
次にボディデータの追加を行う。
ボディ部の出力処理において、まず、マージ部１８０３ｂは、パースデータデータベース５００からドキュメントオブジェクトツリーをひとつ取得する。次に、前記取得したドキュメントオブジェクトツリーを検索し、ボディ部の枝を取得する。そして、マージ部１８０３ｂは、前記ボディ部の枝に含まれているボディデータをひとつ取得する。
【００４３】
次に、マージ部１８０３ｂは、取得したボディデータが対象データ記憶部１４０２に記憶されている対象データタグと等しいかを調べる。取得したボディデータが対象データ記憶部１４０２に記憶されている対象データタグと等しくなければ、マージ部１８０３ｂは、ボディデータをそのままドキュメントオブジェクトツリーに追加する。
一方、取得したボディデータが対象データ記憶部１４０２に記憶されている対象データタグと等しければ、マージ部１８０３ｂは、まず対象データタグに対応するマージ対象タグを取得する。
次に、マージ部１８０３ｂは、マージ対象タグに対応するマージ対象タグ一時記憶部を取得する。さらに、マージ部１８０３ｂは、前記取得したマージ対象タグ一時記憶部から、前記取得したドキュメントオブジェクトツリーの名前に対応するマージしたファイル内での識別子を取得する。そして、マージ部１８０３ｂは、マージ対象タグに対応する対象データタグをドキュメントオブジェクトツリーに追加し、「<id>」タグをドキュメントオブジェクトツリーに追加する。そして、マージ部１８０３ｂは、前記取得したマージしたファイル内での識別子をドキュメントオブジェクトツリーに追加し、「</id>」タグをドキュメントオブジェクトツリーに追加する。
【００４４】
次に、マージ部１８０３ｂは、対象データタグのブロックから前記対象データタグを削除したボディデータをドキュメントオブジェクトツリーに追加し、対象データタグの閉じタグをドキュメントオブジェクトツリーに追加する。
この処理をボディ部の枝にボディデータがなくなるまで続ける。
【００４５】
さらに、マージ部１８０３ｂは、すべてのドキュメントオブジェクトツリーに対して以上の処理を行う。
すべてのドキュメントツリー４００に対して以上の処理が完了したら、マージ部１８０３ｂは、ドキュメントオブジェクトツリー４００に対して深さ優先探索を行い、ノードのデータをファイル出力することによりにドキュメントオブジェクトツリー４００をファイルに変換して処理を終了する。
そして、処理が終了するとマージ結果として図１４のようなマージされたタグ付きドキュメント１５０１が生成される。
【００４６】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。なお、本実施形態の説明において、前述した第１の実施形態と同一の部分については、図１〜図１２に付した符号と同一の符号を付すなどして詳細な説明を省略する。
本実施形態では、前述した第１の実施形態において、ヘッダとしてタグデータ記憶部１１０１にマージ対象タグとして記憶されている著作権情報を示す「<author>」タグの内容を出力するときに、図１５のように、タグ付きドキュメントをマージすることを指示したユーザの著作権者情報もヘッダ１６０１に追加する。このようにすることで、複数人によって撮影されたアルバムデータをマージした場合でも、だれがどの画像を撮影したのかが分かるようになる。
【００４７】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。なお、本実施形態の説明において、前述した第１の実施形態と同一の部分については、図１〜図１２に付した符号と同一の符号を付すなどして詳細な説明を省略する。
【００４８】
前述した第１の実施形態で作成されたタグ付きドキュメントは、ヘッダ部に撮影者の著作権情報が、ボディ部に撮影画像が記憶されており、また撮影画像データにはヘッダ部のどの著作権情報がその画像の撮影者のものであるかを示す情報が付加されている。
この著作権情報には、タグ付きデータで撮影者の名前、メールアドレス、アイコンなどが含まれている。
パーサ部１８０３ａは、マージされたタグ付きドキュメントが入力されると、「<」及び「>」で囲まれたタグを構文解釈することによりタグをパースし、ドキュメントオブジェクトツリー４００を生成する。構文解釈の方法としては再帰降下法などいくつかのアルゴリズムがあるが、適当なアルゴリズムであればどのアルゴリズムを使用してもよい。
【００４９】
次に、パーサ部１８０３ａは、生成したドキュメントオブジェクトツリー４００からヘッダ部の枝を取得し、その中の「<id>」タグと「</id>」タグとで囲まれたブロックを切り出す。
【００５０】
パーサ部１８０３ａは、「<id>」タグで囲まれたブロックの最初の行をヘッダの識別子とし、そこから「</id>」タグの直前までの情報を著作権者情報として読み込み、さらに前記著作権者情報を記憶させる。パーサ部１８０３ａは、ヘッダ部の枝に含まれている「<id>」タグと「</id>」タグとで囲まれたブロックの情報をすべて読み込んで前記の処理を行い図１６のようなテーブル１６００を生成する。
【００５１】
次に、パーサ部１８０３ａは、ドキュメントオブジェクトツリー４００からボディ部の枝を取得し、「<photo>」タグと「/<photo>」タグとで囲まれたブロックを取得する。そして、パーサ部１８０３ａは、前記取得したブロックの中から「<id>」タグと「</id>」タグとで囲まれたブロックを取得し、前記ブロックから撮影画像の著作権者情報のidを取得する。さらに、パーサ部１８０３ａは、「<photo>」タグと「/<photo>」タグとで囲まれたブロックから画像データを取得し、表示部１８０２に表示を行う。
【００５２】
さらに、パーサ部１８０３ａは、図１６に示したテーブル１６００から前記取得した著作権者情報のidをキーにアイコンデータを取得し、図１７のように前記表示した画像１７０１ａ〜１７０１ｅの右下に、前記取得したアイコンデータを重ねて表示させるようにする。なお、別途用意したスタイルシートファイルの指定に従ってアイコンの表示位置を指定するようにしてもよい。ファイルボディ部の枝中のすべての「<photo>」タグと「/<photo>」とで囲まれたブロックに対して前記処理を行い、すべての画像の表示を行う。          
【００５３】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００５４】
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５５】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００５６】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００５７】
【図１】本発明の第１の実施形態を示し、タグ付きドキュメントの構造の一例を示した図である。
【図２】本発明の第１の実施形態を示し、タグ付きドキュメントの一例であるアルバムファイルの一例を示した図である。
【図３】本発明の第１の実施形態を示し、ドキュメント内のタグをパース処理する際の情報処理装置の動作の一例を説明するフローチャートである。
【図４】本発明の第１の実施形態を示し、ドキュメントオブジェクトツリーの概念一例を示した図である。
【図５】本発明の第１の実施形態を示し、パースデータデータベースの記憶内容の一例を概念的に示した図である。
【図６】本発明の第１の実施形態を示し、ヘッダのマージ処理を行う際の情報処理装置の動作の一例を説明するフローチャートである。
【図７】本発明の第１の実施形態を示し、ｉｄタグが追加されたドキュメントオブジェクトツリーの概念の一例を示した図である。
【図８】本発明の第１の実施形態を示し、マージ対象タグ一時記憶部の記憶内容の一例を概念的に示した図である。
【図９】本発明の第１の実施形態を示し、ボディ部の出力処理を行う際の情報処理装置の動作の一例を説明するフローチャートである。
【図１０】本発明の第１の実施形態を示し、ヘッダのマージ処理をより詳細に説明するフローチャートである。
【図１１】本発明の第１の実施形態を示し、タグデータ記憶部と対象データ記憶部との記憶内容の一例を概念的に示した図である。
【図１２】本発明の第２の実施形態を示し、タグ付きドキュメントの例を示した図である。
【図１３】本発明の第２の実施形態を示し、タグデータ記憶部と対象データ記憶部との記憶内容の一例を概念的に示した図である。
【図１４】本発明の第２の実施形態を示し、マージされたタグ付きドキュメントの一例を示した図である。
【図１５】本発明の第３の実施形態を示し、著作権情報が追加されたヘッダの一例を示した図である。
【図１６】本発明の第４の実施形態を示し、著作権情報が格納されたテーブルの一例を示した図である。
【図１７】本発明の第４の実施形態を示し、アイコンデータが重ねられた画像を示した図である。
【図１８】本発明の実施形態を示し、情報処理装置の構成の一例を示すブロック図である。
【図１９】従来の技術を示し、タグ付きドキュメントを単純にマージする際の概念を示した図である。
【符号の説明】
【００５８】
１０１  タグ付きドキュメント
１０２  共通ヘッダ部
１０４  ボディ部
１０６  共通フッタ部
３００  アルバムファイル
４００  ドキュメントオブジェクトツリー
９０１  識別番号
１１０１、１４０１  タグデータ記憶部
１１０２、１４０２  対象データ記憶部
１３０１〜１３０３  タグ付きドキュメント
１５０１  マージされたタグ付きドキュメント
【図１】
2005339027.tif 000003
【図２】
2005339027.tif 000004
【図３】
2005339027.tif 000005
【図４】
2005339027.tif 000006
【図５】
2005339027.tif 000007
【図６】
2005339027.tif 000008
【図７】
2005339027.tif 000009
【図８】
2005339027.tif 000010
【図９】
2005339027.tif 000011
【図１０】
2005339027.tif 000012
【図１１】
2005339027.tif 000013
【図１２】
2005339027.tif 000014
【図１３】
2005339027.tif 000015
【図１４】
2005339027.tif 000016
【図１５】
2005339027.tif 000017
【図１６】
2005339027.tif 000018
【図１７】
2005339027.tif 000019
【図１８】
2005339027.tif 000020
【図１９】
2005339027.tif 000021