以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、ディスクトップパブリッシング(DTP)を行う情報処理装置について説明する。また、本実施の形態において、データの配置領域(例えば、フレーム)内にタグ付データが存在する環境において、タグ外にデータを挿入された場合に、タグ無しのデータとならないように処理を行う情報処理装置について説明する。その処理は、例えば、入力されたデータを、既に存在するタグ内に挿入する処理である。また、その処理は、例えば、挿入されたデータの位置に最も近い位置に配置されているタグ付与データを検出し、そのタグ付与データの先頭、または最後に挿入する処理である。また、その処理は、例えば、挿入されたデータの直後に配置されているタグ付与データの先頭に挿入する処理である。また、その処理は、例えば、挿入されたデータの直前に配置されているタグ付与データの最後に挿入する処理である。さらに、本実施の形態において、データの配置領域(例えば、フレーム)内に複数のタグ付データが存在し、2つのタグ付データ間にデータが挿入された場合について説明する。かかる場合は、本情報処理装置の機能が有効に働く場合である。
図1は、本実施の形態における情報処理装置1のブロック図である。情報処理装置1は、タグ付与データ格納部11、配置情報格納部12、配置管理情報格納部13、受付部14、判断部15、タグ処理部16、データ変更部17、出力部18を具備する。
タグ付与データ格納部11は、1以上のタグ付与データが格納され得る。タグ付与データとは、タグが付与されたデータである。タグとは、例えば、HTMLやXMLやSGMLなどのタグである。タグは、例えば、<最寄り駅>、<時給>など、データに付与される情報である。タグは、開始タグ(例えば、<最寄り駅>)だけでも良いし、終了タグ(例えば、</最寄り駅>)を含んでも良い。タグ付与データとは、属性名(例えば、最寄り駅)とデータ(例えば、品川)の対でも良い。タグ付与データは、例えば、「<最寄り駅>最寄り駅:品川</最寄り駅>」である。タグ付与データのデータ形式は問わない。また、タグの記載形式は問わない。なお、ここでは、開始タグは<文字列>、終了タグは</文字列>で表している。タグ付与データ格納部11は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。入力デバイスを介して入力されたタグ付与データがタグ付与データ格納部11で記憶されるのが通常であるが、タグ付与データ格納部11にタグ付与データが記憶される過程は問わない。例えば、記録媒体を介してタグ付与データがタグ付与データ格納部11で記憶されるようになってもよく、通信回線等を介して送信されたタグ付与データがタグ付与データ格納部11で記憶されるようになってもよい。
配置情報格納部12は、1以上の配置情報が格納され得る。配置情報とは、タグ付与データが配置される領域である配置領域を示す情報である。配置領域とは、いわゆるフレームと言われるが、フレーム枠、枠と考えても良い。また、フレームとは、例えば、インラインフレームである。配置情報は、通常、矩形を示す情報であり、配置領域の位置(通常、ディスプレイの画面上の位置)を特定する座標の集合(例えば、矩形の左上点の座標値(x1,y1)、右下点の座標値(x2,y2))や、配置領域の位置を特定する矩形の左上点の座標値(x1,y1)と矩形の幅、高さ(w,h)である。配置情報が示す配置領域に、2以上のタグ付与データが配置されている場合もあり得る。配置情報格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。通常、入力デバイスを介して入力された配置情報が配置情報格納部12で記憶される。ただし、配置情報格納部12に配置情報が記憶される過程は問わない。例えば、記録媒体を介して配置情報が配置情報格納部12で記憶されるようになってもよく、通信回線等を介して送信された配置情報が配置情報格納部12で記憶されるようになってもよい。
配置管理情報格納部13は、1以上の配置管理情報が格納され得る。配置管理情報は、配置情報と、当該配置情報が示す配置領域に配置されたタグ付与データとの対応関係を管理する情報である。ここで、対応関係とは、どの配置領域にどのタグ付与データが配置されているかを示す情報である。配置管理情報とは、配置情報とタグ付与データとをリンク付けるポインタ、配置情報のIDとタグ付与データのIDの組などでも良い。ただし、配置管理情報は、配置情報とタグ付与データとの対応がとれる情報であればよい。なお、配置情報とタグ付与データが、例えば、データベースの一レコードを構成したり、同一のバッファに格納されている場合などは、陽には、配置管理情報は存在しないが、当該レコードを識別する情報や、当該バッファを識別する情報を配置管理情報であると考えても良い。また、配置情報とタグ付与データが、一レコードを構成したり、同一のバッファに格納されている事実をもって、配置管理情報が存在すると考えても良い。つまり、結果的に配置情報とタグ付与データとの対応がとれれば、配置管理情報は存在するものとする。配置管理情報格納部13は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。通常、入力デバイスを介して入力された配置管理情報が配置管理情報格納部13で記憶される。ただし、配置管理情報格納部13に配置管理情報が記憶される過程は問わない。例えば、記録媒体を介して配置管理情報が配置管理情報格納部13で記憶されるようになってもよく、通信回線等を介して送信された配置管理情報が配置管理情報格納部13で記憶されるようになってもよい。
受付部14は、指示を受け付ける。指示とは、例えば、データを配置領域に入力する指示である。かかる指示を入力指示という。入力指示は、通常、データを含む。入力指示は、例えば、入力対象のデータ、入力先の配置領域を特定する情報(例えば、配置情報を識別する配置情報識別子)、および入力するデータの位置を特定する情報(後述するオフセットは、その一例である)などを有する。また、指示とは、例えば、データの出力指示である。出力指示は、例えば、タグ付与データ格納部11に格納されている1以上のタグ付与データを、配置情報格納部12の配置情報が示す配置領域に出力する指示である。また、受付部14は、2以上のタグ付与データが配置された配置領域内の、2つのタグ付与データの間の領域に、データを入力する入力指示を受け付ける。指示の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。ユーザは、例えば、情報処理装置1が実現するDTPシステムのエディタ(オーサリングツール)に対して、マウス、キーボード等により、指示を入力する。受付部14は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。なお、受け付けとは、外部装置からの受信や、記憶媒体からの読み込み、と考えても良い。
判断部15は、受付部14が受け付けた入力指示が、タグの無い領域へのデータの入力指示であるか否かを判断する。判断部15は、例えば、カーソルが存在する位置を取得し、ユーザがデータを入力した際に、当該カーソルがタグの無い領域に存在しているか否かを判断する。その場合、判断部15は、例えば、配置情報が示す配置領域内の、タグ付与データの相対的な位置(オフセット)の範囲を取得し、かつ、カーソルの位置(配置領域内の相対的な位置)を取得し、カーソルがタグ内か否かを判断する。タグの無い領域とは、タグに挟まれていない領域である。ある配置領域に、例えば「<最寄り駅>最寄り駅:品川</最寄り駅> |<時給>時給:800円</時給>」という2つのタグ付与データ「<最寄り駅>最寄り駅:品川</最寄り駅>」「<時給>時給:800円</時給>」と、2つのスペース、カーソル「|」が存在する場合において、判断部15は、以下のように判断する。なお、カーソルは、実体的に存在するものではなく、例えば、判断部15が、内部にカーソルの位置の情報(例えば、配置情報のIDとオフセット)を保持している、としても良い。つまり、かかる場合、ユーザは、カーソルの位置にデータを入力すれば、判断部15は、カーソル「|」は、いずれのタグ内にも存在しないので、受付部14が受け付けた入力指示がタグの無い領域へのデータの入力指示であると判断する。また、ある配置領域に、例えば「<最寄り駅>最寄り駅:品川</最寄り駅> <時給>|時給:800円</時給>」という2つのタグ付与データ「<最寄り駅>最寄り駅:品川</最寄り駅>」「<時給>時給:800円</時給>」と、2つのスペース、カーソル「|」が存在する場合において、判断部15は、以下のように判断する。つまり、かかる場合、ユーザは、カーソルの位置にデータを入力すれば、判断部15は、カーソル「|」は、タグ内に存在するので、受付部14が受け付けた入力指示がタグのある領域へのデータの入力指示であると判断する。タグ内とは、開始タグ(例えば、<時給>)と終了タグ(例えば、</時給>)の間であることを言う。判断部15は、通常、MPUやメモリ等から実現され得る。判断部15の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
タグ処理部16は、判断部15が、入力指示がタグの無い領域へのデータの入力指示であると判断した場合、タグ無しのデータとならないように処理を行う。タグ無しのデータとならないようにする処理は、種々あり得る。タグ無しのデータとならないようにする処理は、例えば、既存のタグ付与データに、入力されたデータを付加する処理である。かかる場合、入力されたデータは、タグ内のいずれかの場所に挿入される。つまり、タグ処理部16は、入力指示に対応する配置領域に配置されている1以上のタグ付与データのうちのいずれか一のタグ付与データに対して、入力指示に含まれるデータを挿入する処理を行っても良い。さらに具体的には、タグ処理部16は、入力指示に含まれるデータが入力された位置に最も近い位置に存在するタグ付与データを検出し、当該検出したタグ付与データの先頭または最後に、入力指示に含まれるデータを挿入する処理を行っても良い。また、タグ処理部16は、入力指示に含まれるデータの直後に存在するタグ付与データを検出し、当該検出したタグ付与データの先頭に、入力指示に含まれるデータを挿入する処理を行っても良い。また、タグ処理部16は、入力指示に含まれるデータの直前に存在するタグ付与データを検出し、当該検出したタグ付与データの最後に、入力指示に含まれるデータを挿入する処理を行っても良い。さらに、タグ無しのデータとならないようにする処理は、例えば、入力されたデータに、新たにタグを付与する処理である。なお、新たにタグを付与する処理については、実施の形態2または3で説明する。
また、タグ無しのデータは、当該データが格納される領域(例えば、データベース中の属性や、XMLデータベースの対応するタグ)が無いので、データが蓄積できないなどの不都合が生じ得る。また、タグ無しのデータは、当該データのデータ構造が、システムが予定しているデータ構造と異なることになり、種々の処理(表示、蓄積、送信など何でも良い)の際に、処理を遂行できないなどの不都合が生じ得る。また、タグ無しのデータとならないようにする処理は、当該データを入力できないようにしても良い。また、データを挿入する処理とは、一のタグ付与データに、入力されたデータが追記される処理である。かかる処理が行われた場合、タグの無い領域のデータは無くなる。また、かかる処理が行われた場合、通常、データは、論理的に移動した(タグ内に吸収された)ように見える。
データが入力された位置に最も近い位置のタグ付与データを検出する処理は、例えば、着目する配置領域内の2以上のタグ付与データの開始タグまたは終了タグと、データ(カーソルでも良い)との距離を算出し、当該距離が最も近いタグ付与データを取得する処理である。また、データ(たとえば、「○」)をタグ付与データの先頭に挿入する処理は、当該データの直後に存在するタグ付与データ(たとえば、「<時給>時給:800円</時給>」)の先頭にデータを挿入する処理である。かかる場合、例えば、「<時給>○時給:800円</時給>」が得られる。さらに、データ(たとえば、「です」)をタグ付与データの最後に挿入する処理は、当該データの直前に存在するタグ付与データ(たとえば、「<時給>時給:800円</時給>」)の最後に挿入する処理である。かかる場合、例えば、「<時給>時給:800円です</時給>」が得られる。タグ処理部16は、通常、MPUやメモリ等から実現され得る。タグ処理部16の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
データ変更部17は、判断部15が、入力指示がタグの無い領域へのデータの入力指示でないと判断した場合、入力指示に対応したタグ付与データの変更を行う。ここで、変更とは、タグ付与データ内のデータの変更である。変更は、追加、更新などである。データ変更部17は、公知の編集処理を行う。データ変更部17は、通常、MPUやメモリ等から実現され得る。データ変更部17の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部18は、受付部14がデータの出力指示を受け付けた場合、例えば、タグ付与データ格納部11の1以上のタグ付与データを、配置管理情報格納部13の配置管理情報に従って、配置情報格納部12の配置情報が示す配置領域に出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念である。出力部18は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部18は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報処理装置1の動作について図2のフローチャートを用いて説明する。
(ステップS201)受付部14は、指示を受け付けたか否かを判断する。指示を受け付ければステップS202に行き、指示を受け付けなければステップS201に戻る。
(ステップS202)出力部18は、ステップS201で受け付けられた指示が出力指示であるか否かを判断する。出力指示であればステップS203に行き、出力指示でなければステップS204に行く。
(ステップS203)出力部18は、配置情報(例えば、フレーム)やタグ付与データを出力する。この出力処理について、図3のフローチャートを用いて、詳細に説明する。ステップS201に戻る。
(ステップS204)判断部15は、ステップS201で受け付けられた指示が入力指示であるか否かを判断する。入力指示であればステップS205に行き、入力指示でなければステップS206に行く。
(ステップS205)判断部15等は、入力処理を行う。入力処理について、図4のフローチャートを用いて、詳細に説明する。ステップS201に戻る。
(ステップS206)図示しない処理部などが、指示に対応した処理を行う。指示が、データを蓄積する蓄積指示の場合、例えば、処理部は、図示しないデータベース(例えば、XMLデータベース)に、データを蓄積する。ステップS201に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS203の出力処理について、図3のフローチャートを用いて、詳細に説明する。
(ステップS301)出力部18は、カウンタiに1を代入する。
(ステップS302)出力部18は、配置情報格納部12に、i番目の配置情報が存在するか否かを判断する。i番目の配置情報が存在すればステップS303に行き、i番目の配置情報が存在しなければ上位処理にリターンする。
(ステップS303)出力部18は、配置情報格納部12から、i番目の配置情報を読み出し、i番目の配置情報に対応する配置領域(フレームなど)を出力する。なお、配置領域(例えば、フレームの枠)は、ユーザに見えても良いし、見えなくても良い。
(ステップS304)出力部18は、i番目の配置情報に対応するタグ付与情報を、タグ付与データ格納部11から読み出す。ここで、通常、出力部18は、1以上のタグ付与情報を読み出し、メモリ上に配置する。なお、例えば、出力部18は、i番目の配置情報に対応する配置管理情報を、配置管理情報格納部13から読み出す。そして、出力部18は、読み出した配置管理情報に対応する1以上のタグ付与情報を、タグ付与データ格納部11から読み出す。
(ステップS305)出力部18は、カウンタjに1を代入する。
(ステップS306)出力部18は、ステップS304で読み出したタグ付与情報の中に、j番目のタグ付与情報が存在するか否かを判断する。j番目のタグ付与情報が存在すればステップS307に行き、j番目のタグ付与情報が存在しなければステップS309に行く。
(ステップS307)出力部18は、j番目のタグ付与情報を、i番目の配置情報で示される配置領域に出力する。
(ステップS308)出力部18は、カウンタjを1、インクリメントする。ステップS306に戻る。
(ステップS309)出力部18は、カウンタiを1、インクリメントする。ステップS302に戻る。
なお、図3のフローチャートにおいて、配置情報とタグ付与情報の出力順序は問わない。まず、すべての配置情報を出力したのち、タグ付与情報を出力しても良い。
次に、ステップS205の入力処理について、図4のフローチャートを用いて、詳細に説明する。
(ステップS401)判断部15は、カレントのカーソルの位置を取得する。カーソルの位置は、配置情報を識別する情報と、当該配置情報が示す配置領域内の相対的な位置を示す情報(例えば、オフセット)などである。また、カーソルの位置は、画面上の座標位置などでも良い。
(ステップS402)判断部15は、カレントのカーソルが存在する配置領域を示す配置情報を取得する。
(ステップS403)判断部15は、ステップS402で取得した配置情報に対応する1以上のタグ付与データを取得する。なお、判断部15は、通常、配置管理情報を用いて、配置情報から1以上のタグ付与データを取得する。
(ステップS404)判断部15は、カウンタiに1を代入する。
(ステップS405)判断部15は、ステップS403で取得した1以上のタグ付与データの中に、i番目のタグ付与データが存在するか否かを判断する。i番目のタグ付与データが存在すればステップS406に行き、i番目のタグ付与データが存在しなければステップS408に行く。
(ステップS406)判断部15は、ステップS401で取得したカーソルの位置と、i番目のタグ付与データの位置から、カーソルがi番目のタグ付与データのタグ内(開始タグと終了タグの間)に存在するか否かを判断する。カーソルがi番目のタグ付与データのタグ内に存在すればステップS407に行き、存在しなければステップS408に行く。
(ステップS407)データ変更部17は、カーソルの位置に、入力されたデータを挿入し、タグ付与データのデータを変更する。なお、入力されたデータとは、ユーザが入力したデータであり、入力指示に含まれているデータである。
(ステップS408)判断部15は、カウンタiを1、インクリメントする。ステップS405に戻る。
(ステップS409)タグ処理部16は、タグ処理を行う。上位処理にリターンする。タグ処理について、図5のフローチャートを用いて、詳細に説明する。
次に、ステップS409のタグ処理の一例について、図5のフローチャートを用いて、詳細に説明する。
(ステップS501)タグ処理部16は、カウンタiに1を代入する。
(ステップS502)タグ処理部16は、着目している配置領域内に(配置情報に対応する)i番目のタグ付与データが存在するか否かを判断する。i番目のタグ付与データが存在すればステップS503に行き、i番目のタグ付与データが存在しなければステップS505に行く。なお、着目している配置領域とは、ステップS402で取得された配置情報に対応する配置領域である。
(ステップS503)タグ処理部16は、i番目のタグ付与データと、カレントのカーソルの位置(入力されたデータの位置)との距離を取得し、メモリ上に配置する。この距離は、i番目のタグ付与データの開始タグとカーソルの位置との距離、またはi番目のタグ付与データの終了タグとカーソルの位置との距離の中の小さい方の値である。
(ステップS504)タグ処理部16は、カウンタiを1、インクリメントする。ステップS502に戻る。
(ステップS505)タグ処理部16は、ステップS503で取得した距離の中で、最も小さい距離に対応するタグ付与データを取得する。
(ステップS506)タグ処理部16は、カーソルの位置が、ステップS505で取得したタグ付与データの位置より、前であるか否かを判断する。前であればステップS507に行き、前でなければステップS508に行く。
(ステップS507)タグ処理部16は、ステップS505で取得したタグ付与データの先頭に、入力されたデータを付加する。タグ付与データの先頭に付加する、とは、タグ付与データ内のデータの先頭とする、という意味である。つまり、タグ付与データが「<最寄り駅>最寄り駅:品川</最寄り駅>」であり、入力されたデータが「*」である場合、タグ処理部16は、「<最寄り駅>*最寄り駅:品川</最寄り駅>」を構成する、ということである。上位処理にリターンする。
(ステップS508)タグ処理部16は、ステップS505で取得したタグ付与データの最後に、入力されたデータを付加する。タグ付与データの最後に付加する、とは、タグ付与データ内のデータの最後とする、という意味である。つまり、タグ付与データが「<最寄り駅>最寄り駅:品川</最寄り駅>」であり、入力されたデータが「です」である場合、タグ処理部16は、「<最寄り駅>最寄り駅:品川です</最寄り駅>」を構成する、ということである。上位処理にリターンする。
なお、図5において説明したタグ処理は、一例であり、タグ処理部16は、入力されたデータを、常に直後のタグ付与データの先頭に挿入しても良いし、常に直前のタグ付与データの最後に挿入しても良い。
以下、本実施の形態における情報処理装置1の具体的な動作について説明する。今、タグ付与データ格納部11は、図6に示すタグ付与データ管理表を保持している。タグ付与データ管理表は、「データID」「タグ」「データ」の属性値を有するレコードを1以上保持している。「データID」は、タグ付与データを識別する情報である。「タグ」は、タグ付与データを構成するタグである。「タグ」は、ここでは、開始タグまたは終了タグ内の文字列のみで構成されているが、「<最寄り駅>」などの開始タグや、「<最寄り駅></最寄り駅>」などの開始タグと終了タグから構成されていても良い。「データ」は、ここでは、タグ(開始タグ、終了タグ)に挟まれるデータである。なお、図6のデータは、タグ内の文字列を、その内部に含んでいるが、含んでいなくても良い。また、データ「最寄り駅:東京」は「東京」でも良い。データ「最寄り駅:東京」が「東京」となっている場合でも、表示される情報は「最寄り駅:東京」でも良い。かかる場合、表示する機能を有する出力部18は、タグの文字列(例えば「最寄り駅」)を取得し、当該の文字列に文字「:」を加え、その後ろにデータ(例えば「東京」)を付加し、表示する情報を構成する、という機能を有することとなる。
また、配置情報格納部12は、図7に示す配置情報管理表を保持している。配置情報管理表は、「配置領域ID」「左上座標」「幅」「高さ」「データタイプ」などの属性値を有するレコードを1以上保持している。「配置領域ID」は、配置情報を識別する識別子である。「左上座標」は、配置情報で示される配置領域の左上の座標(x,y)である。なお、ここでは、配置領域は矩形であるとして説明するが、配置領域の形状は問わない。「幅」は、配置領域の幅である。「高さ」は、配置領域の高さである。「データタイプ」は、この配置領域に表示されるデータのタイプ(文字列、画像、動画など)である。なお、配置情報のデータ構造は、「左上座標」と「右下座標」を有するなど、他のデータ構造でも良い。
さらに、配置管理情報格納部13は、図8に示す配置管理情報管理表を保持している。配置管理情報管理表は、「データID」「配置領域ID」「オフセット」などの属性値を有するレコードを1以上保持している。「オフセット」とは、データIDで識別されるデータの配置領域内の位置を示す情報であり、当該配置領域内のオフセット(先頭からのバイト数)である。なお、配置領域は、配置領域IDで示される配置領域である。また、オフセットが「10」である場合、対応するデータは、配置領域内の10バイトの位置から表示されることを示す。
かかる状況において、ユーザは、情報処理装置1の入力手段(例えば、キーボード)を用いて、データの出力指示を入力した、とする。
次に、受付部14は、入力指示を受け付ける。そして、出力部18は、図7の配置情報管理表から、1番目の配置情報(配置領域ID=001の配置情報)を読み出し、1番目の配置情報に対応する配置領域(図9の(1)参照)を出力する。なお、ここでの配置領域(フレーム)は、実線の矩形で出力されている。
出力部18は、「配置領域ID=001」の配置情報に対応するタグ付与情報を、図6のタグ付与データ管理表から読み出す。つまり、出力部18は、「配置領域ID=001」をキーとして、図8の配置管理情報管理表を検索し、「データID「TD002」,オフセット「0」」、および「データID「TD052」、オフセット「22」」を取得する。そして、出力部18は、データID「TD002」をキーとして、図6のタグ付与データ管理表を検索し、1番目のタグ付与情報「タグ「最寄り駅」、データ「最寄り駅:品川」」を取得し、メモリ上に配置する。そして、出力部18は、タグ付与情報「タグ「最寄り駅」、データ「最寄り駅:品川」」を、1番目の配置情報で示される配置領域の、オフセット「0」の位置に出力する(図9の(2)参照)。
また、出力部18は、データID「TD052」をキーとして、図6のタグ付与データ管理表を検索し、タグ付与情報「タグ「給与」、データ「給与:800円」」を取得し、メモリ上に配置する。そして、出力部18は、タグ付与情報「タグ「給与」、データ「給与:800円」」を、1番目の配置情報で示される配置領域の、オフセット「22」の位置に出力する(図9の(2)参照)。
次に、出力部18は、図7の配置情報管理表から、2番目の配置情報(配置領域ID=002の配置情報)を読み出し、2番目の配置情報に対応する配置領域(図9の(4)参照)を出力する。
次に、出力部18は、「配置領域ID=002」の配置情報に対応するタグ付与情報を、図6のタグ付与データ管理表から読み出す。つまり、出力部18は、「配置領域ID=002」をキーとして、図8の配置管理情報管理表を検索し、「データID「TD001」,オフセット「0」」、および「データID「TD051」、オフセット「22」」を取得する。そして、出力部18は、データID「TD001」をキーとして、図6のタグ付与データ管理表を検索し、タグ付与情報「タグ「最寄り駅」、データ「最寄り駅:東京」」を取得し、メモリ上に配置する。そして、出力部18は、タグ付与情報「タグ「最寄り駅」、データ「最寄り駅:東京」」を、1番目の配置情報で示される配置領域の、オフセット「0」の位置に出力する(図9の(5)参照)。
また、出力部18は、データID「TD051」をキーとして、図6のタグ付与データ管理表を検索し、タグ付与情報「タグ「給与」、データ「給与:1,000円」」を取得し、メモリ上に配置する。そして、出力部18は、タグ付与情報「タグ「給与」、データ「給与:1,000円」」を、2番目の配置情報で示される配置領域の、オフセット「22」の位置に出力する(図9の(6)参照)。
次に、出力部18は、図7の配置情報管理表から、3番目の配置情報(配置領域ID=003の配置情報)以降も読み出し、上記と同様の処理を行う(図9の(7)参照)。なお、図9において、「配置領域ID=003」のフレーム内に画像が表示されるまでの処理の結果が現れている。
以上の処理により、情報処理装置1は、図9をディスプレイに表示する。図9において、矩形の枠は、フレームである。また、[]のデータは、タグ付与データである。そして、[]の中の文字列は、タグの内部に存在していることを示す。つまり、[最寄り駅:品川]の表示は、<最寄り駅>最寄り駅:品川</最寄り駅>のデータが、情報処理装置1の内部に存在していることを示す。
次に、かかる情報処理装置1の画面(図9)に対して、ユーザが、図10に示す位置に、文字「○」を入力した、とする。図10に示す位置とは、画面の上側のフレームのタグ付与データ[時給:800円]の前の位置で、タグ付与データの外の位置である。タグ付与データの外の位置であることは、「○」が[]の外に配置されていることから分かる。
そして、タグ付与データの外の位置に文字を入力した場合、通常であれば、当該文字「○」は、タグが付されない文字となる。しかし、上述したような情報処理装置1の処理により、以下に具体的に示すように、文字「○」がタグ無しのデータとならないように処理を行う。
つまり、判断部15は、カレントのカーソルの位置「配置領域ID=001,オフセット「20」」を取得する。カレントのカーソルの位置とは、文字「○」が入力された位置である。
次に、判断部15は、取得した配置情報「配置領域ID=001」に対応する2つのタグ付与データ(「TD002」「TD052」のタグ付与データ)を取得する。
そして、判断部15は、取得したカーソルの位置と、各タグ付与データの位置から、カーソルがいずれかのタグ付与データのタグ内(開始タグと終了タグの間)にあるか否かを判断する。まず、判断部15は、「TD002」のオフセット「0」を取得する。そして、判断部15は、「TD002」のデータ(文字列)の長さ「14バイト(7文字)」を取得する。そして、「TD002」のデータは、「配置領域ID=001」のフレーム内の、オフセット「0〜14」までの間に存在する、と判断する。次に、判断部15は、カーソルの位置「配置領域ID=001,オフセット「20」」のオフセット「20」と、オフセット「0〜14」とから、カーソルが「TD002」のタグ付与データのタグ内に存在しない、と判断する。
同様に、判断部15は、「TD052」のオフセット「22」を取得する。そして、判断部15は、「TD052」のデータ(文字列)の長さ「18バイト(9文字)」を取得する。そして、「TD052」のデータは、「配置領域ID=001」のフレーム内の、オフセット「22〜40」までの間に存在する、と判断する。次に、判断部15は、カーソルの位置「配置領域ID=001,オフセット「20」」のオフセット「20」と、オフセット「22〜40」とから、カーソルが「TD052」のタグ付与データのタグ内に存在しない、と判断する。
以上より、判断部15は、取得したカーソルの位置と、各タグ付与データの位置から、カーソルがいずれかのタグ付与データのタグ内(開始タグと終了タグの間)にも存在しない、と判断する。なお、判断部15が、入力されたデータがタグ内に入力されたか、タグ外に入力されたかを判断するアルゴリズムは、上記に限られないことは言うまでもない。
次に、タグ処理部16は、以下のようなタグ処理を行う。つまり、タグ処理部16は、1番目のタグ付与データ(「TD002」)と、カレントのカーソルの位置との距離を取得し、メモリ上に配置する。つまり、タグ処理部16は、オフセット「20」と1番目のタグ付与データが占める領域のオフセット「0〜14」とから、距離を「20−14=6」と算出する。
次に、タグ処理部16は、2番目のタグ付与データ(「TD052」)と、カレントのカーソルの位置との距離を取得し、メモリ上に配置する。つまり、タグ処理部16は、オフセット「20」と1番目のタグ付与データが占める領域のオフセット「22〜40」とから、距離を「22−20=2」と算出する。
次に、タグ処理部16は、取得した距離の中で、最も小さい距離「2」に対応するタグ付与データ(「TD052」のタグ付与データ)を取得する。
次に、タグ処理部16は、カーソルの位置が、取得したタグ付与データ(「TD052」のタグ付与データ)の位置より前であると判断する。
そして、タグ処理部16は、取得したタグ付与データ「<時給>時給:800円</時給>」の先頭に、入力されたデータ「○」を付加し、「<時給>○時給:800円</時給>」を構成する。
そして、タグ処理部16の処理の結果を出力部18が出力し、図10のように入力された文字「○」が、図11のように出力される。つまり、入力された文字が、近くのタグ付与データに吸収されるように出力される。
そして、図11の出力の状態で、例えば、ユーザが蓄積指示を入力した場合、タグ付与データ「TD052」のオフセットが「22」に更新され、図12に示す配置管理情報管理表が得られる。
また、タグ付与データ「TD052」のデータが「<時給>○時給:800円</時給>」に更新され、図13に示すタグ付与データ管理表が得られる。
なお、ユーザが、最初から「TD052」のタグ内に文字「○」を入力した場合(図14参照)は、タグ付与データ「TD052」のデータが「<時給>○時給:800円</時給>」に更新され、図13に示すタグ付与データ管理表が得られるだけであり、ここでは、そのオフセットは変わらない。つまり、ここでは、配置管理情報管理表は、図8のままである。
なお、上記のタグ処理のアルゴリズムは、図5のフローチャートに従ったが、タグの無い領域へデータが入力された場合、タグ処理部16は、常に、直後に存在するタグ付与データの先頭に、当該データが吸収されるように処理を行っても良い。
また、タグの無い領域へデータが入力された場合、タグ処理部16は、常に、直前に存在するタグ付与データの最後に、当該データが吸収されるように処理を行っても良い。
以上、本実施の形態によれば、タグの無い領域へデータが入力された場合、タグ無しのデータとならないように処理を行うことができる。かかることにより、蓄積先の無いデータが発生したり、他のシステムや処理部や関数等が、処理できないデータが発生したりすることを防止できる。
なお、本実施の形態によれば、タグの無い領域へデータが入力された場合、タグ無しのデータとならないように処理を行えば良く、そのアルゴリズムは種々考えられる。かかることは、他の実施の形態においても同様である。
また、本実施の形態によれば、タグの無い領域へデータが入力されたデータは、1文字とは限らず、複数文字でも良く、画像や他のデータタイプのデータでも良い。かかることも、他の実施の形態においても同様である。
また、本実施の形態によれば、配置領域(フレームなど)に、複数のタグ付与データが配置されており、その間に空白がある場合、情報処理装置1は、2つのタグ付与データのオフセットを格納しており、各タグ付与データのデータ長を用いて、間のスペースを認識した。しかし、「<空白> </空白>」や「<空白>3</空白>」などにより、3つのスペースコードが存在することを示すなど、他のデータ定義方法、他のデータ構造により、スペースを定義しても良い。かかることも、他の実施の形態においても同様である。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、データを配置領域に入力する指示である入力指示を受け付ける受付部と、前記受付部が受け付けた入力指示が、タグの無い領域へのデータの入力指示であるか否かを判断する判断部と、前記判断部が、前記入力指示がタグの無い領域へのデータの入力指示であると判断した場合、タグ無しのデータとならないように処理を行うタグ処理部と、前記判断部が、前記入力指示がタグの無い領域へのデータの入力指示でないと判断した場合、前記入力指示に対応したタグ付与データの変更を行うデータ変更部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記タグ処理部は、前記入力指示に対応する配置領域に配置されている1以上のタグ付与データのうちのいずれか一のタグ付与データに対して、前記入力指示に含まれるデータを挿入する処理を行うものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記タグ処理部は、前記入力指示に含まれるデータが入力された位置に最も近い位置に存在するタグ付与データを検出し、当該検出したタグ付与データの先頭または最後に、前記入力指示に含まれるデータを挿入する処理を行うものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記タグ処理部は、前記入力指示に含まれるデータの直後に存在するタグ付与データを検出し、当該検出したタグ付与データの先頭に、前記入力指示に含まれるデータを挿入する処理を行うものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記タグ処理部は、前記入力指示に含まれるデータの直前に存在するタグ付与データを検出し、当該検出したタグ付与データの最後に、前記入力指示に含まれるデータを挿入する処理を行うものとして、コンピュータを機能させることは好適である。
さらに、上記プログラムにおいて、前記受付部は、2以上のタグ付与データが配置された配置領域内の、2つのタグ付与データの間の領域に、データを入力する入力指示を受け付けるものとして、コンピュータを機能させることは好適である。
(実施の形態2)
本実施の形態において、フレーム内にタグ付与データが存在する環境において、タグ外にデータを挿入された場合に、タグ無しのデータとならないように処理を行う情報処理装置について説明する。特に、タグ外にデータを挿入された場合に、当該データに新たなタグを自動付与する情報処理装置について説明する。さらに、特に、本実施の形態において、例えば、配置領域内に存在し得るタグの集合の情報を管理しており、タグ外にデータを挿入された場合に、未存在のタグを検出し、当該データに未存在のタグを付与する情報処理装置について説明する。
図15は、本実施の形態における情報処理装置2のブロック図である。情報処理装置2は、タグ付与データ格納部11、配置情報格納部12、配置管理情報格納部13、受付部14、判断部15、タグ処理部26、データ変更部17、出力部18を具備する。
タグ処理部26は、タグ集合情報格納手段261、存在タグ取得手段262、未使用タグ取得手段263、タグ付与手段264を具備する。
タグ処理部26は、判断部15が、入力指示がタグの無い領域へのデータの入力指示であると判断した場合、タグ無しのデータとならないように処理を行う。特に、タグ処理部26は、判断部15が、入力指示がタグの無い領域へのデータの入力指示であると判断した場合、当該データに対するタグを付与する処理を行う。タグ処理部26は、通常、MPUやメモリ等から実現され得る。タグ処理部26の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
タグ集合情報格納手段261は、1以上のタグ集合情報を格納し得る。タグ集合情報とは、配置領域内の存在し得る2以上のタグ付与データのタグの集合に関する情報である。タグ集合情報は、例えば、「<最寄り駅><時給>」である。タグ集合情報格納手段261は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。タグ集合情報格納手段261にタグ集合情報が記憶される過程は問わない。例えば、記録媒体を介してタグ集合情報がタグ集合情報格納手段261で記憶されるようになってもよく、通信回線等を介して送信されたタグ集合情報がタグ集合情報格納手段261で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたタグ集合情報がタグ集合情報格納手段261で記憶されるようになってもよい。
存在タグ取得手段262は、入力指示に対応する配置領域内に存在している1以上のタグ付与データのタグを取得する。なお、入力指示に対応する配置領域とは、データが入力された配置領域である。また、タグの取得とは、結果としてタグを決定できる情報を取得できれば良い趣旨である。存在タグ取得手段262は、通常、MPUやメモリ等から実現され得る。存在タグ取得手段262の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
未使用タグ取得手段263は、存在タグ取得手段262が取得した1以上のタグと、タグ集合情報格納手段261のタグ集合情報から、使用されていないタグである未使用タグを取得する。タグ集合情報格納手段261に2以上のタグ集合情報が存在する場合、存在タグ取得手段262が取得した1以上のすべてのタグを含む1または2以上のタグ集合情報を取得し、かかるタグ集合情報の中のタグであり、存在タグ取得手段262が取得した1以上のすべてのタグを除いたタグを取得する。未使用タグ取得手段263は、2以上のタグを取得できた場合は、任意の一つを選択する、または、データタイプや他の情報を用いて、一つのタグを選択する。具体的には、例えば、未使用タグ取得手段263は、入力されたデータのデータタイプと一致するデータタイプに対応するタグを選択しても良い。未使用タグ取得手段263は、通常、MPUやメモリ等から実現され得る。未使用タグ取得手段263の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
タグ付与手段264は、入力指示に含まれるデータに、未使用タグ取得手段263が取得した未使用タグを付与する。タグ付与手段264は、通常、MPUやメモリ等から実現され得る。タグ付与手段264の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、情報処理装置2の動作について説明する。情報処理装置2の動作のうち、情報処理装置1の動作と異なる動作は、タグ処理のみである。図16のフローチャートを用いて、情報処理装置2のタグ処理の一例について説明する。
(ステップS1601)存在タグ取得手段262は、カーソルが存在する配置領域に配置されているすべてのタグ付与データのタグを取得する。
(ステップS1602)未使用タグ取得手段263は、カウンタiに1を代入する。
(ステップS1603)未使用タグ取得手段263は、タグ集合情報格納手段261から、i番目のタグ集合情報が存在するか否かを判断する。i番目のタグ集合情報が存在すればステップS1604に行き、i番目のタグ集合情報が存在しなければステップS1611に行く。なお、i番目のタグ集合情報が存在すれば、未使用タグ取得手段263は、i番目のタグ集合情報を取得し、メモリ上に配置する。
(ステップS1604)未使用タグ取得手段263は、i番目のタグ集合情報内に、ステップS1601で取得されたすべてのタグが存在するか否かを判断する。すべてのタグが存在すればステップS1605に行き、すべてのタグが存在しなければステップS1610に行く。
(ステップS1605)未使用タグ取得手段263は、i番目のタグ集合情報内のタグから、ステップS1601で取得されたすべてのタグを除いて、残ったタグを取得する。かかるタグが未使用タグである。
(ステップS1606)未使用タグ取得手段263は、ステップS1605で取得されたタグが2以上存在するか否かを判断する。2以上存在すればステップS1607に行き、1つだけ存在すればステップS1608に行く。
(ステップS1607)未使用タグ取得手段263は、2以上のタグの中から一つを選択する。選択するアルゴリズムは、問わない。未使用タグ取得手段263は、例えば、ユーザに複数のタグを提示し、ユーザから受け付けた選択指示に応じて、タグを選択しても良い。また、未使用タグ取得手段263は、ランダムにタグを選択しても良い。ステップS1609に行く。
(ステップS1608)未使用タグ取得手段263は、一つの未使用タグを取得する。
(ステップS1609)タグ付与手段264は、受け付けられたデータに対して、未使用タグ取得手段263が取得したタグを付与する。受け付けられたデータが「○」で、未使用タグ取得手段263が取得したタグが「<項目>」である場合、タグ付与手段264は、「<項目>○</項目>」を構成する。上位処理にリターンする。
(ステップS1610)未使用タグ取得手段263は、カウンタiを1、インクリメントする。ステップS1603に戻る。
(ステップS1611)タグ付与手段264は、エラー処理を行う。エラー処理とは、例えば、タグが付与できなかった旨のエラーメッセージを出力する処理である。上位処理にリターンする。
以下、本実施の形態における情報処理装置2の具体的な動作について説明する。今、タグ付与データ格納部11は、図6に示すタグ付与データ管理表を保持している。また、配置情報格納部12は、図7に示す配置情報管理表を保持している。また、配置管理情報格納部13は、図8に示す配置管理情報管理表を保持している。
さらに、タグ集合情報格納手段261は、図17に示すタグ集合情報管理表を保持している。タグ集合情報管理表は、「ID」「タグ集合情報」を有する。「ID」は、レコードを識別する情報であり、表管理のために存在する。
かかる状況において、ユーザは、情報処理装置2の入力手段(例えば、キーボード)を用いて、データの出力指示を入力した、とする。すると、実施の形態1で説明した処理により、出力部18は、図9の画面を表示する。
次に、かかる情報処理装置2の画面(図9)に対して、ユーザが、図10に示す位置に、文字「○」を入力した、とする。図10に示す位置とは、画面の上側のフレームのタグ付与データ[時給:800円]の前の位置で、タグ付与データの外の位置である。タグ付与データの外の位置であることは、「○」が[]の外に配置されていることから分かる。
そして、タグ付与データの外の位置に文字を入力した場合、通常であれば、当該文字「○」は、タグが付されない文字となる。しかし、上述したような情報処理装置2の処理により、以下に具体的に示すように、文字「○」がタグ無しのデータとならないように処理を行う。
つまり、存在タグ取得手段262は、カーソルが存在する配置領域に配置されているすべてのタグ付与データのタグ<最寄り駅><時給>を取得する。
次に、未使用タグ取得手段263は、図17のタグ集合情報管理表から、1番目のタグ集合情報「<最寄り駅><項目><時給>」を取得し、メモリ上に配置する。
次に、未使用タグ取得手段263は、1番目のタグ集合情報内「<最寄り駅><項目><時給>」に、取得されたすべてのタグ「<最寄り駅><時給>」が存在する、と判断する。
次に、未使用タグ取得手段263は、1番目のタグ集合情報内のタグから、取得されたすべてのタグを除いて、残ったタグ「<項目>」を取得する。
次に、タグ付与手段264は、受け付けられたデータ「○」に対して、未使用タグ取得手段263が取得したタグ「<項目>」を付与し、「<項目>○</項目>」を構成する。
そして、タグ処理部26の処理の結果を出力部18が出力し、図10のように入力された文字「○」が、図11のように出力される。
そして、図11の出力の状態で、例えば、ユーザが蓄積指示を入力した場合、新しいタグ付与データ「<項目>○</項目>」のオフセットが「20」と決定され、図18に示す配置管理情報管理表が得られる。また、図19に示すタグ付与データ管理表が得られる。
以上、本実施の形態によれば、タグの無い領域へデータが入力された場合、新たなタグを自動付与することができる。かかることにより、タグ無しのデータが発生することがなく、例えば、蓄積先の無いデータが発生したり、他のシステムや処理部や関数等が、処理できないデータが発生したりすることを防止できる。
なお、本実施の形態によれば、自動付与するタグの決定アルゴリズムは種々あり得る。かかることは、実施の形態3においても同様である。
さらに、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、データを配置領域に入力する指示である入力指示を受け付ける受付部と、前記受付部が受け付けた入力指示が、タグの無い領域へのデータの入力指示であるか否かを判断する判断部と、前記判断部が、前記入力指示がタグの無い領域へのデータの入力指示であると判断した場合、タグ無しのデータとならないように処理を行うタグ処理部と、前記判断部が、前記入力指示がタグの無い領域へのデータの入力指示でないと判断した場合、前記入力指示に対応したタグ付与データの変更を行うデータ変更部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記タグ処理部は、前記判断部が、前記入力指示がタグの無い領域へのデータの入力指示であると判断した場合、当該データに対するタグを付与する処理を行うものとして、コンピュータを機能させることは好適である。
さらに、上記プログラムにおいて、前記タグ処理部は、配置領域内の存在し得る2以上のタグ付与データのタグの集合に関する情報であるタグ集合情報を格納し得るタグ集合情報格納手段と、前記入力指示に対応する配置領域内に存在している1以上のタグ付与データのタグを取得する存在タグ取得手段と、前記存在タグ取得手段が取得した1以上のタグと前記タグ集合情報から、使用されていないタグである未使用タグを取得する未使用タグ取得手段と、前記入力指示に含まれるデータに、前記未使用タグを付与するタグ付与手段とを具備するものとして、コンピュータを機能させることは好適である。
(実施の形態3)
本実施の形態において、フレーム内にタグ付与データが存在する環境において、タグ外にデータを挿入された場合に、タグ無しのデータとならないように処理を行う情報処理装置について説明する。特に、タグ外にデータを挿入された場合に、当該データに新たなタグを自動付与する情報処理装置について説明する。さらに、特に、本実施の形態において、同一の配置領域内の最も近いタグを検出し、そのタグを付与したり、同一の配置領域内の同じデータタイプのタグを付与したりする情報処理装置について説明する。なお、本実施の形態において、異なる配置領域内の最も近いタグを検出し、そのタグを付与したり、異なる配置領域内の同じデータタイプのタグを付与したりしても良い。
図20は、本実施の形態における情報処理装置3のブロック図である。情報処理装置3は、タグ付与データ格納部11、配置情報格納部12、配置管理情報格納部13、受付部14、判断部15、タグ処理部36、データ変更部17、出力部18を具備する。
タグ処理部36は、判断部15が、入力指示がタグの無い領域へのデータの入力指示であると判断した場合、タグ無しのデータとならないように処理を行う。また、特に、タグ処理部36は、判断部15が、入力指示がタグの無い領域へのデータの入力指示であると判断した場合、当該データに対するタグを付与する処理を行う。さらに具体的には、タグ処理部36は、入力指示に含まれるデータが入力された位置に最も近い位置に存在するタグ付与データを検出し、当該タグ付与データのタグと同じタグを、入力指示に含まれるデータに付与する。また、タグ処理部36は、入力指示に含まれるデータのデータタイプと同じデータタイプのデータに対応するタグを取得し、当該タグを、入力指示に含まれるデータに付与しても良い。なお、かかる場合、同一の配置領域内に存在する他のタグ付与データに含まれるデータのデータタイプでも良いし、他の配置領域に存在する他のタグ付与データに含まれるデータのデータタイプでも良い。他の配置領域は、例えば、同一のグループに存在する他の配置領域や、入力されたデータが含まれる配置領域の所定の距離内の他の配置領域や、入力されたデータが含まれる配置領域と所定の方向(下方向や、上方向など)に存在する他の配置領域などである。さらに、タグ処理部36は、入力指示に含まれるデータのデータタイプと同じデータタイプのデータに対応するタグであり、入力指示に含まれるデータが入力された位置に最も近い位置に存在するタグ付与データに含まれるタグを取得し、当該タグを、入力指示に含まれるデータに付与しても良い。タグ処理部36は、通常、MPUやメモリ等から実現され得る。タグ処理部36の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、情報処理装置3の動作について説明する。情報処理装置3の動作のうち、情報処理装置1の動作と異なる動作は、タグ処理のみである。図21のフローチャートを用いて、情報処理装置2のタグ処理について説明する。図21のフローチャートにおいて、図5、または図16のフローチャートと同一の処理は、その説明を省略する。
(ステップS2101)タグ処理部36は、入力されたデータ(入力指示に含まれるデータ)のデータタイプを取得する。なお、データタイプを取得する処理については公知技術であるので説明を省略する。データタイプとは、文字列、静止画、動画、音声等である。
(ステップS2102)タグ処理部36は、カウンタiに1を代入する。
(ステップS2103)タグ処理部36は、着目している配置領域内に、i番目のタグ付与データが存在するか否かを判断する。i番目のタグ付与データが存在すればステップS2104に行き、i番目のタグ付与データが存在しなければステップS505に行く。
(ステップS2104)タグ処理部36は、i番目のタグ付与データに含まれるデータのデータタイプを取得する。タグ処理部36は、配置情報管理表からデータタイプを得ても良いが、データからデータタイプを得ても良いし、他の管理表(図示しない)からデータタイプを得ても良い。なお、一の配置領域には、同一のデータタイプのデータを含む1以上のタグ付与データが配置されることが好適であるが、異なるデータタイプのデータを含む2以上のタグ付与データが配置されても良い。
(ステップS2105)タグ処理部36は、入力されたデータのデータタイプと、i番目のタグ付与データに含まれるデータのデータタイプが一致するか否かを判断する。一致すればステップS503に行き、一致しなければステップS504に行く。
以下、本実施の形態における情報処理装置3の具体的な動作について説明する。今、タグ付与データ格納部11は、図6に示すタグ付与データ管理表を保持している。また、配置情報格納部12は、図7に示す配置情報管理表を保持している。また、配置管理情報格納部13は、図8に示す配置管理情報管理表を保持している。
かかる状況において、ユーザは、情報処理装置3の入力手段(例えば、キーボード)を用いて、データの出力指示を入力した、とする。すると、実施の形態1で説明した処理により、出力部18は、図9の画面を表示する。
次に、かかる情報処理装置3の画面(図9)に対して、ユーザが、図10に示す位置に、文字「○」を入力した、とする。図10に示す位置とは、画面の上側のフレームのタグ付与データ[時給:800円]の前の位置で、タグ付与データの外の位置である。タグ付与データの外の位置であることは、「○」が[]の外に配置されていることから分かる。
そして、タグ付与データの外の位置に文字を入力した場合、通常であれば、当該文字「○」は、タグが付されない文字となる。しかし、上述したような情報処理装置3の処理により、以下に具体的に示すように、文字「○」がタグ無しのデータとならないように処理を行う。
つまり、タグ処理部36は、入力されたデータ「○」のデータタイプ「文字列」を取得する。
次に、タグ処理部36は、1番目のタグ付与データに含まれるデータ「最寄り駅:品川」(データID「TD002」)のデータタイプ「文字列」を取得する。
次に、タグ処理部36は、入力されたデータ「○」のデータタイプ「文字列」と、1番目のタグ付与データに含まれるデータ「最寄り駅:品川」のデータタイプ「文字列」が一致する、と判断する。
そして、タグ処理部36は、データID「TD002」のタグ付与データと、カーソルとの距離「6」を取得する。なお、この距離の取得方法は、実施の形態1で説明済みである。そして、タグ処理部36は、1番目のタグ付与データを識別する情報(例えば、「TD002」)と、距離「6」とを対にして、記憶媒体に一時格納する。
タグ処理部36は、2番目のタグ付与データに含まれるデータ「最寄り駅:品川」(データID「TD002」)のデータタイプ「文字列」を取得する。
次に、タグ処理部36は、2番目のタグ付与データに含まれるデータ「時給:800円」(データID「TD052」)のデータタイプ「文字列」を取得する。
次に、タグ処理部36は、入力されたデータ「○」のデータタイプ「文字列」と、2番目のタグ付与データに含まれるデータ「時給:800円」のデータタイプ「文字列」が一致する、と判断する。
そして、タグ処理部36は、データID「TD052」のタグ付与データと、カーソルとの距離「2」を取得する。なお、この距離の取得方法は、実施の形態1で説明済みである。そして、タグ処理部36は、2番目のタグ付与データを識別する情報(例えば、「TD052」)と、距離「2」とを対にして、記憶媒体に一時格納する。
次に、タグ処理部36は、取得した距離の中で、最も小さい距離「2」に対応するタグ付与データ(「TD052」のタグ付与データ)を取得する。
そして、タグ処理部36は、取得したタグ付与データ「<時給>時給:800円</時給>」のタグ「<時給>」を取得する。
次に、タグ処理部36は、入力されたデータ「○」にタグ「<時給>」を付加し、「<時給>○</時給>」を構成する。
そして、タグ処理部36の処理の結果を出力部18が出力し、図10のように入力された文字「○」が、図11のように出力される。
そして、図11の出力の状態で、例えば、ユーザが蓄積指示を入力した場合、新しいタグ付与データ「<時給>○</時給>」のオフセットが「20」と決定され、図22に示す配置管理情報管理表が得られる。また、図23に示すタグ付与データ管理表が得られる。
以上、本実施の形態によれば、タグの無い領域へデータが入力された場合、新たなタグを自動付与することができる。かかることにより、タグ無しのデータが発生することがなく、例えば、蓄積先の無いデータが発生したり、他のシステムや処理部や関数等が、処理できないデータが発生したりすることを防止できる。
なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、データを配置領域に入力する指示である入力指示を受け付ける受付部と、前記受付部が受け付けた入力指示が、タグの無い領域へのデータの入力指示であるか否かを判断する判断部と、前記判断部が、前記入力指示がタグの無い領域へのデータの入力指示であると判断した場合、タグ無しのデータとならないように処理を行うタグ処理部と、前記判断部が、前記入力指示がタグの無い領域へのデータの入力指示でないと判断した場合、前記入力指示に対応したタグ付与データの変更を行うデータ変更部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記タグ処理部は、前記入力指示に含まれるデータが入力された位置に最も近い位置に存在するタグ付与データを検出し、当該タグ付与データのタグと同じタグを、前記入力指示に含まれるデータに付与するものとして、コンピュータを機能させることは好適である。
また、上記プログラムにおいて、前記タグ処理部は、前記入力指示に含まれるデータのデータタイプと同じデータタイプのデータに対応するタグを取得し、当該タグを、前記入力指示に含まれるデータに付与するものとして、コンピュータを機能させることは好適である。
また、図24は、本明細書で述べたプログラムを実行して、上述した実施の形態の情報処理装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図24は、このコンピュータシステム340の概観図であり、図25は、コンピュータシステム340のブロック図である。
図24において、コンピュータシステム340は、FDドライブ、CD−ROMドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図25において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、MPU3413と、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM3415とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態の情報処理装置等の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態の情報処理装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。つまり、例えば、上記各実施の形態において説明した情報処理装置は、いわゆるサーバ装置であり、ユーザは、自身の端末装置から、情報処理装置にアクセスし、上述した処理を行っても良い。かかる場合、受付部14は、端末装置から各種の指示を受信する。そして、出力部18は、処理結果を端末装置に送信したり、情報処理装置内の記憶媒体に処理結果を蓄積したり等する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。