以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
図1は、本実施の形態における情報処理装置のブロック図である。
情報処理装置1は、データ格納部101、配置情報格納部102、配置管理情報格納部103、配置指示受付部104、検出部105、配置情報取得部106、データ蓄積部107、データ取得部108、配置管理情報更新部109、削除指示受付部110、領域削除部111、表示部112、および出力部113を備えている。
データ格納部101は、1以上のグループにグループ化された1以上のデータが格納され得る。1以上のデータは、例えば、タグ付けられたデータである。但し、タグ付けられていないデータであっても良い。タグとは、例えば、データに対してデータ構造や、属性等の情報を付加するために付与される情報である。タグ付けされたデータは、例えば、XML形式のデータや、HTML形式のデータや、SGML形式のデータ等のマークアップ言語のデータである。付加されるタグは、例えば、図示しない格納部等に格納されている文書型定義(DTD)により定義されている。ここで述べるデータとは、例えば、文字列のデータや、静止画や動画の画像データや、ページ上等で実行可能なアプリケーション等である。データの形式等は問わない。文字列のデータは、フォントやサイズや右寄せや左寄せ等の配列や下線等の装飾や文字色等の書式のデータ等を有していても良い。また、画像データは、解像度やサイズの情報等を有していていてもよい。なお、タグに含まれるリンク情報により指定されるデータもタグ付けられたデータと考えても良い。グループとは、1以上のデータにより構成される群である。各グループを構成するデータは、どのように管理されても良い。例えば、各グループを構成するデータを管理する管理情報により、管理されても良い。また、データがタグ付けられたデータである場合、一のグループに属する1以上のデータを、例えば一のグループを表すことが可能なタグ等のタグの下位の階層に配置するようにしても良い。即ち一のタグの下位の階層に位置する複数のタグ付けられたデータを、一のグループに属するデータと考えても良い。なお、ここでは、タグ付けされたデータが、タグを含むデータである場合を例に挙げて説明する。タグ付けられた情報を後述する表示部等が表示する際や、配置領域に配置する際等には、タグ付けられた情報を解釈して、タグを除いたデータや、タグに含まれるリンク先のデータだけを、表示したり、配置領域に配置したりするようにすることが好ましい。なお、データ格納部101には、各データの属性を示す情報が、各データに対応付けられて格納されていても良い。また、データの属性を示す情報が、タグに対応付けられて格納されていても良い。また、これらのデータの属性を示す情報は、属性を管理する情報として、データ格納部101や図示しない他の格納部等に、各データやタグと対応付けられて格納されていても良い。タグ付けられたデータのデータ格納部101にデータが蓄積される経緯等は問わない。データ格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
配置情報格納部102には、1以上のデータをそれぞれ配置するための1以上の配置領域を設定する情報である配置情報が格納され得る。配置領域とは、データを配置する領域である。配置領域は、データをレイアウト、即ち割付して配置するために予め指定された領域や、データをレイアウトして配置する際に構成される領域である。この実施の形態においては、配置領域に配置されるデータは、例えば、データ格納部101に格納されているタグ付けられたデータ等のデータである。配置領域は、例えば、枠、フレーム、フレーム枠、ボックス等と呼ばれる領域である。配置領域の表示を行う際には、領域の枠線を表示しても良い。また、配置領域は、単にデータが配置される領域と考えても良い。1以上の配置領域は、例えば、1以上のデータのレイアウト対象となる領域であるレイアウト領域に配置される。レイアウト領域は、1以上のデータがレイアウトされる領域と考えても良い。但し、配置領域は、レイアウト領域以外の領域に配置されても良い。レイアウト領域は、最終的な出力対象となる領域、例えば印刷領域や表示領域である出力対象領域と考えても良い。レイアウト領域は、例えば、ページや、紙面や、台紙等である。ここで述べるページや紙面は、仮想のものと考えて良い。レイアウト領域の範囲を指定する情報、例えば四隅の座標情報等は、例えば、予め指定されており、図示しないメモリ等の記憶媒体に蓄積されているものとする。配置情報は、具体的には、配置領域が配置される位置を指定する情報を含み得るものである。また、配置情報は、配置領域のサイズ等を指定するための情報を含んでいてもよい。データは配置領域内に配置されることから、本実施の形態においては、データの配置を示す情報として、当該データが配置される配置領域の配置情報を適宜用いる。また、ここで述べるデータを配置する、とは、データを配置領域が示す位置に直接配置することであっても良いし、配置領域が示す位置にデータを参照するためのデータを指定するための情報、例えばリンク情報等を配置することであっても良い。この場合、このリンク先のデータが、配置領域に配置されたデータとなる。配置領域は、例えばレイアウト領域上に設定される。配置情報は、例えば、配置領域の幅や高さの情報と、配置領域内の一点、例えば左上隅の位置情報とにより構成される。また、配置領域の四隅の位置情報により構成されていても良い。ここで述べる位置情報とは、位置を示す情報であり、例えば、座標情報である。また、配置領域は、配置領域の位置を示す情報として、配置領域の中心や重心の位置を示す情報を有していていてもよい。なお、これらの中心や重心の位置を示す情報は、配置領域の幅や高さの情報と配置領域内の一点の位置情報から適宜算出されても良い。また、配置情報は、配置領域の出力されるページ等を指定する情報を有していても良い。また、配置情報は、例えば、配置領域の形状が矩形であれば、左上隅と、右下隅の座標情報との組み合わせ等であっても良い。配置領域の位置を指定するための情報は、ページ等の配置領域を配置可能な領域に対する座標等の、絶対的な位置を示す情報であっても良いし、配置領域を配置可能な領域の辺や、他の配置領域に対する相対的な位置を示す情報であっても良い。配置情報と、配置情報により設定される配置領域に配置される、データ格納部101に格納されているタグ付けられたデータとの対応関係は、後述する配置管理情報により管理される。即ち、タグ付けされたデータは、配置管理情報において当該タグ付けされたデータと対応付けられている配置情報に対応する配置領域に配置されていることを示している。配置管理情報は、どの配置領域に、どのタグ付けされたデータが配置されているかを示す管理情報と考えても良い。配置領域、あるいは配置情報には、配置領域を識別するためのID等の識別情報や、配置領域の属性を示す情報である属性情報が対応付けられていても良い。例えば、配置情報に、属性情報が含まれていても良い。属性情報は、例えば、配置領域に配置されるデータの内容や属性等を示すための文字列の情報であり、例えば、配置領域にタイトルや連絡先の文字列が配置されることが予め決められている場合、この配置領域には、「タイトル」や「連絡先」等の文字列が対応付けられても良い。配置情報格納部102にデータが格納される経緯等は問わない。配置情報格納部102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
配置管理情報格納部103は、配置情報と、当該配置情報により設定される配置領域に配置された、データ格納部101に格納されているデータとの対応関係を管理する情報である配置管理情報が格納され得る。
配置管理情報格納部103には、配置管理情報が格納され得る。配置管理情報は、配置情報格納部102に格納されている配置情報と、当該配置情報により設定される配置領域に配置されたデータ格納部101に格納されているデータとの対応関係を管理する情報である。データ格納部101に格納されているデータは、例えば、タグ付けられたデータである。ここで述べる対応関係とは、どの配置領域にどのデータが配置されているかということを示す。配置管理情報は、配置情報とデータ格納部101に格納されているデータとの対応を取ることが可能な情報であればよい。配置管理情報は、例えば、配置情報と、配置されたデータとを対にもつレコードを有するテーブル等で構成される。あるいは、配置管理情報において、配置情報の代わりに、配置情報の識別情報を用いてもよい。また、配置されたデータの代わりに、配置されたデータの識別情報を用いるようにしても良い。ここでは、タグ付けされたデータは、配置管理情報において当該タグ付けされたデータと対応付けられている配置情報に対応する配置領域に配置されていることを示している。即ち、配置管理情報は、どの配置領域に、どのタグ付けされたデータが配置されているかを示す管理情報と考えても良い。なお、配置情報を管理する情報と配置管理情報とを一の管理情報で実現してもよい。あるいは、配置管理情報とタグ付けられたデータを管理する情報とを一の管理情報で実現しても良い。また、配置情報を管理する情報と、タグ付けられたデータを管理する情報と、配置管理情報とを一の管理情報で実現しても良い。また、配置管理情報内にタグ付けされたデータや配置情報を含むようにしても良い。このような場合、データ格納部101と、配置情報格納部102と、配置管理情報格納部103とを一の格納部により実現しても良い。なお、配置情報とタグ付けられたデータが、例えば、データベースの一のレコードを構成したり、同一のバッファに格納されている場合などには、当該レコードを識別する情報や、当該バッファを識別する情報を配置管理情報であると考えても良い。また、配置情報と格納されているデータとが、一のレコードを構成したり、一のバッファに格納されている状態にあること自体を、配置管理情報と考えても良い。即ち、結果的に配置情報と格納されているデータとの対応がとることが可能であれば、配置管理情報は存在するものとする。配置管理情報格納部103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
配置指示受付部104は、データのレイアウト対象となる領域であるレイアウト領域に、データを配置する指示である配置指示を受け付ける。レイアウト領域とは、上述したようにデータのレイアウト対象となる領域である。配置指示の対象となるデータを、以下、配置対象データと呼ぶ。配置対象データは、データ格納部101に格納されているデータであっても良い。また、データ格納部101以外の記憶媒体等に格納されているデータであっても良い。また、情報処理装置1の内部の他の処理部や外部から受け付けたデータであっても良い。配置指示は、例えば、配置対象データを指定する情報と、当該データの配置先、言い換えれば移動先となる配置領域、あるいは当該配置領域に対応する配置情報、を指定する情報との組み合わせを含む情報である。配置指示は、配置対象となるデータを含んでいても良い。配置指示の対象となるデータは、一の配置領域に既に配置済のデータであっても良いし、配置済でないデータであっても良い。配置対象データはタグ付けられたデータであっても良いし、タグ付けられていないデータであっても良い。配置対象データは、配置領域に配置可能なデータであれば、上述したデータ格納部101に格納されているデータと同様の、どのようなデータであっても良い。配置指示受付部104は、後述する表示部112等においてモニタ等に表示されているタグ付けされたデータに対するマウス等の操作等に応じて、配置指示を受け付けても良い。また、メニュー等の操作により配置指示を受け付けても良い。また、コマンドの入力により配置指示を受け付けても良い。配置指示受付部104は、例えば、データ格納部101に格納されている一のデータであって、配置情報により設定される配置領域のいずれかに配置されたデータについての異なる配置領域への配置指示を受け付けてもよい。なお、配置指示受付部104は、後述する削除領域に配置されているデータについての配置指示を受け付けるようにしてもよい。ここで述べる受付とは、例えば、入力手段からの受付や、他の機器等から送信される入力信号の受信や、記録媒体等からの情報の読み出し等である。配置指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。配置指示受付部104は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
検出部105は、配置情報および配置管理情報を用いて、配置対象データの属性と一致する属性を有するデータが配置されている配置領域であって、配置対象データが配置される領域に対して予め指定した位置関係にある配置領域である対象配置領域を検出する。配置対象データが配置される領域とは、例えば、配置指示により配置対象データの配置先として指定された領域、あるいはその近傍と考えて良い。データの属性とは、例えば、データ自身の属性である。データの属性とは、例えば、画像データや文字データ等のデータタイプやデータの種類や、データのファイル形式や、データの内容等である。なお、配置情報に対して、配置可能なデータの属性を指定する情報が対応付けられている場合、この情報を配置されているデータの属性を示す情報と考えても良い。
予め指定した位置関係は、例えば、配置指示が配置を指示する位置と、既に配置されている配置領域との位置関係を指定する図示しない情報等により予め指定されている。予め指定した位置関係とは、どのような位置関係であっても良い。予め指定した位置関係とは、例えば、配置対象データが配置される領域に対して最も距離が近いという関係である。また、配置対象データが配置される領域に対して、間に他の配置領域を介さずに隣接しているという位置関係である。また、配置対象データが配置される領域に対して所定の範囲内に位置しており、なおかつ距離が最も近いという関係であっても良い。例えば、検出部105は、配置対象データの属性と一致する属性を有するデータが配置されている配置領域であって、配置対象データが配置される領域に対して最も近い距離に位置する配置領域である対象配置領域を検出してもよい。また、例えば、検出部105は、配置対象データの属性と一致する属性を有するデータが配置されている配置領域であって、配置対象データが配置される領域に対して隣接する配置領域である対象配置領域を検出してもよい。ここで述べる対象配置領域とは、上述した条件を満たしたレイアウト領域上に既存の配置領域である。対象配置領域は、後述する配置情報取得部106が配置情報を取得する際の基準となる配置領域と考えても良い。
検出部105は、例えば、既にレイアウト領域に配置されている配置領域を設定する配置情報を取得し、この配置情報に対応付けられているデータを、配置情報とデータ格納部101に格納されているデータとの対応関係を管理する配置管理情報から検出する。そして、このデータの属性を取得する。データの属性は、どのように取得しても良い。例えば、データの属性を示す拡張子等の情報を取得しても良い。また、データのヘッダやプロパティ情報等に含まれるデータタイプを示す情報等を取得してもよい。そして、このデータの属性が、配置対象データと一致するか否かを判断する。ここで述べる一致とは、完全一致であっても部分一致であっても良い。また、両者の上位の属性が一致する場合等に一致すると判断してもよい。即ち上位概念が一致する場合に一致すると判断しても良い。そして一致する場合、このデータが配置されている配置領域を設定する配置情報に含まれる座標情報等の位置を示す情報と、配置対象となるデータが配置される領域の座標情報等の位置を示す情報とを用いて、配置領域とデータが配置される領域とが上述した予め指定した位置関係を満たすか否かを判断する。そして、関係を満たすと判断した場合、この配置領域を対象配置領域として検出する。あるいは、予め、配置対象データが配置される領域に対して、予め指定した位置関係を満たす配置領域を検出し、この配置領域に配置されているデータを、配置情報と配置管理情報とを用いて検出し、検出されたデータが、配置対象データと一致する属性を有するか否かを判断し、一致する属性を有していた場合、この配置領域を対象配置領域として検出しても良い。
検出部105は、通常、MPUやメモリ等から実現され得る。検出部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
配置情報取得部106は、検出部105が検出した対象配置領域に配置されているデータが属するグループに対応した配置情報を取得し、配置情報格納部102に蓄積する。ここで述べる取得は、生成等を含む概念である。この配置情報取得部106が取得した配置領域を取得配置領域と呼ぶ。また、この取得配置領域を設定する配置情報をここでは、取得配置情報と呼ぶ。対象配置領域に配置されているデータが属するグループに対応した配置情報とは、例えば、対象配置領域に配置されているデータが属するグループを構成する一以上のデータが配置されている配置領域を設定する配置情報を基にして取得される配置情報である。対象配置領域に配置されているデータが属するグループを構成する一以上のデータが配置されている各配置領域を既存配置領域と呼ぶ。また、この既存配置領域を設定する配置情報を、既存配置情報と呼ぶ。
配置情報取得部106は、具体的には、対象配置領域に配置されているデータが属するグループを構成する1以上のデータが配置されている1以上の既存配置領域に対応する取得配置領域を設定する取得配置情報を取得して、配置情報格納部102に蓄積する。即ち、取得配置情報は、既存配置領域と対応している。配置情報取得部106は、例えば、対象配置領域に配置されているデータが属するグループを構成する1以上のデータが配置されている1以上の既存配置領域に対して、配置領域数および領域間の相対的な位置関係が同じとなる取得配置領域を設定する取得配置情報を、既存配置情報を用いて取得して、配置情報格納部102に蓄積する。ただし、各取得配置領域が配置される位置は、既存配置領域が配置されている位置とは異なる位置である。具体的には、各取得配置領域が配置される位置は、配置指示に対応した位置である。配置指示に対応した位置とは、例えば、対象配置領域に対応する取得配置領域を、配置指示が示す位置やその近傍に配置した場合にそれぞれ設定される位置である。
具体例を挙げると、まず、検出部105は、対象配置領域に配置されたデータが属するグループに属する一以上のデータが配置されている一以上の既存配置領域を設定する既存配置情報を取得する。なお、この一以上のデータが配置されている一以上の既存配置領域には、対象配置領域を含むことが好ましい。そして、取得した既存配置情報の位置を示す情報を以下のように変更して取得配置情報を取得する。即ち、取得した既存配置情報のうちの、対象配置領域に対応する既存配置情報が示す既存配置領域の位置が、配置指示の対象となるデータである配置対象データを配置する領域、またはその近傍に位置するように、取得した既存配置情報の位置の情報を変更する。ただし、この配置情報により設定される配置領域間の相対的な位置関係が変更されないようにすることが好ましい。この相対的な位置関係には、配置領域間の間隔等についての関係も含むと考えても良い。また、配置情報取得部106が取得した配置情報が、レイアウト領域からはみ出す場合等には、レイアウト領域内に収まるように、取得した配置情報を変更しても良い。例えば、配置領域のサイズを小さくしたり、幅や高さを変更しても良い。配置領域の位置をずらすようにしても良い。即ち、上述した相対的な位置関係は、縦横方向についての位置揃えについての関係だけであっても良く、各取得配置領域間の間隔等は、取得配置領域のサイズ等の変更に応じて、多少の変更が加えられても良い。例えば、配置領域間の相対的な位置関係を保つようにする代わりに、配置領域間の上下や左右からの配列順番だけを保つようにした配置情報を取得するようにしても良い。あるいは、配置領域間の相対的な位置関係や配列を保つ代わりに、配置領域のサイズだけを保つようにしても良い。
配置情報取得部106は、配置情報を取得する際の基となる一以上のデータについては、どのように選択しても良い。例えば、グループに属する全てのデータを選択しても良い。また、グループに属する一以上のデータのうちの予め指定した属性を有するデータや、予め指定したタグが付けられたデータだけを選択するようにしても良い。また、例えば、配置領域のうちの、上下や左右からの配列順番が所定数までの配置領域に配置されているデータだけを選択するようにしても良い。配置情報取得部106は、通常、MPUやメモリ等から実現され得る。配置情報取得部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
データ蓄積部107は、配置対象データを、タグを付与せずに、データ格納部101に蓄積する。なお、後述するデータ取得部108等が、配置情報の対象となるデータにタグを付けてデータ格納部101に蓄積する場合等には、データ蓄積部107は省略しても良い。データ蓄積部107は、通常、MPUやメモリ等から実現され得る。データ蓄積部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
データ取得部108は、配置情報取得部106が取得した配置情報に対応したデータであって、少なくともタグを含むデータを取得し、データ格納部101に蓄積する。ここで述べる取得とは、生成も含む概念である。配置情報取得部106が取得した配置情報とは、上述した取得配置情報である。また、データ取得部108は取得したデータを、一のグループにグループ化してデータ格納部101に蓄積することが好ましい。配置情報に対応したデータとは、具体的には、配置情報が設定する配置領域に配置されるデータである。例えば、データ取得部108は、配置情報取得部106が取得した各配置情報について、少なくともタグを含むデータを取得し、データ格納部101に蓄積する。データ取得部108は、具体的には、各取得配置領域に対応した既存配置領域に配置されているデータと同じタグを含むデータを生成する。例えば、データ取得部108は、各取得配置領域に対応した既存配置領域に配置されているデータのタグを取得し、このタグを含むデータを生成する。この各取得配置領域に対応して生成されたデータが、各取得配置領域に配置されるデータとなる。ただし、対象配置領域に対応する取得配置領域に配置するデータとしては、配置対象データを取得するようにしてもよい。この取得するデータはタグを含むデータであればどのようなデータであっても良い。例えば、データ取得部108は、上述した対象配置領域に配置されているデータが属するグループを構成する1以上のデータにそれぞれ付与されているタグと一致するタグをそれぞれ含む1以上のデータを取得してもよい。少なくともタグを含むデータとは、配置領域に配置されるデータの見本等となるダミーデータと考えても良い。少なくともタグを含むデータとは、タグさえ含めば、どのようなデータであっても良い。少なくともタグを含むデータは、例えば、要素を持たない、あるいは要素が、スペース等の空白であることを示す情報であるタグ付けられたデータである。このようなタグは、通常、空タグと呼ばれる。また、要素が予め指定された文字列であるタグ付けられた情報であっても良い。また、上述した対象配置領域に配置されているデータが属するグループを構成する1以上のデータと同じデータとしてもよい。ここで述べる取得は、生成と考えても良いし、読み出し等と考えても良い。
なお、データ取得部108は、配置対象データに、対象配置領域に配置されているデータに付与されているタグと一致するタグを付与したデータを生成し、データ格納部101に蓄積してもよい。また、例えば、配置対象データがタグ付けられたデータであって、検出部105が、配置対象データの属性と同じ属性を有するデータが配置されている配置領域を対象配置領域として検出する場合において、対象配置領域に配置されているデータのタグと、配置対象データのタグとが異なる場合に、データ取得部108は、上記のように、配置対象データに対象配置領域に配置されているデータと同じタグを付けるようにしても良い。ただし、このデータ取得部108が行う処理等は、配置対象データに、対象配置領域に配置されているデータに付与されているタグと一致するタグが予め付与されている場合や、データ格納部101に格納されているデータにタグを付けない場合等には省略してもよい。また、配置対象データが、予めデータ格納部101に格納されているデータであった場合、タグだけを変更することもタグの付与と考える。
データ取得部108は、通常、MPUやメモリ等から実現され得る。データ取得部108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
配置管理情報更新部109は、データ取得部108が取得したデータが、当該データに対応する配置情報取得部106が取得した配置情報が設定する配置領域に配置されるよう、配置管理情報を更新する。即ち、データ取得部108が取得配置情報に対応して取得したデータを、対応する取得配置情報が設定する取得配置領域に配置されるよう、配置管理情報を更新する。例えば、配置情報取得部106が取得した各取得配置情報と、データ取得部108が各取得配置情報に対応して取得したデータとを対応付けるように、配置管理情報を更新する。例えば、対応付けられたデータと取得配置情報とが一のレコードの二つの属性値として管理されるように配置管理情報を更新する。これにより、各取得配置領域に、各取得配置領域に対応して生成されたデータが配置されることとなる。なお、新たにデータを蓄積することもここでは更新の一形態であるとする。配置管理情報更新部109は、例えば、データ取得部108が取得したデータと、当該データに対応する配置情報取得部106が取得した各配置情報とを対応付ける情報を配置管理情報に追加する。具体的には、配置情報取得部106が、対象配置領域に含まれるデータが属するグループを構成する一以上のデータが配置される既存配置領域に対応した同じ数の取得配置領域を設定する取得配置情報を取得したとする。また、データ取得部108が、この配置情報取得部106が取得した取得配置情報が設定する取得配置領域に対応したデータとして、取得配置情報に対応する既存配置領域に配置されているデータに付与されたタグを含むデータを取得したとする。この場合、配置管理情報更新部109は、データ取得部108が取得した各データが、当該各データに対応した各取得配置領域に配置されるように、データ取得部108が取得した各データと、当該各配置領域を設定する各配置情報とを対応付ける情報で、配置管理情報を更新する。例えば、データ取得部108が取得した各データと、当該各配置領域を設定する各配置情報とを対応付ける情報を配置管理情報に追加する。配置管理情報更新部109は、通常、MPUやメモリ等から実現され得る。配置管理情報更新部109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
削除指示受付部110は、配置領域を削除する指示である削除指示を、例えばユーザ等から受け付ける。削除指示受付部110は、例えば、データ格納部101に格納されているタグ付けられたデータが配置されている配置領域に対する削除指示を受け付ける。削除指示受付部110は、表示部112等においてモニタ等に表示されている配置領域に対するマウス等の操作等に応じて、削除指示を受け付けても良いし、メニュー等の操作により削除指示を受け付けても良い。また、コマンドの入力により削除指示を受け付けても良い。削除指示は、例えば、削除対称となる配置領域、あるいは当該配置領域に対応する配置情報、を指定する情報と、削除のコマンド等を含む情報である。ここで述べる受付とは、例えば、入力手段からの受付や、他の機器等から送信される入力信号の受信や、記録媒体等からの情報の読み出し等である。削除指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。削除指示受付部110は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
領域削除部111は、削除指示の対象となる配置領域が、レイアウト領域以外の領域に配置されるよう、当該削除指示の対象となる配置領域を設定する配置情報を変更する。例えば、削除指示の対象となる配置領域を設定する配置情報の位置を指定する情報を、レイアウト領域以外の領域の位置を指定する値に変更する。また、変更を行う際に、配置領域と、当該配置領域に配置されているデータとの対応関係は変更しない。レイアウト領域以外の領域を、削除領域等と呼ぶようにしても良い。削除領域は、例えば、レイアウト領域が表示されるウィンドウとは異なるウィンドウ上の領域や、レイアウト領域が表示される表示フレームとは異なる表示フレーム上の領域等であっても良い。なお、配置指示受付部104は、この削除領域に配置されているデータについての配置指示を受け付けるようにしても良い。また、位置指定情報の削除が行われた場合、配置領域の配置に変更が生じるため、表示部112は、表示を更新することが好ましい。なお、レイアウト領域以外の領域に配置する必要がない場合、領域削除部111は、配置情報を削除しても良い。領域削除部111は、通常、MPUやメモリ等から実現され得る。領域削除部111の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
表示部112は、配置管理情報を用いて、配置情報が指定する配置領域内に、当該配置情報に対応付けられたデータを配置した画像を構成し表示する。表示部112は、タグを解釈して、タグに挟まれたエレメントの情報や、タグに挟まれたリンク情報やタグ内に含まれるリンク情報が示すデータの画像を構成して表示する。表示部112が表示を行うトリガーやタイミング等は問わない。但し、データの表示中に、配置情報取得部106により配置情報が取得されたり、配置管理情報更新部109等により、配置管理情報が更新されたりした場合等には、例えば、これらの処理が行われたことをトリガーとして、データの再表示を行うことが好ましい。ここで述べる表示とは、ディスプレイへの表示、プロジェクターを用いた投影や、プリンタ等を用いた印刷、他の表示デバイス等への表示用のデータの送信等を含む概念である。表示部112は、ディスプレイやプリンタ等の出力デバイスを含むと考えても含まないと考えても良い。表示部112は、表示デバイスのドライバーソフトまたは、表示デバイスのドライバーソフトと出力デバイス等で実現され得る。
出力部113は、データ格納部101に格納されているグループ化されたデータを出力する。また、出力部113は、グループ化されたデータに加えて、当該グループ化されたデータに対応する配置情報や、配置管理情報等を出力するようにしても良い。また、グループ化されたデータ以外のデータを出力しても良い。ここで述べる出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。出力部113は、ディスプレイやプリンタ等の出力デバイスを含むと考えても含まないと考えても良い。出力部113は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。なお、表示部112と出力部113とを一の出力部で実現するようにしてもよい。
次に、情報処理装置1の動作について図2のフローチャートを用いて説明する。ただし、ここでは、データ格納部101に配置されているグループ化されたデータがタグ付けられたデータであり、配置対象データについては、データ取得部108がタグ付けを行って、データ格納部101に蓄積する場合について説明する。このため、ここでは、データ蓄積部107は省略する。
(ステップS201)表示部112は、データ格納部101に格納されているデータを、配置管理情報により管理されている当該データが対応する配置情報が示す配置領域に配置した画像を構成し、表示する。
(ステップS202)配置指示受付部104は、配置指示を受け付けたか否かを判断する。受け付けた場合、ステップS203に進み、受け付けていない場合、ステップS212に進む。
(ステップS203)検出部105は、ステップS202において受け付けた配置指示に応じて、対象配置領域を検出する。対象配置領域を検出する処理については後述する。
(ステップS204)検出部105は、ステップS203において対象配置領域を検出したか否かを判断する。検出した場合、ステップS205に進み、検出しなかった場合、ステップS212に進む。
(ステップS205)配置情報取得部106は、ステップS203において検出した対象配置領域に配置されているデータを含むグループに属する一以上のデータが配置されている既存配置領域と対応する取得配置領域を設定する取得配置情報を取得する。例えば、ステップS203において検出した対象配置領域に配置されているデータを含むグループのデータが配置されている既存配置領域を設定する既存配置情報を取得する。そして、この取得した既存配置情報の位置を指定する情報を、配置領域間の相対的な位置関係を保ったまま、配置指示が指定する位置に配置領域が配置されるように変更して取得配置情報を取得する。そして、配置情報取得部106は、取得した取得配置情報を配置情報格納部102に蓄積する。
(ステップS206)データ取得部108は、ステップS205において取得した取得配置情報に対応する既存配置領域に配置されているデータに付与されているタグと同じタグを含むデータを取得する。例えば、データ取得部108は、ステップS203において検出した対象配置領域に配置されているデータを含んでいるグループに属する一以上のデータがそれぞれ有しているタグを取得する。このグループに属する一以上のデータは、ステップS205におけるグループに属する一以上のデータと同じデータである。そして、データ取得部108は、このタグを含むデータ、例えばダミーデータを生成する。ここで取得するデータは、いわゆる空タグや、タグの要素として、予め指定した文字列、例えば「データ未設定」等の文字列を含むデータである。なお、ここでは、ステップS205において取得した配置情報のうちの、対象配置領域に対応する配置情報に対応したデータは取得しない。配置対象データを配置するからである。
(ステップS207)データ取得部108は、ステップS206において取得したデータを、データ格納部101に蓄積する。
(ステップS208)データ取得部108は、配置対象データに、対象配置領域に配置されているデータに付与されているタグと同じタグを付与して、データ格納部101に蓄積する。
(ステップS209)配置管理情報更新部109は、ステップS206において取得したデータと、ステップS205において取得した取得配置情報とを用いて、配置管理情報を更新する。具体的には、ステップS205において配置情報取得部106が取得した、既存配置領域に対応する取得配置領域を設定する取得配置情報と、ステップS206においてデータ取得部108が取得した、取得配置領域に対応する既存配置領域に配置されているデータに付与されているタグと同じタグを含むデータとが、対応付けて管理されるよう、配置管理情報を更新する。これにより、ステップS205において取得した取得配置情報が設定する取得配置領域には、取得配置領域に対応している既存配置領域に配置されているデータと同じタグを有するデータが配置されることとなる。なお、ここでは、例えば、ステップS208によりタグ付けられた配置対象データについては、対象配置領域に対応した配置領域を設定する配置情報と対応付けられるものとなるように配置管理情報が更新される。
(ステップS210)表示部112は、更新された配置管理情報等を用いて表示を更新する。そして、ステップS202に戻る。
(ステップS211)表示部112は、対象配置領域が検出できなかった旨をエラーとして表示する。なお、この処理は省略しても良い。そして、ステップS202に戻る。
(ステップS212)削除指示受付部110は、削除指示を受け付けたか否かを判断する。受け付けた場合、ステップS213に進み、受け付けていない場合、ステップS215に進む。
(ステップS213)領域削除部111は、削除指示が指定する配置領域が、レイアウト領域以外の領域に配置されるように、配置領域を設定する配置情報を変更する。例えば、配置情報のうちの位置を指定する情報を変更する。削除指示が指定する配置領域が配置されるレイアウト領域以外の位置については、どのように決定されても良い。例えば、位置は予め指定されていても良いし、所定のルールに従って、配置されても良い。所定のルールとは、レイアウト領域の右または左の横に、上から順番に配列する、等の配列のルール等である。
(ステップS214)表示部112は、領域削除部111により変更が加えられた配置情報を用いて、再表示を行う。即ち表示を更新する。そして、ステップS202に戻る。
(ステップS215)出力部113は、図示しない受付部等を介して、データ格納部101に格納されているタグ付けされたデータ等の出力指示を受け付けたか否かを判断する。受け付けた場合、ステップS216に進み、受け付けていない場合、ステップS202に戻る。
(ステップS216)出力部113は、ステップS213において受け付けた出力指示に応じてデータ格納部101に格納されているタグ付けされたデータ等の出力等を行う。そして、ステップS202に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、図2のステップS203に示した、情報処理装置1の対象配置領域を検出する処理の詳細について、図3のフローチャートを用いて説明する。
(ステップS301)検出部105は、配置指示受付部104が受け付けた配置指示が示す、データを配置する位置を示す位置情報を取得する。位置情報は例えば座標情報である。この位置情報は、データが配置される領域内の一点の位置情報であっても良いし、領域の位置を示す情報と考えても良い。
(ステップS302)検出部105は、配置対象データの属性を取得する。例えば、データの拡張子やファイルのプロパティ等のファイルの種類を示す情報から、データの属性を取得する。
(ステップS303)検出部105は、カウンターKに1を代入する。
(ステップS304)検出部105は、レイアウト領域に配置されている配置領域のうちの、K番目の配置領域に配置されているデータの属性を取得する。例えば、K番目の配置領域を設定する配置情報に対応するデータを、配置管理情報を用いて検出し、このデータの属性を示す情報を取得する。
(ステップS305)検出部105は、ステップS304において取得したデータの属性が、ステップS302において取得したデータの属性と一致するか否かを判断する。個々での一致は、部分一致であっても完全一致であっても良い。また、上位概念が一致する場合に、一致すると判断するようにしても良い。一致する場合、ステップS306に進み、一致しない場合、ステップS308に進む。
(ステップS306)検出部105は、ステップS301で取得した位置情報を用いて、K番目の配置領域と、配置対象データが配置される位置との距離を算出する。配置領域間の距離は、配置領域のどの部分同士の距離としてもよい。例えば、配置領域間の距離を、配置領域の重心間や中心間の距離としても良い。あるいは、配置領域間の距離を、配置領域間の最も距離が短くなる部分の距離としても良い。
(ステップS307)検出部105は、算出した距離の値を、K番目の配置領域と対応付けて図示しない記憶媒体等に一時記憶する。
(ステップS308)検出部105は、カウンターKを1インクリメントする。
(ステップS309)検出部105は、レイアウト領域に、K番目の配置領域があるか否かを判断する。ある場合、ステップS304に戻り、ない場合、ステップS310に進む。
(ステップS310)検出部105は、距離の算出結果が上述した図示しない記憶媒体等に記憶されているか否かを判断する。記憶されている場合、ステップS311に進み、記憶されていない場合、ステップS312に進む。
(ステップS311)検出部105は、記憶されている距離のうちの、最も短い距離に対応する配置領域を検出する。例えば、この配置領域を識別する情報等を取得する。この配置領域が対象配置領域である。そして、この検出結果を上位の処理にリターンする。
(ステップS312)検出部105は、対象配置領域が検出できなかったことを示す情報を取得し、上位の処理にリターンする。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理装置の具体的な動作について説明する。ここでは例として、情報処理装置1がDTP装置である場合を例に挙げて説明する。また、ここでは例として、データ格納部101に格納されているデータは、XML(Extensible Markup Language)形式のデータであるとする。
図4は、表示部112がモニタ120に表示しているレイアウト画面の一例を示す図である。図4において、矩形で示した領域が配置領域122である。ここでは、レイアウト領域121上に、複数の配置領域122a〜122hが配置されている。各配置領域122a〜122hには、それぞれの領域を設定する配置情報に対応するデータが配置されている。また、各配置領域122の右上に記載されている番号は、配置領域122の識別情報である。ここでは、「配置領域ID」と呼ぶ。なお、「配置領域ID」は、説明のための便宜上の表示であり、実際には表示する必要はない。このような配置領域122の指定は、例えばユーザにより行われても良いし、予めデフォルトで指定されていても良い。なお、図4等のレイアウト画面は、説明のための便宜上の図であり、必ずしも寸法や縦横比等は正確ではない。ここでは、配置領域の枠が実線で表示されているものとする。
図5は、図4に示したレイアウト領域上にレイアウトされた配置領域122を設定する配置情報を管理するための配置情報管理表である。配置情報管理表は、「配置領域ID」、「中心座標x」、「中心座標y」、「幅」、「高さ」等の項目を有している。「配置領域ID」は、各配置情報に対応する配置領域122を管理するための識別情報である。配置領域122を設定する配置情報の識別情報と考えても良い。「中心座標x」は、配置領域の中心のx座標、「中心座標y」は、配置領域122の中心のy座標、「幅」は、配置領域122の幅、「高さ」は配置領域122の高さである。なお、座標や幅や高さの単位としては、ここでは一例としてピクセルを用いている。なお、x1〜x8、y1〜y8、h1〜h8およびw1〜w8は、それぞれ所定の値を示すものとする。
図6は、データ格納部101に格納されているデータを示す図である。ここでは、1以上のデータがXML構造化されて格納されているものとする。「<イメージ>」「<職種>」、「<雇用形態>」、「<時給>」等のタグで直接挟まれているデータが、タグ付けされたデータである。また、図における「<募集内容>」というタグのように、複数のタグの上位の階層となるタグは、データをグループ化する、あるいは階層化するタグである。このグループ化するタグで、タグ付けられたデータがグループ化されている。この具体例においては、一の「<募集内容>」というタグで囲まれている一以上のデータが一のグループ化されたデータであるとする。タグの要素がリンク情報である場合、このリンク先の情報が実際のデータであることを示している。なお、タグ内に含まれるID属性(ID="値")は、ここでは、データの識別情報を示しているものとする。この識別情報を「データID」と呼ぶ。
図7は、配置管理情報格納部103に格納されている配置管理情報の一例を示す図である。配置管理情報は、「配置領域ID」と「データID」という属性を有している。「配置領域ID」は、図4に示した「配置領域ID」に対応する。「データID」は、図6に示した各データに付けられたタグのID属性の値に対応する。配置管理情報の各レコードに含まれる「配置領域ID」に対応する配置領域122内には、同じレコードに含まれる「配置領域ID」に対応するデータが配置されることを示している。図4においては、具体的には、図7に示した配置管理情報における各「配置領域ID」に対応する配置領域122内に、配置管理情報における同じレコードに含まれる「配置領域ID」に対応するデータが配置されてレイアウト画面が構成されている。
なお、このような配置管理情報を用いる代わりに、配置領域122を設定する配置情報と、当該配置領域に配置されたデータとを一のレコードでまとめて管理する管理表等を用いるようにしてもよい。この場合、このような管理表は、結果的に、データと配置領域122との対応関係を管理しているものとなる。このため、この管理表を配置管理情報と考えてよい。なお、配置領域122の生成や、配置領域122へのデータの配置は、ユーザにより行われても良いし、自動化されて行われたものであっても良い。
まず、ユーザが、図4に示すレイアウト画面において、図8に示すように、「配置領域ID」が「001」である配置領域122aの横方向の位置に、マウス(図示せず)等を操作してポインタ81を移動させ、メニュー等を操作してこのポインタの位置に、図示しない記憶媒体等の格納部等に格納されている画像データ「shopA.tif」というデータを配置する指示を情報処理装置1に与えたとする。このときのポインタの座標(x,y)が(x1+a,y1+b)であったとする。
配置指示受付部104は、この操作に応じて、座標(x1+a,y1+b)に「shopA.tif」というファイル名の画像データを配置する配置指示を受け付ける。
検出部105は、配置指示受付部104が受け付けた配置対象データを配置する位置情報を取得する。ここでは座標の情報(x1+a,y1+b)を取得する。
検出部105は、配置指示受付部104が受け付けた配置対象データの属性を示す値を取得する。ここでは、予め、配置領域に配置可能な画像データの拡張子のリストが、図示しない記憶媒体等に格納されているものとする。そして、配置対象データの拡張子がこの画像データの拡張子のリストに含まれていれば、画像データであると判断し、含まれていなければ、文字列のデータであると判断するものとする。ここでは、「tif」という拡張子が、画像データの拡張子として登録されているものとする。このため、検出部105は、配置対象データの属性を示す情報として、「画像データ」という情報を取得する。
次に、検出部105は、既存の配置領域122a〜122hに配置されているデータの属性と、既存の配置領域と配置対象データが配置される位置との間の距離とを用いて、対象配置領域を検出する。
まず、配置領域122aについて、この配置領域122aに配置されているデータの属性を示す情報を取得する。配置領域122aは、「配置領域ID」が「001」である配置領域であり、この配置領域に配置されているデータは、図7に示した配置管理情報から、「データID」が「B1」であるデータであるため、図6に示したデータ格納部101に格納されているデータのうちの「データID」が「B1」であるデータの属性を示す情報を取得する。図6においては、「データID」が「B1」であるデータは、タグ内に含まれるID属性が「B1」であるタグが付けられたデータである。ここでは、ID属性が「B1」であるタグが付けられたデータは、「shop01.tif」であるため、検出部105は、このデータの属性を示す情報を、上述したような配置対象データの属性を取得する方法と同様の方法により、取得する。ここでは、「shop01.tif」の拡張子は「tif」であるため、「画像データ」という属性が取得される。このため、検出部105は、配置領域122aに配置されているデータの属性と、配置対象データの属性とが一致すると判断する。
このため、検出部105は、配置領域122aとデータが配置される位置との間の距離を算出し、算出した距離の値を、配置領域122aの「配置領域ID」と対応付けて図示しないメモリ等の記憶媒体に一時記憶する。ここでは、配置領域122とデータが配置される位置との間の距離は、配置領域122の中心座標とデータが配置される位置を示す座標との距離であるとする。
次に、上記と同様に、配置領域122bに配置されているデータの属性を示す情報を取得する。ここでは、図6に示したデータ格納部101に格納されているデータのうちの「データID」が「B2」であるデータの属性を示す情報を取得する。「データID」が「B2」であるデータは、ID属性が「B2」であるタグが付けられたデータである。ここでは、ID属性が「B2」であるタグが付けられたデータは「ホール係」という文字列のデータであり、画像データであることを示す拡張子を有していないため、検出部105は、文字列データという属性の値を取得する。検出部105は、取得した属性が、配置対象データの属性である「画像データ」と一致しないため、この配置領域122bについては、距離の算出を行わない。
検出部105は、上記と同様の処理を、レイアウト領域121に配置されている全ての配置領域122について、繰り返す。
全ての配置領域122について、上記の処理を行った結果、距離が一時記憶された配置領域は、「配置領域ID」が「001」および「005」である二つの配置領域であったとする。
検出部105は、この二つの配置領域のうちの、一時記憶されている算出した距離が最も短い方を検出する。ここでは、「配置領域ID」が「001」である配置領域の距離が最も短かったとすると、検出部105は、この「配置領域ID」が「001」である配置領域を検出する。この「配置領域ID」が「001」である配置領域が対象配置領域である。
つぎに、配置情報取得部106は、対象配置領域に配置されているデータである「データID」が「B1」であるデータを検出する。そして、このデータと同じグループに属する一以上のデータを検出する。ここでは、同じグループに属する全てのデータを検出する。図3に示すように、「データID」が「B1」であるデータと同じグループに属するデータは、「<募集内容>」というタグで区切られたデータ群のうちの、ID属性が「B1」であるデータを含むデータ群である。ここでは、ID属性が「B1」、「B2」、「B3」、および「B4」であるデータ群が「データID」が「B1」であるデータと同じグループに属するデータである。
つぎに、配置情報取得部106は、ID属性が「B1」、「B2」、「B3」、および「B4」であるデータが配置されている配置領域を設定する配置情報を取得する。具体的には、「データID」が「B1」、「B2」、「B3」、および「B4」であるデータが配置される配置領域の「配置領域ID」である「001」、「002」、「003」および「004」を、図5に示した配置管理情報から取得する。そして、取得した「配置領域ID」である「001」、「002」、「003」および「004」に対応した配置情報を、図5に示した配置情報管理表から取得する。
配置情報取得部106は、対象配置領域である「配置領域ID」が「001」である配置領域の中心座標(x1,y1)と、配置指示が指定するデータが配置される位置を示す座標(x1+a,y1+b)との、x軸方向の距離、およびy軸方向の距離を算出する。対象配置領域の位置を基準とすると、配置指示が指定するデータが配置される位置のx軸方向の距離はa、y軸方向の距離はbとなる。
そして、配置情報取得部106は、配置情報管理表から取得した「配置領域ID」が「001」、「002」、「003」および「004」である各配置領域を設定する各配置情報の位置情報である「中心座標x」の値と「中心座標y」の値とに、それぞれ値aおよび値bを加算する。これにより、「配置領域ID」が「001」から「004」までの配置領域の全体を、対象配置領域である「配置領域ID」が「001」の配置領域が、配置指示が指定する位置に重なるように、複製して平行移動させたような新たな配置領域を設定する配置情報を取得することができる。この配置情報が、取得配置情報である。そして、配置情報取得部106は、新たに取得した取得配置情報に、「配置領域ID」を付与して、配置情報格納部102に蓄積する。ここでは、既存配置情報に、取得配置情報を追記する。
図9は、配置情報取得部106が取得した配置情報を加えた配置情報管理表を示す図である。「配置領域ID」が「009」から「012」までの配置情報が、配置情報取得部106が取得して蓄積した取得配置情報である。「配置領域ID」が「009」から「012」までの配置情報は、それぞれ「配置領域ID」が「001」から「004」までの既存配置情報に対応して取得された取得配置情報である。
さらに、データ取得部108は、対象配置領域に配置されている「データID」が「B1」であるデータと同じグループに属するデータに含まれるタグを順次取得し、取得したタグを含むデータを生成する。「データID」が「B1」であるデータと同じグループに属するデータは、上述したようにID属性が「B1」、「B2」、「B3」および「B4」であるデータである。具体的には、データ取得部108は、「データID」が「B1」であるデータと同じグループに属するデータから順次タグを取得し、このタグを含むデータを順次生成する。ここでは、通常は、要素を有さない空タグを生成する。また、タグ内には新たにID属性(データID)を付与する。付与するID属性は連番等である。例えば、ID属性が「B2」であるデータからは、「<職種>」というタグを取得し、このタグを含む空タグである「<職種> </職種>」というデータを生成する。ID属性が「B3」および「B4」のデータについても同様である。そして、データ取得部108は、取得したタグを有するデータをグループ化してデータ格納部101に蓄積する。ここでは取得したデータを追記する。
なお、ID属性が「B1」であるデータは、対象配置領域に配置されているデータであるため、ここでは、データ取得部108は、ID属性が「B1」であるデータから「<イメージ>」というタグを取得し、このタグを配置対象データに付与したデータを取得する。また、ID属性(データID)として、「B9」を付与する。具体的には、「<イメージ ID="B9">shopA.tif</イメージ>」というデータを生成する。そして生成したデータをデータ格納部101に蓄積する。なお、配置対象データを蓄積する代わりに、データ取得部108により、対象配置領域配置されているタグと同じタグを有するデータとして、上記と同様に空タグ等を生成して蓄積するようにしても良い。
図10は、データ取得部108が取得したデータを加えた、データ格納部101に格納されているデータを示す図である。ID属性が「B9」から「B12」までのデータ91が、新たに追加されたデータである。
次に、配置管理情報更新部109は、配置情報取得部106が取得した、既存配置領域に対応する取得配置領域を設定する取得配置情報と、データ取得部108が取得した、取得配置領域に対応する既存配置領域に配置されているデータに付与されているタグと同じタグを含むデータとが、対応付けて管理されるよう、配置管理情報を更新する。具体的には、配置管理情報更新部109は、「配置領域ID」が「001」である既存配置領域に対応して取得された「配置領域ID」が「009」である取得配置情報と、「配置領域ID」が「001」である既存配置領域に配置されていたデータと同じタグを有する「データID」が「B9」であるデータとを対応付ける配置管理情報を追記する。同様に、配置管理情報更新部109は、「配置領域ID」が「002」から「004」である既存配置領域に対応してそれぞれ取得された「配置領域ID」が「0010」から「0012」である取得配置情報と、「配置領域ID」が「002」から「004」である既存配置領域に配置されていたデータと同じタグを有する「データID」が「B10」から「B12」であるデータとを対応付ける配置管理情報を追記する。
図11は、配置管理情報更新部109が更新した配置管理情報を示す図である。
表示部112は、図9に示した配置情報管理表、図10に示したデータ、および図11に示した配置管理情報を用いて、配置領域にデータを配置したレイアウト画面を構成し表示する。
図12は、表示部112による表示例を示す図である。「配置領域ID」が「009」〜「012」である配置領域122i〜122lは、配置情報取得部106によって新たに作成された配置領域である。「配置領域ID」が「010」〜「012」である配置領域122j〜122lに対応付けられたデータは、空タグであるため、配置領域122j〜122l内にはデータが表示されない。配置領域「009」に表示されているデータは画像データ「shopA.tif」である。
次に、ユーザが、図示しない受付部等に、レイアウトした情報を出力する指示を与えると、出力部113は、配置情報格納部102に格納されている配置情報や、データ格納部101に格納されているデータや、配置管理情報格納部103に格納されている配置管理情報等を外部の装置や記録媒体等に出力する。また、データ格納部101に格納されている更新されたXML形式のデータを出力するようにしても良い。
ここで、例えば、ユーザが、レイアウト領域に配置されている「配置領域ID」が「005」である配置領域122eを指定し、当該指定した配置領域を削除するための操作を行ったとする。この場合、この操作に応じて、削除指示受付部110は、「配置領域ID」が「005」である配置領域122eの削除指示を受け付ける。
領域削除部111は、「配置領域ID」が「005」である配置領域122eを設定する配置情報のうちの、配置領域122eの位置を指定する情報を、この配置領域122aが、レイアウト領域121以外の位置に配置されるような位置を指定する情報に変更する。例えば、「配置領域ID」が「005」である配置領域を設定する配置情報の「中心座標x」「中心座標y」の値を、それぞれ、レイアウト領域121の右側の位置を指定する値「x9」、「y9」に変更する。このとき、「x9」、「y9」の値は、配置領域の幅や高さ等を考慮して、配置領域の一部がレイアウト領域121内に位置しないような値に設定する。ここでは、この削除指示の対象となる配置領域の移動先となる、レイアウト領域の横に位置する領域を、削除領域と呼ぶ。
図13は、削除された配置領域122eがレイアウト領域121以外の領域に配置されている状態を示す表示例である。このように、削除指示でレイアウト領域121外に配置された配置領域122a内に配置されているデータを、配置対象データに指定して、上記と同様に、いわゆるドラッグアンドドロップ等の操作によって、配置指示を受け付けるようにしても良い。例えば、データをドロップした位置、即ち、データを配置した位置が、配置指示により指定されるデータを配置する位置となる。なお、レイアウト領域121外の配置領域に配置されたデータを、最終的に利用しない場合や、処理を終了する際等には、この配置領域を削除するとともに、この配置領域に配置されていたデータも、データ格納部101から削除するようにしてよい。
以上、本実施の形態によれば、データを配置する配置指示を与えた場合に、配置指示の対象となるデータである配置対象データの属性と一致する属性を有するデータが配置されている配置領域であって、前記配置対象データが配置される領域に対して予め指定した位置関係にある配置領域である対象配置領域を検出し、この検出した対象配置領域に配置されているデータが属するグループに対応した配置情報を取得し、配置情報格納部102に格納するようにした。これにより、配置領域を、既存の配置領域や、配置しようとするデータの属性に応じて、生成することが可能となり、配置領域を作成する手間を大幅に削減することができる。特に、既にレイアウトした配置領域の情報を、テンプレート等として登録したりすることなく再利用することができ、統一感のあるレイアウトを容易に作成することができる。また、レイアウトするデータの属性や、配置する位置に応じて適切なレイアウトを作成することができる。
また、本実施の形態によれば、取得した配置情報に配置するためのタグを有するデータを、既存の配置領域に配置されているデータを用いて作成することができる。このため、配置情報がなくても、ユーザはこのデータを見れば、どのようなデータが、新たに作成された配置領域に配置するために必要であるかを、明確に知ることができる。また、このデータに対して、新たに作成された配置領域に配置するためのデータを、直接追加したり変更したりすることが可能となる。この結果、ユーザは、配置情報等を用いることなく、データの編集が可能となる。
なお、本実施の形態においては、データ取得部108を省略して、配置情報取得部106により取得した配置領域に対応するデータを、取得しないようにしても良い。
また、配置領域に配置するデータは、データと配置領域との対応関係や、データ同士のグループ関係等を管理可能な情報であれば、タグ付けされていないデータであっても良い。
なお、配置指示受付部104が受け付ける配置指示が示す位置は、必ずしも、ユーザがポインタや座標入力等により指定する位置に厳密に一致している必要はなく、例えば、ユーザが指定した位置に対して近接するグリッド上の位置を、配置指示が指定する位置として配置指示受付部104が受けつけるようにしても良い。また、配置情報取得部106は、配置指示が指定する位置が存在する方向の、対象配置領域に配置されているデータと同じグループのデータが配置されている配置領域に対して、横方向、あるいは縦方向、あるいは予め指定した角度において整列された位置に、取得配置領域を配置するための取得配置情報を取得するようにしても良い。また、配置情報取得部106は、予め指定されているグリッドに沿って取得配置領域を配置する取得配置情報を取得するようにしても良い。
(実施の形態2)
本実施の形態にかかる情報処理装置は、配置対象データのタグと一致するタグを有するデータが配置された対象配置領域を検出するようにしたものである。
図14は、本実施の形態にかかる情報処理装置の構成を示すブロック図である。情報処理装置2は、データ格納部101、配置情報格納部102、配置管理情報格納部103、配置指示受付部104、検出部205、配置情報取得部106、データ取得部108、配置管理情報更新部109、削除指示受付部110、領域削除部111、表示部112、および出力部113を備えている。
検出部205以外の構成については、上記実施の形態1と同様であるので、詳細な説明は省略する。なお、本実施の形態においては、配置指示受付部104が受け付ける配置指示の対象となる配置対象データは、タグ付けられたデータであるとする。また、配置指示受付部104が受け付けたタグ付けられたデータは、データ取得部108等が取得して、データ格納部101に蓄積するようにしても良い。
検出部205は、配置対象データがタグ付けられたデータである場合に、配置情報および配置管理情報を用いて、配置対象データと一致するタグが付けられたデータが配置されている配置領域であって、配置対象データが配置される領域に対して予め指定した位置関係にある配置領域である対象配置領域を検出する。
具体的には、上述した実施の形態1による配置対象データの属性と一致する属性を有するデータが配置されている配置領域を検出する処理において、属性の代わりにタグ同士が一致しているか否かの判断を行うようにすればよい。ここで述べる一致は、完全一致であっても部分一致であっても良い。
また、検出部205は、配置対象データがタグ付けられたデータである場合に、配置情報および配置管理情報を用いて、配置対象データに対して属性および付与されているタグが一致するデータが配置されている配置領域であって、配置対象データが配置される領域に対して予め指定した位置関係にある配置領域である対象配置領域を検出するようにしてもよい。この場合のデータの属性とは、例えばタグ付けられたデータの要素の部分のデータである。
なお、検出部205は、配置対象データがタグ付けられたデータであるか否かの判断を行うようにしても良いが、配置指示受付部104が受け付ける配置対象のデータが、タグ付きのデータに制限されている場合や、ユーザがタグ付きのデータの配置指示しか与えない場合等には、検出部205による判断は不要である。ここでは、判断を行わない場合について説明する。
検出部205は、通常、MPUやメモリ等から実現され得る。検出部205の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
本実施の形態の動作については、図3において説明した上記実施の形態の動作において、ステップS302やステップS304のデータの属性を取得する処理や、ステップS305のデータの属性が一致するか否かの判断を行う処理の代わりに、データのタグを取得する処理や、既存配置領域に配置されているデータのタグと、配置対象データのタグとが一致するか否かを判断する処理を行うようにしたものであるため、ここでは、詳細な説明は省略する。
次に、本実施の形態の具体例について説明する。
例えば、上記実施の形態の具体例の図13に示したように、レイアウト領域121以外の削除領域に配置された「配置領域ID」が「005」である配置領域に配置されていたとする。このデータは、「配置領域ID」が「005」である配置領域に配置された「データID」が「B5」である「<イメージ ID="B5">shop02.tif</イメージ>」というデータである。
次に、ポインタ等でこの「データID」が「B5」であるデータを選択して、図15に示すように、いわゆるドラッグアンドドロップにより、レイアウト領域121に配置する指示を与えたとする。即ち、データ上にポインタを配置した状態で、マウスボタンを押したままドラッグして、レイアウト領域121上へポインタを移動させて、マウスボタンを放したとする。これにより、マウスボタンを放した時点におけるポインタの位置を、「データID」が「B5」であるデータを配置する位置の情報として、配置指示受付部104が受け付ける。
検出部105は、配置指示受付部104が受け付けた配置対象データのタグを取得する。ここでは、「<イメージ>」というタグを取得する。なお、タグのID属性等の属性値等はここでは無視するものとする。
次に、検出部105は、既存の配置領域122a〜122lに配置されているデータに付与されているタグと、既存の配置領域と配置対象データが配置される位置との間の距離とを用いて、対象配置領域を検出する。
まず、配置領域122aについて、この配置領域122aに配置されているデータに付与されているタグを取得する。配置領域122aは、「配置領域ID」が「001」である配置領域であり、この配置領域に配置されているデータは、図7に示した配置管理情報から、「データID」が「B1」であるデータであるため、図6に示したデータ格納部101に格納されているデータのうちの「データID」が「B1」であるデータのタグを取得する。図6においては、「データID」が「B1」であるデータは、「<イメージ>」というタグが付けられたデータであるため、「<イメージ>」というタグが取得される。このため、検出部105は、配置領域122aに配置されているデータのタグと、配置対象データのタグとが一致すると判断する。
このため、検出部105は、配置領域122aとデータが配置される位置との間の距離を算出し、算出した距離の値を、配置領域122aの「配置領域ID」と対応付けて図示しないメモリ等の記憶媒体に一時記憶する。
次に、上記と同様に、配置領域122bに配置されているデータの属性を示す情報を取得する。ここでは、図6に示したデータ格納部101に格納されているデータのうちの「データID」が「B2」であるデータのタグを取得する。「データID」が「B2」であるデータは、ID属性が「B2」であるタグが付けられたデータである。ここでは、「データID」が「B2」であるデータのタグである「<職種>」を取得する。そして、検出部105は、取得した属性が、配置対象データの属性である「<イメージ>」と比較する。そして一致しないと判断されるため、この配置領域122bについては、距離の算出を行わない。
検出部105は、上記と同様の処理を、レイアウト領域121に配置されている全ての配置領域122について、繰り返す。そして、算出した距離の最も短い配置領域を対象配置領域として検出する。その後の処理については、上記実施の形態1と同様であるのでここでは説明を省略する。
以上、本実施の形態によれば、データを配置する配置指示を与えた場合に、配置指示の対象となるデータである配置対象データのタグと一致するタグを有するデータが配置されている配置領域であって、前記配置対象データが配置される領域に対して予め指定した位置関係にある配置領域である対象配置領域を検出し、この検出した対象配置領域に配置されているデータが属するグループに対応した配置情報を取得し、配置情報格納部102に格納するようにした。これにより、配置領域を、既存の配置領域や、配置しようとするデータに付与されているタグに応じて、生成することが可能となり、配置領域を作成する手間を大幅に削減することができる。特に、既にレイアウトした配置領域の情報を、テンプレート等として登録したりすることなく再利用することができ、統一感のあるレイアウトを容易に作成することができる。また、レイアウトするデータの属性や、配置する位置に応じて適切なレイアウトを作成することができる。
また、本実施の形態によれば、取得した配置情報に配置するためのタグを有するデータを、既存の配置領域に配置されているデータを用いて作成することができる。このため、配置情報がなくても、ユーザはこのデータを見れば、どのようなデータが、新たに作成された配置領域に配置するために必要であるかを、明確に知ることができる。また、このデータに対して、新たに作成された配置領域に配置するためのデータを、直接追加したり変更したりすることが可能となる。この結果、ユーザは、配置情報等を用いることなく、データの編集が可能となる。
なお、本実施の形態において、配置対象データとして用いられるデータが、タグ付けられたデータとタグ付けられていないデータとが混在したデータである場合等には、検出部205は、まず、配置対象データがタグ付けられたデータであるか否かを判断し、その判断結果に応じた処理を、以下のように行うようにしても良い。即ち、検出部105は、配置対象データがタグ付けられたデータである場合に、配置情報および配置管理情報を用いて、配置対象データと属性および付与されているタグが一致するデータが配置されている配置領域であって、配置対象データが配置される領域に対して予め指定した位置関係にある配置領域である対象配置領域を検出するようにする。一方、配置対象データがタグ付けられていないデータである場合には、上記実施の形態1と同様に、配置情報および配置管理情報を用いて、配置対象データと一致する属性を有するデータが配置されている配置領域であって、配置対象データが配置される領域に対して予め指定した位置関係にある配置領域である対象配置領域を検出するようにするようにしてもよい。また、この場合、上記実施の形態1と同様に、配置対象データにタグを付与して、データ格納部101に蓄積するようにしても良い。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、データ格納部には、1以上のグループにグループ化された1以上のデータが格納されており、配置情報格納部には、1以上のデータをそれぞれ配置するための1以上の配置領域を設定する情報である配置情報が格納されており、配置管理情報格納部には、前記配置情報と、当該配置情報により設定される配置領域に配置された、前記データ格納部に格納されているデータとの対応関係を管理する情報である配置管理情報が格納されており、コンピュータを、データのレイアウト対象となる領域であるレイアウト領域に、データを配置する指示である配置指示を受け付ける配置指示受付部と、前記配置情報および配置管理情報を用いて、前記配置指示の対象となるデータである配置対象データの属性と一致する属性を有するデータが配置されている配置領域であって、前記配置対象データが配置される領域に対して予め指定した位置関係にある配置領域である対象配置領域を検出する検出部と、前記検出部が検出した対象配置領域に配置されているデータが属するグループに対応した配置情報を取得し、前記配置情報格納部に蓄積する配置情報取得部として機能させるためのプログラムである。
また、データ格納部には、1以上のグループにグループ化された1以上のタグ付けられたデータが格納されており、配置情報格納部には、1以上のデータをそれぞれ配置するための1以上の配置領域を設定する情報である配置情報が格納されており、配置管理情報格納部には、前記配置情報と、当該配置情報により設定される配置領域に配置された、前記データ格納部に格納されているデータとの対応関係を管理する情報である配置管理情報が格納されており、コンピュータを、データのレイアウト対象となる領域であるレイアウト領域に、データを配置する指示である配置指示を受け付ける配置指示受付部と、前記配置指示の対象となるデータである配置対象データがタグ付けられたデータである場合に、前記配置情報および配置管理情報を用いて、前記配置対象データと一致するタグが付けられたデータが配置されている配置領域であって、前記配置対象データが配置される領域に対して予め指定した位置関係にある配置領域である対象配置領域を検出する検出部と、前記検出部が検出した対象配置領域に配置されているデータが属するグループに対応した配置情報を取得し、前記配置情報格納部に蓄積する配置情報取得部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図16は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図16において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図17は、コンピュータシステム900の内部構成を示す図である。図17において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。