(57)【要約】      （修正有） 【課題】複数の入力フィールドで構成されるデータを別の入力フィールドに一括して容易にコピー＆ペーストすることができる。【解決手段】グループ・コピー機能を選択肢に含むコンテキスト・メニューを表示し、ポインティング装置のクリックを検知した親ノードすべてをコピー対象として表示する。該親ノード以下の全ノードのデータをメモリにコピーする。そして、ペースト先として選択した入力フィールドにおけるポインティング装置のクリックに応答して、ペースト先として選択された入力フィールドのデータ・タイプとメモリにコピーされているデータのデータ・タイプとを比較し、その両者のデータのデータ・タイプが同じデータ・タイプである場合に、先ほどペースト先として選択された入力フィールド以下にメモリにコピーされているデータをすべてペーストすることにより、複数データの一括コピー＆ペーストを実現する。【選択図】 図４
2007094818.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力フィールドに入力されたデータをコピーおよびペーストする方法であって、
前記複数の入力フィールドのフィールド名を解析して得た階層構造の構造化情報と前記入力フィールドとの関連情報を記憶装置から読み出すステップと、
前記入力フィールドにおけるポインティング装置のクリックに応答して、グループ・コピー機能を含むコンテキスト・メニューを表示するステップと、
前記グループ・コピー機能にポインタが位置付けられた場合に、前記ポインティング装置のクリックを検知した前記入力フィールドに対応する前記構造化情報におけるノードの親ノードをコピー対象の選択肢として表示するステップと、
前記コピー対象の親ノードの選択に応答して、該親ノード以下のノードのデータをメモリにコピーするステップと、
ペースト先として選択したフィールドにおける前記ポインティング装置のクリックに応答して、前記ペースト先として選択したフィールドのデータ・タイプと前記メモリにコピーされているデータのデータ・タイプとを比較するステップと、
前記ペースト先として選択したフィールドのデータ・タイプと前記メモリにコピーされているデータのデータ・タイプとが同じデータ・タイプである場合に、グループ・ペースト機能を含むコンテキスト・メニューを表示するステップと、
前記グループ・ペースト機能が選択された場合に、前記ペースト先として選択された前記フィールド以下に前記メモリにコピーされているデータをペーストするステップと、
を含む、複数の入力フィールドに入力されたデータをコピーおよびペーストする方法。
【請求項２】
前記コピー対象の選択肢として表示される親ノードへのポインタの位置付けに応答して、ポインタを位置付けられた親ノードに対応する入力フィールド以下の全フィールドをハイライト表示するステップをさらに含む、請求項１に記載の方法。 
【請求項３】
前記コピー対象の選択肢として表示される親ノードの選択に応答して、該親ノード以下のメモリにコピーされるノードに対応する全フィールドをハイライト表示するステップと、
該親ノードと同じデータ・タイプのノードを検索し、選択された前記親ノードと同じデータ・タイプの前記ノードに対応する入力フィールド以下のフィールドをハイライト表示するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記コンテキスト・メニューのグループ・ペーストへのポインタの位置付けに応答して、前記メモリに保存されているデータの最上位に位置するノードを取得するステップと、
前記最上位に位置するノードと同じデータ・タイプのノードおよびその下位ノードを前記構造化情報から取得するステップと、
前記メモリに保存されているデータの最上位に位置するノードと同じデータ・タイプのノードおよびその下位ノードに対応する入力フィールドをペースト可能領域としてハイライト表示するステップと、
を含む請求項１に記載の方法。
【請求項５】
複数の入力フィールドに入力されたデータをコピーおよびペーストする装置であって、
前記複数の入力フィールドのフィールド名を解析して得た階層構造の構造化情報と前記入力フィールドとの関連情報を記憶装置から読み出す手段と、
前記入力フィールドにおけるポインティング装置のクリックに応答して、グループ・コピー機能を含むコンテキスト・メニューを表示する手段と、
前記グループ・コピー機能にポインタが位置付けられた場合に、前記ポインティング装置のクリックを検知した前記入力フィールドに対応する前記構造化情報におけるノードの親ノードをコピー対象の選択肢として表示する手段と、
前記コピー対象の親ノードの選択に応答して、該親ノード以下のノードのデータをメモリにコピーする手段と、
ペースト先として選択したフィールドにおける前記ポインティング装置のクリックに応答して、前記ペースト先として選択したフィールドのデータ・タイプと前記メモリにコピーされているデータのデータ・タイプとを比較する手段と、
前記ペースト先として選択したフィールドのデータ・タイプと前記メモリにコピーされているデータのデータ・タイプとが同じデータ・タイプである場合に、グループ・ペースト機能を含むコンテキスト・メニューを表示する手段と、
前記グループ・ペースト機能が選択された場合に、前記ペースト先として選択された前記フィールド以下に前記メモリにコピーされているデータをペーストする手段と、
を含む、複数の入力フィールドに入力されたデータをコピーおよびペーストする装置。
【請求項６】
前記コピー対象の選択肢として表示される親ノードへのポインタの位置付けに応答して、ポインタを位置付けられた親ノードに対応する入力フィールド以下の全フィールドをハイライト表示する手段をさらに含む、請求項５に記載の装置。 
【請求項７】
前記コピー対象の選択肢として表示される親ノードの選択に応答して、該親ノード以下のメモリにコピーされるノードに対応する全フィールドをハイライト表示する手段と、
該親ノードと同じデータ・タイプのノードを検索し、選択された前記親ノードと同じデータ・タイプの前記ノードに対応する入力フィールド以下のフィールドをハイライト表示する手段をさらに含む、請求項５に記載の装置。
【請求項８】
前記コンテキスト・メニューのグループ・ペーストへのポインタの位置付けに応答して、前記メモリに保存されているデータの最上位に位置するノードを取得する手段と、
前記最上位に位置するノードと同じデータ・タイプのノードおよびその下位ノードを前記構造化情報から取得する手段と、
前記メモリに保存されているデータの最上位に位置するノードと同じデータ・タイプのノードおよびその下位ノードに対応する入力フィールドをペースト可能領域としてハイライト表示する手段と、
を含む請求項５に記載の装置。
【請求項９】
コンピュータ・システムにおいて複数の入力フィールドに入力されたデータをコピーおよびペーストする方法を実施するコンピュータ読み取り可能な記憶媒体に記憶されたコンピュータ・プログラムであって、前記方法が、
前記複数の入力フィールドのフィールド名を解析して得た階層構造の構造化情報と前記入力フィールドとの関連情報を記憶装置から読み出すステップと、
前記入力フィールドにおけるポインティング装置のクリックに応答して、グループ・コピー機能を含むコンテキスト・メニューを表示するステップと、
前記グループ・コピー機能にポインタが位置付けられた場合に、前記ポインティング装置のクリックを検知した前記入力フィールドに対応する前記構造化情報におけるノードの親ノードをコピー対象の選択肢として表示するステップと、
前記コピー対象の親ノードの選択に応答して、該親ノード以下のノードのデータをメモリにコピーするステップと、
ペースト先として選択したフィールドにおける前記ポインティング装置のクリックに応答して、前記ペースト先として選択したフィールドのデータ・タイプと前記メモリにコピーされているデータのデータ・タイプとを比較するステップと、
前記ペースト先として選択したフィールドのデータ・タイプと前記メモリにコピーされているデータのデータ・タイプとが同じデータ・タイプである場合に、グループ・ペースト機能を含むコンテキスト・メニューを表示するステップと、
前記グループ・ペースト機能が選択された場合に、前記ペースト先として選択された前記フィールド以下に前記メモリにコピーされているデータをペーストするステップと、
を含む、複数の入力フィールドに入力されたデータをコピーおよびペーストするコンピュータ・プログラム。
【請求項１０】
前記コピー対象の選択肢として表示される親ノードへのポインタの位置付けに応答して、ポインタを位置付けられた親ノードに対応する入力フィールド以下の全フィールドをハイライト表示するステップをさらに含む、請求項９に記載のコンピュータ・プログラム。 
【請求項１１】
前記コピー対象の選択肢として表示される親ノードの選択に応答して、該親ノード以下のメモリにコピーされるノードに対応する全フィールドをハイライト表示するステップと、
該親ノードと同じデータ・タイプのノードを検索し、選択された前記親ノードと同じデータ・タイプの前記ノードに対応する入力フィールド以下のフィールドをハイライト表示するステップをさらに含む、請求項９に記載のコンピュータ・プログラム。
【請求項１２】
前記コンテキスト・メニューのグループ・ペーストへのポインタの位置付けに応答して、前記メモリに保存されているデータの最上位に位置するノードを取得するステップと、
前記最上位に位置するノードと同じデータ・タイプのノードおよびその下位ノードを前記構造化情報から取得するステップと、
前記メモリに保存されているデータの最上位に位置するノードと同じデータ・タイプのノードおよびその下位ノードに対応する入力フィールドをペースト可能領域としてハイライト表示するステップと、
を含む請求項９に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、複数の入力フィールドのデータを一括してコピー＆ペーストする方法、装置、およびコンピュータ・プログラムに関する発明である。なお、コピー＆ペーストとは、所定のデータを複写してメモリに保管し、そのデータをメモリから取り出して別の所望の位置に表示する機能のことである。  
【背景技術】
【０００２】
入力データには、複数のデータから構成されるものがある。例えば、『住所』というデータは、「郵便番号」、「都道府県名」、「市町村名」、「建物・部屋番号」といった複数のデータで構成される。そして、複数箇所に同じ住所を入力しなければならない場合、一度入力した住所を他の箇所に一括してコピー＆ペーストすることができれば入力作業の作業効率を向上させることができる。しかし従来は、「郵便番号」、「都道府県名」、「市町村名」、「建物・部屋番号」といった１つ１つのデータをコピー＆ペーストしていかなければならなかった。
【０００３】
複数のペーストバッファを有する従来技術として特開平５−２９８００３号公報「データ処理装置」がある。この発明は、複数のペーストバッファが設けられており、それら複数のペーストバッファのそれぞれにソース画面データ上のデータが保管される。しかし、複数のペーストバッファの中から１つのバッファを選択し、その選択されたバッファのデータが編集対象画面の所定の位置に表示されるという発明である。従って、複数フィールドのデータをコピー＆ペーストするには、やはりペーストするフィールドを１つ１つ選択する必要があるので、効率的な作業を行えるとは言えない。なぜなら、この発明は関連する複数データを一括してコピー＆ペーストすることを実現するための発明ではなく、ソース画面と編集対象画面とを何度も表示し直すのを避けることを目的としているため、複数データのお互いの関連性に関しては全く関係なく、いったん複数のペーストバッファに所望のデータをコピーしておき、次に１つ１つのバッファそれぞれに関してペースト先を指定していくという発明だからである。
また、特開２００５−３１９７９号公報「情報処理方法、情報処理プログラム、情報処理装置およびリモートコントローラ」は、簡易な操作で複数のオブジェクトにかかるコピー・アンド・ペーストを行うことができる情報処理方法、情報処理装置などを提供することを目的としている。しかし、コピー・アクションまたはペースト・アクションが発行されるたびに、複数のオブジェクトのそれぞれの意味を解析する意味解析工程と、前記意味の解析結果に合致するペースト先を選択するペースト先選択工程により、その都度HTML文書を解析して構造化情報を抽出する必要があるので処理時間がかかる。また、解析精度は意味データベースの情報量に大きく依存するため、意図しないフィールドがコピーされるフィールドに含まれる可能性がある。
【特許文献１】特開平５−２９８００３号公報
【特許文献２】特開平７−１４６８６３号公報
【特許文献３】特開平１０−１４３５０６号公報
【特許文献４】特開平１０−１７１９００号公報
【特許文献５】特開２０００−１１６０４号公報
【特許文献６】特開２００１−１０１１８０号公報
【特許文献７】特開２００１−３５７３４３号公報
【特許文献８】特開２００５−３１９７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで本願発明の目的は、複数の入力フィールドで構成されるデータを別の入力フィールドにコピー＆ペーストする際に、複数の入力フィールドのデータを一括して容易に、かつ正確にコピー＆ペーストすることができる方法、装置およびコンピュータ・プログラムを提供することである。
【０００５】
本願発明の別の目的は、一括コピー＆ペーストする親ノードを選択できるようにすることにより、一括コピー＆ペーストする単位を自由に設定できる方法、装置およびコンピュータ・プログラムを提供することである。
【０００６】
本願発明の別の目的は、コピーする親ノードにポインタを位置付けした場合に、その親ノードと共に一括コピーされる全てのフィールドをハイライト表示することにより、一括コピーする領域に誤りがないかどうか確認することができ、また、コピーする親ノードを選択した場合には、その親ノード以下のフィールド、および、その親ノード以下のフィールドと同じデータ・タイプでペースト可能な全フィールドをユーザーにわかりやすくハイライト表示することができる方法、装置およびコンピュータ・プログラムを提供することである。
【０００７】
本願発明のさらに別の目的は、「グループ・ペースト」にポインタが位置付けられている場合に、ペースト先のフィールドをハイライト表示し、ペースト先の選択に誤りがないかどうかをユーザーが確認しやすいようにし、また、ペースト不可能なフィールドにおいては、グループ・ペーストという作業項目をコンテキスト・メニューから選択できないようにすることで誤ったペーストを防止する方法、装置およびコンピュータ・プログラムを提供することである。
【課題を解決するための手段】
【０００８】
入力フィールドにおけるマウス、キーボード、トラックボールなどのポインティング装置による選択（クリック）に応答して、グループ・コピー機能を選択肢に含むコンテキスト・メニューを表示し、グループ・コピー機能にポインタが位置付けられた場合には、ポインティング装置のクリックを検知した入力フィールドに対応するノードの親ノードをすべてコピー対象の選択肢として表示する。これは、各入力フィールドと階層構造の構造化情報の各ノードとの対応関係を事前に定義しておくことにより実現することが出来る。そして、コピー対象の親ノードをポインティング装置のクリックなどで選択したことに応答して、該親ノード以下の全ノードのデータをメモリにコピーする。
なお、「ポインタが位置付けられた」とは、ポインティング装置のポインタがその位置にあることを意味する。つまり、まだポインティング装置によって選択（クリック）はされていない状態である。そして、ポインタが位置付けられている項目は、選択候補として強調するために、ハイライト表示されている場合が多い。
そして、先ほどの入力フィールドとは異なるペースト先として選択した入力フィールドにおけるポインティング装置のクリックに応答して、ペースト先として選択された入力フィールドのデータ・タイプとメモリにコピーされているデータのデータ・タイプとを比較し、その両者のデータのデータ・タイプが同じデータ・タイプである場合に、グループ・ペースト機能を選択肢に含むコンテキスト・メニューを表示する。
そして、グループ・ペースト機能が選択された場合に、先ほどポインティング装置によりペースト先として選択された入力フィールド以下にメモリにコピーされているデータをすべてペーストすることにより、複数データの一括コピー＆ペーストを実現する。   
【発明の効果】
【０００９】
本願発明により、複数フィールドで構成されるデータを一括してコピー＆ペーストすることができるので、入力作業を行う際に大変作業効率を向上させることができる。
また、一括コピーする際に、どの親ノード以下のデータをコピーするのかを選択することが出来るので、一括コピー＆ペーストする単位を自由に選択することができる。さらに、ペーストする際には、ペースト先のデータ・タイプがコピーされているデータ・タイプと同じであるかどうかを判断し、両者が同じデータ・タイプでペースト可能な場合のみペースト機能を選択できるようにすることにより、誤ったコピー＆ペースト作業を防止することができる。
さらに、コピー＆ペースト作業中にコピーされるデータをハイライト表示したり、ペースト可能領域をハイライト表示させることにより、所望のデータを正確かつ迅速にコピー＆ペーストすることを援助することができる。
【発明を実施するための最良の形態】
【００１０】
まず本願発明において使用するコンピュータ・システムのシステム構成に関して図１を用いて説明する。
コンピュータ・システム１００は、入力画面を表示する表示画面１０５、入力フィールドのデータや構造化情報が格納される記憶装置１３０、グループ・コピーが選択された場合にコピー内容が保存されるメモリ１３５、ペースト先として選択したフィールドのデータ・タイプとメモリにコピーされているデータとは同じデータ・タイプであるか等の処理判断をするプロセッサ１２０、外部よりデータやプログラムを取り入れるためのインターネット１４０、入力操作を行うキーボード１６０、および例えばマウスのようなポインティング装置１６５などを具備する。 
【００１１】
図２に入力画面のＧＵＩ（２００）を示した。ＧＵＩとは、ユーザーが作業を行うための画面で、複数の入力フィールドを有する。図２の注文者情報の住所データ２１０は、「郵便番号」２１１、「都道府県」２１２、「市町村」２１３、「建物・部屋番号」２１４という複数フィールドのデータを含む。そして、注文者の住所２１０と送り先の住所２２０が同じである場合には、注文者の住所情報２１０のデータを送り先の住所２２０の入力フィールドへ一括してコピー＆ペーストすることができれば、入力作業の作業効率を大幅に向上させることができる。では、どのようにして一括コピーすべきフィールドを選択し、どのようにして一括してペーストすることができるのかを説明する。
【００１２】
まず初めに入力画面に於いて処理すべきデータ項目、つまり、入力フィールドのフィールド名となるデータを図３の３００のような階層構造の構造化情報に解析して記憶装置に記憶する。なお、構造化された情報の１つ１つ、つまり「郵便番号」３１１、「都道府県」３１２などをノードと呼び、図３に示したように階層構造に構造化された情報を構造化情報と呼ぶ。後で説明するが、構造化情報における各ノードとＧＵＩにおける各入力フィールドとは関連付けられるので、構造化情報における各ノードの値が変更になった場合は、対応する入力フィールド名の値も変更する。逆に、ＧＵＩにおける入力フィールドの値が変更されれば、それに対応するノードの値も変更される。
【００１３】
さらに詳しく説明すると、図３に示したように、住所という親ノード３１０に対する下位ノードとしては、「郵便番号」ノード３１１、「都道府県」ノード３１２、「市町村」ノード３１３、「建物・部屋番号」ノード３１４がある。
本願は、この親ノードである「住所」をコピー対象として選択して、住所の下位ノードである「郵便番号」、「都道府県」、「市町村」、「建物・部屋番号」のデータを一括してコピー＆ペーストする以外に、「住所」よりも上位ノードである「連絡先」３２０をコピー＆ペースト対象として選択することもできる。なお、「連絡先」３２０をコピー対象として選択した場合には、住所データである「郵便番号」、「都道府県」、「市町村」、「建物・部屋番号」に加えて、「電話番号」３２１と「メールアドレス」３２２のデータも一緒に一括してコピー＆ペーストできる。つまり、どこからどこまでのノードを一括コピー＆ペーストの対象として選択するかは、情報が構造化されているので自由に設定することができるわけである。
【００１４】
なお本願では、複数の入力フィールド内の複数のデータを一括してコピーすることを「グループ・コピー」と呼び、その複数のデータを一括してペーストすることを「グループ・ペースト」と呼ぶ。  
【００１５】
では、どのようにしてコピーする親ノードを選択することができるのかを図４を用いて説明する。本願発明では、どのような入力フィールドの集合をコピーするのかをユーザーに提示し、ユーザーの選択を受けるため、ポインティング装置を右クリックした際に表示されるコンテキスト・メニュー上に、コピー対象の複数フィールドを束ねる親ノードを表示する。図４では「市町村」にポインタが位置づけられている場合を例にしているが、まず初めにＧＵＩ上のポインタのある入力フィールドに対応するノードである選択ノード、つまり図４の例では「市町村」を取得し、次に選択ノードより上位に位置する親ノードを順に取得する。つまり「市町村」の親ノードは、「住所」、「連絡先」、「注文者情報」、「発注情報」である。
そして、コンテキスト・メニューにおいてグループ・コピーにポインタが位置付けられた場合に、グループ・コピーのコピー対象として、これらの取得した親ノードのリスト、つまり、「住所」、「連絡先」、「注文者情報」、「発注情報」を表示する。そして、ユーザーは所望の親ノードを選択することにより、所望の複数データのグループ・コピーを実行することができるわけである。
要するに、入力フィールドが図４に示したように階層構造に構造化されているので、所望の親ノードを選択することにより、一括コピーするデータの範囲を自由に選択できるわけである。
【００１６】
今まで説明してきた「グループ・コピー」を実現するためには、ＧＵＩ上の入力フィールドと、階層構造に構造化された構造化情報とが関連付けられている必要があるが、本願発明では、各入力フィールドが構造化情報のどのノードに対応するのかを事前に定義して記憶装置に記憶してある。
そこで、次に入力フィールドと構造化情報のノードとがどのように事前に関連付けられているのかを説明する。
なお、入力フィールドのデータには次の２種類がある。
（１）入力フィールドが、データ自身で構造化情報を有する場合。
（２）入力フィールドが、データ自身では構造化情報を有していない場合。
そこで、この２つの場合に関して、実施例１、実施例２として、GUI上の入力フィールドと構造化情報との関連付け方法に関して説明する。
【実施例１】
【００１７】
（１）入力フィールドが、データ自身で構造化情報を有する場合
入力フィールド自身が構造化情報を有している場合として、取り扱いデータがＸＭＬ文書の場合を例にして図５を用いて説明する。
この場合には、入力フィールドが構造化情報のどのノードに対応するかは、図５に示したように、対応するノードのルートからのパス(XPath)を入力フィールドに埋め込むことにより解決する。つまり、図５の「郵便番号」入力フィールドには、「発注情報/注文者情報/連絡先/住所/郵便番号」というXPathを事前に定義し、「都道府県」入力フィールドには、「発注情報/注文者情報/連絡先/住所/都道府県」というXPathを事前に定義し、「市町村」入力フィールドには、「発注情報/注文者情報/連絡先/住所/市町村」というXPathを事前に定義して記憶装置に記憶する。
こうすることによって、各入力フィールドと構造化情報の各ノードとは関連付けられるので、例えば「郵便番号」という入力フィールドに入力された値は、その入力フィールドに対応する構造化情報のノードに代入されるというように、各入力フィールドに入力された値が、それぞれ対応する構造化情報のノードに代入されるわけである。
つまり、各入力フィールドと構造化情報の各ノードは図５の(１)に示したようにXPathによりマッピングされている。従って、ある入力フィールドにポインタが移ると、そのパスに合致する構造化情報のノードを検索し、該当するノードを選択することができる。
そして図５の(２)に示したように、データの構造化情報の走査は、構造化情報へのアクセスを提供するオブジェクト(例：IContentsProvider)を通じて行う。
そして、グループ・コピー、およびグループ・ペーストは、ＸＭＬデータにおけるコピー＆ペーストを処理するオブジェクトとして、CopyAction, PasteActionを定義することにより行う。例えば、「住所」以下のフィールドで、グループ・コピーが選択された場合、親ノードである「住所」に相当するノードを選択することができるが、これは、CopyAction、PasteActionが、ＧＵＩ上のポインタの位置変移を検知するオブジェクト（例：ISelectionChangedListener）を実装しているため、現在選択されているノードおよび入力フィールドを把握しており、図５の(３)に示したように、選択ノードに対して親ノードを選択するというアクションを実行することができるからである。
さらに、「グループ・コピー」アクションが選択された場合には、グループ・コピーしたデータ・タイプと同じデータ・タイプのフィールドがペースト先として選択されている場合には、「グループ・ペースト」を実行可能に設定する。つまり、コンテキスト・メニューにおいて「グループ・ペースト」を選択可能にする。しかし、それ以外の場合は、「グループ・ペースト」を選択不可（disable）に設定する。そしてユーザーが、コンテキスト・メニューから「グループ・ペースト」を選択した場合には、PasteActionを実行し、メモリにコピーされていたデータをペースト先へペーストする。
【実施例２】
【００１８】
（２）入力フィールドが、データ自身では構造化情報を有していない場合。
HTML文書で実装する場合を例に取り説明するが、実装方法は、「ＧＵＩへの構造化情報の埋め込み」と、「構造化情報へのアクセス」が可能であれば、HTML文書に限定されない。
HTMLの場合、入力フィールドは構造化情報を有していないので、XMLデータの場合のようにXPathを定義することはできない。そこで、その代替として、図６に示したように、spanの階層構造により入力フィールドと階層化構造のノードとの対応関係を定義する。
まず初めに、構造化情報を各入力フィールドに付加するために、各データにデータ・タイプを定義する。データ・タイプの定義は、図 ６に示したように<span> ... </span>タグで子ノードを囲み、 spanに記述されたclass属性、もしくはINPUTノードのname属性にタイプ名を記すことにより行う。そして、これらの定義情報を記憶装置に記憶する。
HTMLは本来は表示方法のみを指定する言語だが、表示方法に影響を与えない<span>タグによりHTML文書に構造化情報を埋め込む。これにより、表示場所に制約されることなく、各フィールドに構造化情報を定義することができる。
コピー時、ペースト時の構造化情報へのアクセスは、HTML文書の構造化情報へのアクセスを仲介するDOMを利用する。コンテキスト・メニュー上での「グループ・コピー」、または「グループ・ペースト」の選択に応答して、DOM経由で構造のトップ・ノードを取得し、そのノード以下のフィールドをパースすることにより行う。「グループ・コピー」が実行された場合、コピーするすべてのフィールドの値をDOM経由で取得してメモリに格納する。
「グループ・ペースト」が可能かどうかは、コピーした階層構造のトップ・ノードと、ペースト先として選択したフィールドのデータ・タイプ名が合致するかを検証することにより行う。なお両者のデータ・タイプ名が同じであるかどうかをどのようにしてプロセッサが判断するのかというと、図６に示したspanに記述されたclass属性、もしくはINPUTノードのname属性に記したタイプ名が、コピーした階層構造のトップ・ノードと、ペースト先として選択した入力フィールドにおいて同じであるならば、同じデータ・タイプであると判断するわけである。
要するに、「グループ・ペースト」が実行されると、<span>のタイプ名をつき合わせてペースト先のトップ・ノードを特定し、そのノード以下のフィールドに値を格納して行く。
また、フィールドのハイライトは、フィールドのstyle属性のbackground-colorを書き換えることにより行う。なお、コピーおよびペースト処理は、JavaScriptで記述し、ブラウザーがJavaScriptを解析することにより処理することができる。  
【００１９】
以上説明してきたように、入力フィールド自身が構造化情報を有している場合も有していない場合も、上記のようにＧＵＩ上の各入力フィールドと、階層構造に構造化された構造化情報の各ノードは対応付けられる。従って図７に示したように、コピー元の入力フィールドの表示の順番が、「郵便番号」、「都道府県」、「市町村」、「建物・部屋番号」であり、ペースト先の入力フィールドの表示の順番が、「郵便番号」、「市町村」、「都道府県」というように異なり、かつ、「建物・部屋番号」という入力フィールドがペースト先にない場合でも、以上説明したように、各入力フィールドと各構造化情報の各ノードは対応付けられているので、それぞれ正しい入力フィールドにコピーしたデータをペーストすることができる。
また、ペースト先の「郵便番号」、「市町村」、「都道府県」などの入力フィールドが図７のように連続してあるわけではなく散在している場合でもコピーしたデータをそれぞれ該当する入力フィールドへ正しくペーストすることができる。
【００２０】
次に、実施例１（入力フィールドが、データ自身で構造化情報を有する場合）および実施例２（入力フィールドが、データ自身では構造化情報を有していない場合）のいずれの場合においてもコンテキスト・メニューにおいてグループ・コピーを選択した場合の処理の流れを図８のフローチャートを用いて説明する。
まず、コンテキスト・メニュー上でポインティング装置のポインタの移動を検知し（８０１）、コンテキスト・メニューにおいてグループ・コピーにポインタが位置付けられたかどうかをプロセッサが判断する（８０２）。そして、グループ・コピーにポインタが位置付けられていれば、ポインタが位置する入力フィールドに対応する構造化情報のノードを取得する（８０３）。そして、ポインタが位置するノードに親ノードがあるかどうかを調べ（８０４）、親ノードがある場合には、親ノード名をメモリに記録し（８０７）、次に親ノードを選択ノードとして（８０８）、さらに上位の親ノードを検索していく。
そして、全ての親ノードの検索が終了したら、コンテキスト・メニューに取得した親ノードのリストをグループ・コピーのサブカテゴリーとして表示する（８０５）ので、その親ノードのリストからグループ・コピーしたい親ノードを選択することができる。
また、グループ・コピーする所望の親ノードにポインタが位置付けられた場合（８０６）には、ポインタが位置付けられた親ノード以下の全ノードを取得し（８０９）、次に取得したノードに対応する入力フィールドを取得して（８１０）、この取得した全フィールドのバックグラウンド色を例えば黄色に変更することによりハイライト表示させることができる（８１１）。従って、ユーザーはどの複数入力フィールドをコピー対象として選択したのかを視覚的に知ることができるため、誤操作が減り、大変作業効率が向上する。
なおハイライト表示は、バックグラウンド色を黄色以外の他の色に変更したり、点滅させたりすることももちろん可能であるし、ハイライト表示させるのは、視覚的に確認することによりユーザーが作業しやすいようにするためである。
次に、コンテキスト・メニュー上でリストされた親ノードの候補から、ユーザーが、所望の親ノードをポインティング装置により選択すると（８１２）、その親ノード以下のデータが、階層構造を保ったままメモリにコピーされる「グループ・コピー」アクションが実施される（８１３）。
そして、「コピー・アクション」が実施された直後、コピーした親ノードと同じタイプのノードを検索して取得し（８１４）、そのノード以下の全ノードを取得する（８１５）。そして取得した全フィールドをハイライト表示させることができる（８１６）。これらハイライト表示したフィールドは、「グループ・ペースト」を実行可能なフィールドであるため、ユーザーは「コピー・アクション」でコピーした内容をどこにペーストすることができるのかを視覚的に知ることができる。  
【００２１】
以上説明したように、「コピー・アクション」が実施された直後に、コピーされたノードと同じデータ・タイプのノードをハイライト表示することにより、ペースト可能なフィールドをユーザーに通知することができるが、図９の例は、注文者の住所がコピーされた場合に、注文者の住所のデータ・タイプと同じデータ・タイプである送り先の住所の箇所がハイライト表示されるという例である。このように、ユーザーは、「グループ・ペースト」アクションの実行前にペースト可能なフィールドを確認することができるので、ユーザーがペースト先を選択する上で大変作業効率が向上する。
【００２２】
次に、所望の入力フィールドにおいてポインティング装置を右クリックした場合に、表示されるコンテキスト・メニューに「グループ・ペースト」が表示される処理の流れのフローチャートを図１０に示した。
まず、コンテキスト・メニュー上でポインティング装置のポインタの移動を検知し（１００１）、グループ・ペーストにポインタが位置付けられたかどうかを判断する（１００２）。そして、グループ・ペーストにポインタが位置付けられていれば、次に、グループ・ペーストが選択可能かどうか（１００３）、つまり、グループ・ペーストを実行するには、コピー元と、ペースト先は、同じデータ・タイプである必要があるので、メモリにコピーされているデータのデータ・タイプとペースト先のデータのデータ・タイプは同じであるかどうかをプロセッサが判断する。
そして、メモリにコピーされているデータのデータ・タイプとペースト先のデータのデータ・タイプが同じである場合には、コンテキスト・メニュー上の「グループ・ペースト」を選択可能(enable)として表示する（１００４）。
次に、メモリにコピーされているデータのうち最上位に位置する親ノードを取得し（１００５）、その最上位の親ノードと同じデータ・タイプのノードを構造化情報より検索して取得し（１００６）、さらに取得した親ノード以下に存在する全ノードを取得する（１００７）。そして、取得した構造化情報のノードに対応する入力フィールドを検索して取得し（１００８）、取得した全フィールド、つまりペースト可能なフィールドをハイライト表示する（１００９）。これにより、ユーザーは、「グループ・ペースト」アクション実施前にペースト可能なフィールドを認識することができる。そして、ユーザーがペースト先を選択すると（１０１０）、選択したフィールドのノード以下にメモリにコピーされていた複数のデータをグループ・ペーストする（１０１１）。
なお、選択フィールドがコピー元と異なるデータ・タイプであるためグループ・ペーストは選択不可であると１００３で判断された場合には、コンテキスト・メニュー上の「グループ・ペースト」をグレー・アウトして選択不可(disable)にし、ペーストを阻止する（１０１２）。これにより、ペースト可能領域をコピー元と同じタイプに属するフィールドに限定することができるので、誤った入力フィールドへペーストしてしまうことを防ぐことができる。
【００２３】
なお本願発明を実現するコンピュータ・プログラムは、外部の記憶媒体に格納されていてもよい。外部の記憶媒体としては、CD-ROMやフレキシブル・ディスクの他に、CDやDVD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、インターネットや専用通信ネットワークに接続されたサーバ・システムにおけるハードディスクやRAM等の記憶装置を記録媒体として使用して、ネットワークを介してプログラムをコンピュータに提供してもよい。 
【図面の簡単な説明】
【００２４】
【図１】システム構成図の例
【図２】複数の入力フィールドを有する入力画面の例
【図３】構造化情報を示す図
【図４】親ノードの検索を示す図
【図５】データが構造化情報を有している場合を示す図
【図６】データが構造化情報を有していない場合を示す図
【図７】ノードと入力フィールドとの関連付けを示す図
【図８】グループ・コピー処理のフロー・チャート
【図９】グループ・ペースト可能領域のハイライト表示を示す図
【図１０】グループ・ペースト処理のフローチャート
【符号の説明】
【００２５】
１００：コンピュータ・システム
１０５：表示画面
１１０：表示インターフェース
１１５：バス
１２０：プロセッサ
１２５：コンピュータ
１３０：記憶装置
１３５：メモリ
１４０：インターネット
１５０：Ｉ／Ｏインターフェース
１５５：Ｉ／Ｏインターフェース
１６０：キーボード
１６５：ポインティング装置（マウス）
２００：ＧＵＩ
２１０：注文者の住所フィールド
２１１：郵便番号フィールド
２１２：都道府県フィールド
２１３：市町村フィールド
２１４：建物・部屋番号フィールド
２２０：送り先の住所フィールド   
３００：構造化情報
３０１：住所データ
３１０：住所ノード
３１１：郵便番号ノード
３１２：都道府県ノード
３１３：市町村ノード
３１４：建物・部屋番号ノード
３２０：連絡先ノード
３２１：電話番号ノード
３２２：メールアドレス・ノード
【図１】
2007094818.tif 000003
【図２】
2007094818.tif 000004
【図３】
2007094818.tif 000005
【図４】
2007094818.tif 000006
【図５】
2007094818.tif 000007
【図６】
2007094818.tif 000008
【図７】
2007094818.tif 000009
【図８】
2007094818.tif 000010
【図９】
2007094818.tif 000011
【図１０】
2007094818.tif 000012