(57)【要約】【課題】  コンピュータが生成した文書中にデータをペーストするためのコンピュータ・ソフトウェア・アプリケーションが利用可能なペースト機能を拡張するための、方法およびシステムを提供すること。【解決手段】  ペーストするために文書からデータが選択される。選択データはクリップボードなどの記憶域に保存される。選択データに関連するデータ型に関する情報を消費側又はペースト・アプリケーションに提供するために、選択データに関連する情報又はデータが選択データと共に保存される。消費側アプリケーションは、ペーストされるデータのデータ構造及び書式設定がペースト前の選択データに適用されていた状態で維持されるように、選択データを第１の文書に関連付けられた第１のデータ型からその選択データを第２の文書にペーストするための第２のデータ型に変換するための、名前空間、及び拡張スタイルシート言語変換ファイルなどの関連リソースを取得する。【選択図】  図３
2004265402.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・ソフトウェア・アプリケーションのペースト機能を拡張する方法であって、
供給側アプリケーションによって第１の文書を開くこと、
消費側アプリケーションによって第２の文書にペーストするために、前記第１の文書からデータを選択すること、
前記選択されたデータを記憶域に保存すること、
前記選択されたデータに関する情報を前記消費側アプリケーションに供給するために、前記選択されたデータに関連付けられたデータを前記記憶域に保存すること、
前記選択されたデータに関連付けられた前記データが、前記選択されたデータに関連付けられた１つまたは複数のデータ型を識別する前記選択されたデータに関連付けられた、第１の名前空間を識別する場合には、前記第１の名前空間を前記消費側アプリケーションに供給すること、
前記選択されたデータを前記第２の文書にペーストするために、前記１つまたは複数のデータ型のうちの１つを選択すること、および
前記消費側アプリケーションによって前記第２の文書にペーストするための前記データを作成するために、前記選択されたデータ型に関連付けられたリソースを取得すること
を備えることを特徴とする方法。
【請求項２】
前記消費側アプリケーションによって前記第２の文書にペーストするための前記データを作成するために前記選択されたデータ型に関連付けられたリソースを取得する前記ステップに先立ち、利用可能な名前空間リストを解析して前記選択されたデータに関連付けられた前記リソースを探すこと、
前記利用可能な名前空間リストが前記選択されたデータに関連付けられた前記リソースを識別する場合には、前記リソースを前記消費側アプリケーションに供給すること
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記利用可能な名前空間リストが前記選択されたデータに関連付けられた前記リソースを識別しない場合には、名前空間ライブラリを解析して前記選択されたデータに関連付けられた前記リソースを探すこと、
前記名前空間ライブラリが前記選択されたデータに関連付けられた前記リソースを識別する場合には、前記リソースを前記消費側アプリケーションに供給すること
をさらに備えることを特徴とする請求項２に記載の方法。
【請求項４】
複数の名前空間が前記選択されたデータに関連付けられた前記データによって識別された場合には、前記消費側アプリケーションによって前記第２の文書にペーストするための前記データを作成するために、前記複数の名前空間の１つに関連付けられた第２のリソースを取得することをさらに備えることを特徴とする請求項３に記載の方法。
【請求項５】
前記第１のリソースに従って、前記選択されたデータを前記第２の文書にペーストすること、および
前記第２にリソースに従って前記選択されたデータを前記第２の文書にペーストすることの選択肢をユーザに提供すること
をさらに備えることを特徴とする請求項４に記載の方法。
【請求項６】
ユーザが、複数の利用可能な名前空間の１つから選択された１つまたは複数のリソースのうちの１つに従って、前記選択されたデータを前記第２の文書にペーストすることを選択できるようにすることをさらに備え、前記複数の利用可能な名前空間のそれぞれが１つまたは複数のリソースに関連付けられていることを特徴とする請求項４に記載の方法。
【請求項７】
前記選択されたデータを記憶域に保存することは、前記選択されたデータを拡張マークアップ言語（ＸＭＬ）書式で保存することを含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記第１および第２のリソースは、前記選択されたデータを、前記第１の文書に関連付けられた第１のデータ型から、前記第２の文書に前記選択されたデータをペーストするための第２のデータ型に変換する拡張スタイルシート言語変換（ＸＳＬＴ）を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記消費側アプリケーションによって前記第２の文書にペーストするための前記データを作成するために前記選択されたデータ型に関連付けられたリソースがない場合には、拡張ペースト機能なしに前記選択されたデータを前記第２の文書にペーストすることをさらに備えることを特徴とする請求項８に記載の方法。
【請求項１０】
前記選択されたデータに関連付けられたデータを前記記憶域に保存することは、前記データをＣＦ＿ＸＭＬ＿ＨＥＡＤＥＲ書式で前記記憶域に保存することを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記第１の名前空間が前記第１の文書に関連付けられていると識別された場合には、前記選択されたデータに関連付けられた前記データと共に、前記消費側アプリケーションが前記第１の名前空間を前記利用可能な名前空間リストまたは名前空間ライブラリ中に探し出せるようにするための情報を、供給することをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記選択されたデータに関連付けられた前記データと共に、前記消費側アプリケーションが前記第１の名前空間を前記利用可能な名前空間リストまたは名前空間ライブラリ中に探し出せるようにするための情報、を供給することは、
前記第１の名前空間のバージョン識別子を供給すること、
前記第１の名前空間のユニフォーム・リソース識別子を供給すること、および
前記第１の名前空間のファイル・サイズを供給すること
を含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記複数の名前空間が前記第１の文書に関連付けられていると識別された場合に、前記選択されたデータに関連付けられた前記データと共に、前記消費側アプリケーションが前記複数の名前空間を前記利用可能な名前空間リストまたは名前空間ライブラリ中に探し出せるようにするための情報、を供給することをさらに備えることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記選択されたデータに関連付けられた前記データと共に、前記消費側アプリケーションが前記複数の名前空間を前記利用可能な名前空間リストまたは名前空間ライブラリ中に探し出せるようにするための情報、を供給することは、
前記複数の名前空間それぞれのバージョン識別子を供給すること、
前記複数の名前空間それぞれのユニフォーム・リソース識別子を供給すること、および
前記複数の名前空間それぞれのファイル・サイズを供給すること
を含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記第１の名前空間が前記第１の文書に関連付けられていると識別された場合に、前記第１の名前空間に従って前記第１の文書に関連付けられたいずれかのデータ型を前記消費側アプリケーションに供給することをさらに備えることを特徴とする請求項１０に記載の方法。
【請求項１６】
前記第１の名前空間に従って前記第１の文書に関連付けられた前記データ型は、ＣＦ＿ＸＭＬ＿Ｖｉｅｗ書式によって前記消費側アプリケーションに供給されることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記複数の名前空間が前記第１の文書に関連付けられていると識別された場合に、前記複数の名前空間に従って前記第１の文書に関連付けられた１つまたは複数のデータ型を前記消費側アプリケーションに供給することを特徴とする請求項１３に記載の方法。
【請求項１８】
前記複数の名前空間に従って前記第１の文書に関連付けられた前記１つまたは複数のデータ型は、ＣＦ＿ＸＭＬ＿Ｄａｔａ書式によって前記消費側アプリケーションに供給されることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記供給側アプリケーションはワープロ・アプリケーションであることを特徴とする請求項１に記載の方法。
【請求項２０】
前記供給側アプリケーションは表計算アプリケーションであることを特徴とする請求項１に記載の方法。
【請求項２１】
前記供給側アプリケーションはスライド・プレゼンテーション・アプリケーションであることを特徴とする請求項１に記載の方法。
【請求項２２】
前記消費側アプリケーションはワープロ・アプリケーションであることを特徴とする請求項１に記載の方法。
【請求項２３】
前記消費側アプリケーションは表計算アプリケーションであることを特徴とする請求項１に記載の方法。
【請求項２４】
前記消費側アプリケーションはスライド・プレゼンテーション・アプリケーションであることを特徴とする請求項１に記載の方法。
【請求項２５】
前記選択されたデータを記憶域に保存することは、前記選択されたデータをクリップボードに保存することを含むことを特徴とする請求項１に記載の方法。
【請求項２６】
コンピュータ・ソフトウェア・アプリケーションのペースト機能を拡張する方法であって、
供給側アプリケーションによって第１の文書を開くこと、
マークアップ言語に従って前記第１の文書に構造を適用すること、
第２の文書にペーストするために、前記第１の文書からデータを選択すること、
前記選択されたデータを記憶域に保存すること、
前記選択されたデータに関する情報を消費側アプリケーションに供給するために、前記選択されたデータに関連付けられたデータを前記記憶域に保存すること、
前記消費側アプリケーションによって第２の文書を開き、前記選択されたデータを前記第２の文書にペーストするために消費側アプリケーションのペースト機能を選択すること、
前記消費側アプリケーションによって、前記選択されたデータに関連付けられた前記データを読み込むこと、
前記消費側アプリケーションによって前記選択されたデータに関連付けられた前記データを読み込むことに応じて、前記選択されたデータに適用されているデータ構造に対して、許容データ・コンテンツ、データ型およびデータ構造を定義する１つまたは複数の名前空間が、前記選択されたデータに、関連付けられているかどうかを決定すること、
前記選択されたデータを前記第２の文書にペーストするために、前記消費側アプリケーションによって前記１つまたは複数の名前空間の１つに関連付けられたリソースを取得すること、および
前記リソースに従って、前記選択されたデータを前記第２の文書にペーストすること
を備えることを特徴とする方法。
【請求項２７】
前記選択されたデータをペーストするために前記消費側アプリケーションによって前記１つまたは複数の名前空間の１つに関連付けられたリソースを取得することに先立ち、
利用可能な名前空間リストが、前記消費側アプリケーションが使用するための前記１つまたは複数の名前空間に所望の名前空間を含んでいるかどうかを決定すること、
前記利用可能な名前空間リストが、前記消費側アプリケーションが使用するための前記１つまたは複数の名前空間に所望の名前空間を含んでいる場合には、前記所望の名前空間を選択すること、および
前記選択された名前空間を前記消費側アプリケーションに供給すること
をさらに備えることを特徴とする請求項２６に記載の方法。
【請求項２８】
前記利用可能な名前空間リストが、前記消費側アプリケーションが使用するための前記１つまたは複数の名前空間に所望の名前空間を含んでいない場合には、名前空間ライブラリが、前記消費側アプリケーションが使用するための１つまたは複数の名前空間のうち１つについて、１つまたは複数のリソースを含んでいるかどうかを決定すること、
前記名前空間ライブラリが、前記消費側アプリケーションが使用するための１つまたは複数の名前空間について１つまたは複数の所望のリソースを含んでいる場合には、前記名前空間ライブラリから前記所望の名前空間を選択すること、および
前記選択された名前空間およびリソースを前記消費側アプリケーションに供給すること
をさらに備えることを特徴とする請求項２７に記載の方法。
【請求項２９】
前記選択された名前空間に従って、前記選択されたデータを前記第２の文書にペーストすることをユーザが選択できるようにすることをさらに備えることを特徴とする請求項２８に記載の方法。
【請求項３０】
前記マークアップ言語は拡張マークアップ言語（ＸＭＬ）であることを特徴とする請求項２９に記載の方法。
【請求項３１】
前記リソースは、前記選択されたデータを、前記第１の文書に関連付けられた第１のデータ型から、前記第２の文書に前記選択されたデータをペーストするための第２のデータ型に変換する拡張スタイルシート言語変換ファイルであることを特徴とする請求項３０に記載の方法。
【請求項３２】
前記選択されたデータに関する情報を前記消費側アプリケーションに供給するために前記選択されたデータに関連付けられたデータを前記記憶域に保存する前記ステップは、前記１つまたは複数の名前空間のいずれかが前記第１の文書に関連付けられているかどうかを識別することを含むことを特徴とする請求項２９に記載の方法。
【請求項３３】
前記１つまたは複数の名前空間のいずれかが前記第１の文書に関連付けられているかどうかを識別することは、前記利用可能な名前空間リストで、または名前空間ライブラリで前記１つまたは複数の名前空間のいずれかを探し出すための情報を、消費側アプリケーションに供給することを含むことを特徴とする請求項３２に記載の方法。
【請求項３４】
コンピュータ実行可能命令を記憶したコンピュータ可読媒体であって、前記コンピュータ実行可能命令が、コンピュータによって実行されると、
供給側アプリケーションによって第１の文書を開くこと、
マークアップ言語に従って前記第１の文書に構造を適用すること、
第２の文書にペーストするために、前記第１の文書からデータを選択すること、
前記選択されたデータを記憶域に保存すること、
前記選択されたデータに関する情報を消費側アプリケーションに供給するために、前記選択されたデータに関連付けられたデータを前記記憶域に保存すること、
前記消費側アプリケーションによって第２の文書を開き、前記選択されたデータを前記第２の文書にペーストするために消費側アプリケーションのペースト機能を選択すること、
前記消費側アプリケーションによって、前記選択されたデータに関連付けられた前記データを読み込むこと、
前記消費側アプリケーションによって前記選択されたデータに関連付けられた前記データを読み込むことに応じて、前記選択されたデータに適用されているデータ構造に対して、許容データ・コンテンツ、データ型およびデータ構造を定義する前記選択されたデータに、１つまたは複数の名前空間が関連付けられているかどうかを決定すること、
前記選択されたデータを前記第２の文書にペーストするために、前記消費側アプリケーションによって前記１つまたは複数の名前空間の１つに関連付けられたリソースを取得すること、および
前記リソースに従って、前記選択されたデータを前記第２の文書にペーストすること
のそれぞれのステップを実行することを特徴とするコンピュータ可読媒体。
【請求項３５】
前記選択されたデータをペーストするために、前記消費側アプリケーションによって前記１つまたは複数の名前空間に関連付けられたリソースを取得することに先立ち、
利用可能な名前空間リストが、前記消費側アプリケーションが使用するための前記１つまたは複数の名前空間に所望の名前空間を含んでいるかどうかを決定すること、
前記利用可能な名前空間リストが、前記消費側アプリケーションが使用するための前記１つまたは複数の名前空間に所望の名前空間を含んでいる場合には、前記所望の名前空間を選択すること、および
前記選択された名前空間を前記消費側アプリケーションに供給すること
をさらに備えることを特徴とする請求項３４に記載のコンピュータ可読媒体。
【請求項３６】
前記利用可能な名前空間リストが、前記消費側アプリケーションが使用するための前記１つまたは複数の名前空間に所望の名前空間を含んでいない場合には、名前空間ライブラリが、前記消費側アプリケーションが使用するための１つまたは複数の名前空間に所望の名前空間を含んでいるかどうかを決定すること、
前記名前空間ライブラリが、前記消費側アプリケーションが使用するための１つまたは複数の名前空間について１つまたは複数の所望のリソースを含んでいる場合には、前記名前空間ライブラリから前記所望の名前空間を選択すること、および
前記選択された名前空間およびリソースを前記消費側アプリケーションに供給すること
をさらに備えることを特徴とする請求項３５に記載のコンピュータ可読媒体。
【請求項３７】
前記選択された名前空間に従って、前記選択されたデータを前記第２の文書にペーストすることをユーザが選択できるようにすることをさらに備えることを特徴とする請求項３６に記載のコンピュータ可読媒体。
【請求項３８】
前記マークアップ言語は拡張マークアップ言語（ＸＭＬ）であることを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項３９】
前記選択されたデータに関する情報を前記消費側アプリケーションに供給するために前記選択されたデータに関連付けられたデータを前記記憶域に保存することは、前記１つまたは複数の名前空間のいずれかが前記第１の文書に関連付けられているかどうかを識別することを含むことを特徴とする請求項３８に記載のコンピュータ可読媒体。
【請求項４０】
前記１つまたは複数の名前空間のいずれかが前記第１の文書に関連付けられているかどうかを識別することは、前記利用可能な名前空間リスト上で、または名前空間ライブラリで前記１つまたは複数の名前空間のいずれかを探し出すための情報を、消費側アプリケーションに供給することを含むことを特徴とする請求項３９に記載のコンピュータ可読媒体。
【請求項４１】
データをコピー・アプリケーションから消費側アプリケーションにペーストするための方法であって、
第１の拡張マークアップ言語（ＸＭＬ）要素を第１の文書のある領域で、前記コピー・アプリケーションからコピーし、前記消費側アプリケーションにペーストするために選択される領域の開始部分に適用すること、
第２のＸＭＬ要素を前記選択された領域の終了部分に適用すること、
前記選択された領域に関連付けられたヘッダ中に、利用可能なＸＭＬ名前空間の識別、および前記利用可能な名前空間のそれぞれに対応するクリップボード書式識別へのポインタを含む情報を供給すること、
前記ヘッダ中に、前記利用可能な名前空間それぞれのファイル・サイズに関する情報を供給すること、および
前記利用可能な名前空間のうち１つまたは複数の名前空間をクリップボード上に供給して、前記消費側アプリケーションが、前記コピー・アプリケーションから前記データをペーストするために前記１つまたは複数の名前空間から選択できるようにすること
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータによって生成した文書中にデータをペーストするためのコンピュータ・ソフトウェア・アプリケーションに利用可能なペースト機能を拡張するための方法およびシステムに関する。
【背景技術】
【０００２】
コンピュータ・ソフトウェア・アプリケーションは、仕事上で、教育上で、およびレジャーにおいて、彼らを支援する様々な文書をユーザが作成することを可能にする。例えば、ワープロ・アプリケーションによって、ユーザは、手紙、記事、本、メモなどを作成することができる。表計算アプリケーションによって、ユーザは、様々な英数字データを記憶させ、操作し、印刷し、表示することができる。このようなアプリケーションは、高機能の編集、書式設定、印刷および計算を含めて、いくつかの周知の長所を備えている。
【０００３】
多くのソフトウェア・アプリケーションのきわめて一般的かつ有益な機能として、所与の文書、スプレッドシート、スライド・プレゼンテーション、またはその他のコンピュータによって生成した文書からデータをカットまたはコピーし、次いで、そのカットまたはコピーしたデータを文書中の所望の位置にペーストする、ペースト操作を行う機能が挙げられる。ユーザは、テキスト、画像、または英数字データを含むデータを、ワープロ・アプリケーションなどの第１の、または供給側のアプリケーションからカットまたはコピーし、次いで、そのカットまたはコピーしたデータを、表計算アプリケーションなどの第２の、または消費側のアプリケーションを使ってペーストすることが多い。例えば、ユーザが、表計算アプリケーション文書から一連の数字をカットまたはコピーして、それらの数字を顧客または友人に送る手紙を作成中のワープロ・アプリケーション文書中にペーストしたいという場合がある。一般に、データがカットまたはコピーされると、そのデータは、その後のペースト操作におけるペーストに備えて、一時的に記憶域に入れられる。
【０００４】
供給側アプリケーションと消費側アプリケーションが異なるソフトウェア・アプリケーションの場合に、データを供給側アプリケーションからカットまたはコピーして、それを第２の消費側アプリケーションによって別個の文書中にペーストすると、書式設定を含めて、第１のアプリケーションによって提供されていた特別の特徴（feature）を提供するのに必要な機能を、第２の、または消費側のアプリケーションは含んでいないため、全てではないとしても、第１のアプリケーションによって提供されていた特徴（feature）の多くは、書式設定を含めて、ペースト操作中に失われてしまう。例えば、ユーザが、表計算アプリケーション文書から一連のデータをコピーして、そのデータをワープロ文書中にペーストした場合、ワープロ文書中にペーストされたデータは、表計算アプリケーションにおいては存在していた書式設定が全くなしにペーストされる場合がある。すなわち、表計算アプリケーションでのデータがいくつかの列と行で並べられていた場合に、書式設定が何もない、単なる一連の数字としてワープロ・アプリケーション中にペーストされる場合がある。
【０００５】
ソフトウェアのより高度な機能に対する需要について行くために、ソフトウェア開発者達は、ソフトウェア・アプリケーションの通常の機能性から離れた構造で、文書あるいはその文書に関連付けた目に見える書式設定を作成する役目を負う有用な構造を文書に与えるために、ユーザがソフトウェア・アプリケーション文書に注釈を付けることを可能にする拡張マークアップ言語などのマークアップ言語を使い始めている。例えば、ユーザが、自分のワープロ・アプリケーション上で、ある出版社に送信したいと考えている記事を作成するためのテンプレート文書を作成したいという場合がある。その文書に構造を適用することによって、その文書を受け取った出版社は、その文書を処理することによりその構造を使用して、その文書構造によって定義されているデータを利用することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
残念なことに、このような構造上の注釈を有する文書からデータをカットまたはコピーした場合、特に、異なる消費側アプリケーションによってペースト操作が実行された場合には、そのペースト操作の間に構造上の注釈が失われることが多い。消費側アプリケーションがマークアップ言語を理解し、使用するようにプログラムされている場合でも、供給側アプリケーションにおけるマークアップ言語の構造上の注釈を定義しているスキーマまたは規則は、消費側アプリケーションと比べると著しく異なる場合がある。
【０００７】
本発明は、これらの、およびその他の考慮すべき課題に対処する。
【課題を解決するための手段】
【０００８】
本発明は、コンピュータによって生成した文書中にデータをペーストするためのコンピュータ・ソフトウェア・アプリケーションに利用可能なペースト機能を拡張するための方法およびシステムを提供する。全般的に説明すると、第２のアプリケーション文書にペーストするために、第１のアプリケーションからデータを選択する。選択されたデータは、名前空間リストなど、そのデータに関連付けられた情報と共に記憶域に保存される。選択されたデータが第２のアプリケーションまたは消費側アプリケーション文書にペーストされると、消費側アプリケーションは、選択されたデータに関連付けられている利用可能な名前空間リストを調べて、そのデータの様々な表現のいずれが、ペースト・アプリケーションによって理解されるかどうかを調べる。ペースト・アプリケーションはまた、選択されたデータを、第２または消費側アプリケーションが一層消費し易い書式に変換するための拡張スタイルシート言語（ＸＳＬ）変換ファイルなどの、いずれかのリソースが利用可能かどうかを調べることもできる。利用可能な名前空間で支援可能なリソースを見つけるための方法の１つは、データを消費側アプリケーションが使用できるように変換するための利用可能なリソースについて、名前空間ライブラリを調べることである。リソースが何も見つからず、また、名前空間がペースト・アプリケーションによって本来的に、未だに理解されていない場合には、そのデータは、デフォルトのペースト・リソースに従って第２のアプリケーション文書にペーストされる可能性がある。ペースト・アプリケーションはまた、名前空間に関係なくどの型のデータでも扱うためのデフォルトの方法を備えることもできる。
【０００９】
より詳細には、コンピュータ・ソフトウェア・アプリケーションのペースト機能を拡張する方法を提供する。供給側アプリケーションによって第１の文書が開かれ、拡張マークアップ言語（ＸＭＬ）などのマークアップ言語に従って、第１の言語に構造が適用される。第１のアプリケーションが、既存のデータを意味のあるやり方で表示する目的を果たすだけのこともあり得る。第２のアプリケーションにペーストするために、第１のアプリケーションからデータが選択される。選択されたデータは記憶域に保存され、選択されたデータに関連付けられた情報も、選択されたデータに関する情報を消費側アプリケーションに提供するためにその記憶域に保存される。この情報は、主として名前空間リストから成る。これらの名前空間は、コピー・アプリケーションがデータを表現するために持っている、異なる方法を識別する。この一例として、財務データを備えたスプレッドシート文書が挙げられる。提供される名前空間の一方はスプレッドシートを記述するためのものであり、提供されるもう一方の名前空間は、財務データを記述するためのものである。
【００１０】
消費側アプリケーションによって第２の文書が開かれ、選択されたデータを第２の文書にペーストするために消費側アプリケーションでペースト機能が選択される。消費側アプリケーションは、選択されたデータに関連付けられた情報を読み込む。これに応答して、消費側アプリケーションは、選択されたデータに関連付けられているデータ型を識別する１つまたは複数の名前空間を、消費側アプリケーションが本来的に理解できるかどうか、を決定する。２つ以上の名前空間がある場合には、アプリケーションは、どの名前空間および関連リソースを使用すべきかの選択肢をユーザに与え、あるいは、アプリケーションが、すでに消費側アプリケーション文書中にあるデータに最も適合する名前空間および関連リソースを選択する。提示されるこの選択肢は、どの名前空間を使用すべきかという選択肢であってもよいし、あるいは、いずれかの１つの所与の名前空間のどのリソースを使用すべきかという選択肢であってもよい。消費側アプリケーションは、名前空間をまだ理解していない場合には、選択されたデータを第２の文書にペーストするために、その名前空間に関連付けられたＸＳＬＴ変換ファイルなど、１つまたは複数のリソース・ファイルを取得することができる。消費側アプリケーションが、選択されたデータを第２の文書にペーストするために１つまたは複数の名前空間のうちの１つを選択した後、その選択されたデータは、消費側アプリケーションが好む方法に従って第２の文書にペーストされる。時々、使用されることがある追加リソースとして、第２または消費側アプリケーションが消費可能なデータ型または書式に選択されたデータを変換するための拡張スタイルシート言語変換（ＸＳＬＴ）ファイルが挙げられる。
【００１１】
本発明の一態様によれば、選択データをペーストするために１つまたは複数の名前空間のリソースを取得するのに先立ち、利用可能名前空間リストが、消費側アプリケーションが理解する１つまたは複数の名前空間のうちの所望の名前空間を含んでいるかどうかについての決定を行う。利用可能な名前空間リストが、消費側アプリケーションが理解する１つまたは複数の名前空間のうちの所望の名前空間を含んでいる場合には、その所望の名前空間を選択して消費側アプリケーションに供給する。利用可能な名前空間リストが、消費側アプリケーションが理解する１つまたは複数の名前空間のうちの所望の名前空間を含んでいない場合には、消費側アプリケーションが使用するための１つまたは複数の名前空間を消費側アプリケーションが理解するのを支援するためのリソースを、名前空間ライブラリが含んでいるかどうかに関する決定を行う。消費側アプリケーションが使用するための１つまたは複数の名前空間のリソースを名前空間ライブラリが含んでいる場合には、所望のリソースが名前空間ライブラリから選択され、消費側アプリケーションが１つまたは複数の名前空間を消費するのを支援するために、消費側アプリケーションに供給される。
【００１２】
消費側アプリケーションに提供するために、選択されたデータに関連付けられた情報が記憶域に保存される。このデータは、選択されたデータに関連付けられた１つまたは複数の名前空間が存在することの指標を含む場合がある。選択されたデータに関連付けられた情報は、選択されたデータに関連付けられた各名前空間について、名前空間のバージョン識別子、名前空間を探し出すためのユニフォーム・リソース識別子、および名前空間のファイル・サイズを含む、いずれかの関連名前空間に関する情報を含むことができる。
【００１３】
本発明の別の態様によれば、データをコピー・アプリケーションから消費側アプリケーションにペーストするための方法が提供される。第１の拡張マークアップ言語（ＸＭＬ）要素が、第１の文書のある領域の開始部分に適用される。その領域は、コピー・アプリケーションからコピーし、消費側アプリケーションにペーストするために選択される。第２のＸＭＬ要素が、その選択された領域の終了部分に適用される。選択された領域に関連付けられたヘッダ中に、情報が供給される。この情報は、利用可能なＸＭＬ名前空間の識別、および利用可能な名前空間のそれぞれに対応するクリップボード書式識別（clipboard format identification）へのポインタを含む。利用可能な名前空間それぞれについてのファイル・サイズに関する情報がヘッダ中に供給される。利用可能な名前空間のうち１つまたは複数の名前空間がクリップボードに供給され、コピー・アプリケーションからデータをペーストするために、消費側アプリケーションがその１つまたは複数の名前空間を選択することを可能にする。
【００１４】
本発明を特徴付けるこれらおよびその他の特徴および利点は、以下の詳細な説明を読み、関連する図面を参照することにより明らかになろう。上述の全般的な説明および以下の詳細な説明は例にすぎず、また説明のためのものにすぎず、特許請求の範囲に記載しているように、本発明を限定するものではない。
【発明を実施するための最良の形態】
【００１５】
いくつかの図を通して、同じ番号は同様の部分または構成要素を指している添付の図面、を参照しながら、以下に、本発明の実施形態の説明を行う。本発明は、コンピュータによって生成した文書中にデータをペーストするためのコンピュータ・ソフトウェア・アプリケーションに利用可能なペースト機能を拡張するための、方法およびシステムを対象としている。ユーザは、ワープロ・アプリケーションなどの第２のアプリケーションにペーストするために、表計算アプリケーションなどの第１のアプリケーションからデータを選択する。ペースト・プロセスは、従来のカット／コピーおよびペースト操作の形態であってもよく、あるいは、選択したデータを、第１のアプリケーション文書から第２のアプリケーション文書にドラッグ・アンド・ドロップする形態であってもよい。本発明の一実施形態によれば、第１または供給側アプリケーションは、選択されたデータを拡張マークアップ言語（ＸＭＬ）表現でクリップボードなどの記憶域に書き込む。選択されたデータは、その選択されたデータ、およびその選択されたデータに関連付けられた１つまたは複数のデータ名前空間に関連付けられた情報とを含む書式で、記憶域に書き込まれる。選択されたデータに関連付けられた利用可能な名前空間は、その選択されたデータに関連付けることができるデータ書式設定のタイプを識別することができる。例えば、識別される利用可能な名前空間には、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）、レジューム文書（resume document）、またはワープロＸＭＬ（word processor XML）が含まれ得る。ＨＴＭＬ名前空間は、データがＨＴＭＬとして構造化されている可能性があることを識別することができる。レジューム文書名前空間は、データがレジュームＸＭＬスキーマ・ファイルに従って構造化されている可能性があることを識別することができる。ワープロＸＭＬ名前空間は、データがワープロ・バージョンのＸＭＬに従って書式設定されている可能性があることを識別することができる。もちろん、これらの名前空間は、選択されたデータに関連付けることができる多くのタイプの名前空間の例にすぎない。
【００１６】
第２のアプリケーションのペースト機能を選択することによって、または選択したデータを第２のアプリケーション文書上にドロップすることによって、選択したデータを第２のアプリケーション文書にペーストすると、第２または消費側アプリケーションは、選択したデータと共に供給された情報から、ＸＭＬ書式のデータがペーストされていることを検出する。選択したデータと共に供給された情報に基づいて、消費側アプリケーションは、ペーストすべきデータに関連付けられている利用可能な名前空間の全てを検出する。例えば、上述の例の場合、消費側アプリケーションは、選択されたデータがＨＴＭＬ、レジューム文書、およびワープロＸＭＬのための名前空間に関連付けられていることを検出することができる。これに応じて、消費側アプリケーションは、利用可能な名前空間リストを調べて、消費側アプリケーションが選択したデータをペーストする際の援助となるリソースを探す。例えば、供給側アプリケーションが表計算アプリケーションの場合、消費側アプリケーションは、利用可能な名前空間リストを調べて、スプレッドシートＸＭＬ書式のデータを消費側アプリケーションが消費および使用できる書式に変換するための拡張スタイルシート言語変換（ＸＳＬＴ）ファイルを探すことができる。消費側アプリケーションがワープロの場合、消費側アプリケーションは、スプレッドシート・データをそのワープロ・アプリケーションが消費できるデータに変換するための、ＸＳＬＴ変換ファイルを調べることができる。例えば、データが、表計算アプリケーションで２行３列の書式で構造化されている場合、消費側アプリケーションが使用しているＸＳＬＴ変換ファイルが、そのワープロ・アプリケーションが消費するためのデータを、２行３列の書式設定のまま維持されるように変換することができる。本発明のこの機能がなければ、そのデータは、消費側アプリケーションのデフォルトのペースト機能によってペーストされ、したがって、供給側アプリケーションによる書式設定なしにペーストされ得る。その結果、この例の場合でいえば、２行３列に書式設定された状態ではなく、ワープロのワークスペース上を左から右に提示された生データとして、データがワープロ・アプリケーションにペーストされる可能性がある。
【００１７】
消費側アプリケーションは、複数の利用可能な名前空間が識別された場合には、所望のペースト機能を提供してくれる可能性が最も高い利用可能な名前空間を選択することができる。あるいは、消費側アプリケーションのユーザにユーザ・インターフェースが提供されて、ユーザが、利用可能な名前空間リストについての、そのアプリケーションが知っている利用可能な変換ファイルの中から選択できる場合もある。消費側アプリケーションは、利用可能な名前空間リスト中にリソースを何も見つけられない場合には、名前空間ライブラリに行って、消費側アプリケーション文書にデータをペーストするのに先立って選択されたデータを変換する際の支援となる、利用可能なリソースを探すことができる。名前空間ライブラリで複数のリソースが探し出された場合には、ユーザが利用可能なリソースの中から選択できるように、ユーザ・インターフェースが提供されることができる。利用可能な名前空間リストにも名前空間ライブラリにも利用可能なリソースが見つからなかった場合には、上述のように、消費側アプリケーションはデフォルト機能に従ってデータをペーストする。
【００１８】
動作環境
図１および以下の説明は、本発明を実施することができる適切なコンピューティング環境を、簡単かつ全般的に説明することを意図している。本発明を、パーソナル・コンピュータに関連してオペレーティング・システム上で実行しているアプリケーション・プログラムという一般的な状況で説明するが、当業者は、本発明をその他のプログラム・モジュールとの組合せで実施できることを認識されるであろう。一般に、プログラム・モジュールには、特定のタスクを実行し、または特定の抽象データ型を実装する、ルーチン、プログラム、コンポーネント、データ構造などが含まれる。さらに、当業者は、ハンドヘルド・デバイス、マルチ・プロセッサシステム、マイクロ・プロセッサ・ベースまたはプログラム可能な家庭用電子機器、携帯電話、ミニ・コンピュータ、メイン・フレーム・コンピュータなどを含めて、その他のコンピュータシステム構成で実施できることを理解されよう。本発明はまた、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境においても実施することができる。分散コンピューティング環境においては、プログラム・モジュールをローカルおよびリモートの記憶装置の両方に配置することができる。
【００１９】
図１を参照すると、本発明を実施するための例示的システムは、処理装置２１、システム・メモリ２２、および、システム・メモリを処理装置２１に結合するシステム・バス２３を含む、従来のパーソナル・コンピュータ２０を含む。システム・メモリ２２は、読取り専用メモリ（ＲＯＭ）２４およびランダム・アクセス・メモリ（ＲＡＭ）２５を含む。起動時などにパーソナル・コンピュータ２０内の要素間における情報の転送を支援する、基本入出力システム２６（ＢＩＯＳ）がＲＯＭ２４に記憶されている。パーソナル・コンピュータ２０はさらに、ハードディスク・ドライブ２７、例えば、リムーバブル・ディスク２９からの読取りまたはそこへの書込みを行うための磁気ディスク・ドライブ２８、および、例えば、ＣＤ−ＲＯＭディスク３１の読取り、あるいはその他の光媒体からの読取りまたはそこへの書込みを行うための光ディスク・ドライブ３０を含む。ハードディスク・ドライブ２７、磁気ディスク・ドライブ２８、および光ディスク・ドライブ３０は、それぞれ、ハードディスク・ドライブ・インターフェース３２、磁気ディスク・ドライブ・インターフェース３３、および光ディスク・ドライブ・インターフェース３４によってシステム・バス２３に接続されている。ドライブおよびそれらの関連するコンピュータ可読媒体は、パーソナル・コンピュータ２０に不揮発性記憶を提供する。上記のコンピュータ可読媒体の説明は、ハードディスク、リムーバブル磁気ディスクおよびＣＤ−ＲＯＭディスクを対象としているが、当業者は、磁気カセット、フラッシュ・メモリ・カード、ディジタル・ビデオ・ディスク、ベルヌーイ・カートリッジなど、コンピュータが読取り可能なその他のタイプの媒体もこの例示的動作環境では使用できることを理解されたい。
【００２０】
オペレーティング・システム３５、１つまたは複数のアプリケーション・プログラム２００、２２０、利用可能な名前空間リスト２２５などのプログラム・データ、およびその他のプログラム・モジュール（図示せず）を含めて、いくつかのプログラム・モジュールをドライブおよびＲＡＭ２５に記憶することができる。
【００２１】
ユーザは、キーボード４０、およびマウス４２などのポインティング・デバイスを介して、パーソナル・コンピュータ２０にコマンドおよび情報を入力することができる。その他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライト・ディッシュ、スキャナなどが含まれる。これらおよびその他の入力デバイスは、システム・バスに結合されたシリアル・ポート・インターフェース４６を介して、処理装置２１に接続されていることが多い。しかし、ゲーム・ポートまたはユニバーサル・シリアル・バス（ＵＳＢ）など、その他のインターフェースによって接続されている場合もある。モニタ４７またはその他のタイプのディスプレイ・デバイスも、ビデオ・アダプタ４８などのインターフェースを介してシステム・バス２３に接続されている。モニタに加えて、パーソナル・コンピュータは、一般に、スピーカやプリンタなどのその他の周辺出力デバイス（図示せず）を含む。
【００２２】
パーソナル・コンピュータ２０は、リモート・コンピュータ・サーバ４９などの１つまたは複数のリモート・コンピュータへの論理接続を使って、ネットワーク化された環境において動作することができる。リモート・コンピュータ・サーバ４９は、サーバ、ルータ、ピア・デバイス、またはその他の一般的なネットワークノードであってよく、一般に、パーソナル・コンピュータ２０に関して説明した要素の多くまたは全てを含んでいる。ただし、図１には記憶装置５０しか示していない。サーバ４９および記憶装置５０は、アプリケーション２２０などのアプリケーション・プログラム、および名前空間ライブラリ２３０などのデータ記憶を保持することができる。図１に示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）５１および広域ネットワーク（ＷＡＮ）５２を含む。このようなネットワーク化環境は、オフィス、企業規模コンピュータ・ネットワーク、イントラネットおよびインターネットではごくありふれたものである。
【００２３】
ＬＡＮネットワーク化環境において使用する場合、パーソナル・コンピュータ２０は、ネットワーク・インターフェース５３を介してＬＡＮ５１に接続される。ＷＡＮネットワーク化環境において使用される場合、パーソナル・コンピュータ２０は、一般に、モデム５４、またはインターネットなどのＷＡＮ５２を介して通信を確立するためのその他の手段を含む。内蔵または外付けのモデム５４は、シリアル・ポート・インターフェース４６を介してシステム・バス２３に接続されている。ネットワーク化環境においては、パーソナル・コンピュータ２０に関して説明したプログラム・モジュール、またはその一部を、リモートの記憶装置に記憶することができる。図示のネットワーク接続は例示であり、コンピュータ間の通信リンクを確立するその他の手段も使用できることを理解されよう。
【００２４】
動作
図２は、データが供給側アプリケーションを使ってカットまたはコピーされ、消費側アプリケーションを使ってペーストされる、供給側アプリケーションと消費側アプリケーションの間の相互作用を説明する、簡略化した構成図である。図２に示すように、供給側アプリケーション２００を、そこからカットまたはコピーされたデータが消費側アプリケーション２２０の使用に備えて保存されるものとして示してある。供給側アプリケーションは、ワープロ・アプリケーション、表計算アプリケーション、スライド・プレゼンテーション・アプリケーションなどを含めて、後でペーストできるようにそこからデータをカットまたはコピーすることができる、任意のソフトウェア・アプリケーションであってよい。ユーザが供給側アプリケーション２００を使ってデータを選択すると、選択されたデータを供給文書からカットすることを含み、または選択されたデータを供給文書からコピーすることを含む、カットまたはコピー操作２０５が行われる選択されたデータは、カットまたはコピーされると、図２に示すクリップボード２１０などの記憶域２１０に転送される。記憶域２１０は、後で、ユーザの選択に応じて、元の供給側アプリケーション２００または消費側アプリケーション２２０がペーストを行えるように、そのカットまたはコピーされたデータを保持する。
【００２５】
本発明の一実施形態によれば、クリップボード２１０は、ウィンドウ・オペレーティング・システムが維持しているメモリ・リソースを表す。クリップボードは、コピーまたはカットされたデータのコピーを記憶し、次のペースト操作によって、そのデータがクリップボード２１０から消費側プログラムに渡される。当業者にはよく知られているように、クリップボード２１０は、第２または消費側アプリケーション２２０が供給側アプリケーション２００によって生成されたデータを読むことができる場合に、上述のように、あるアプリケーションから別のアプリケーションにデータを転送されることを可能にする。消費側アプリケーションが供給側アプリケーション２００によってカットまたはコピーされたデータを確実に読み取り、理解し、利用することができるように、主に、供給側アプリケーションによってカットまたはコピーされたデータは、多くの様々な異なる消費側アプリケーション２２０によって消費されることができる、もっともあり得そうな書式のデータとするために、ハイパーテキスト・マークアップ言語書式などの一般的な書式でクリップボード２１０に保存される。その他のタイプの書式設定にはリッチ・テキスト書式が含まれる。あるいは、データが書式なしのデータとして保存される場合もある。これらの書式は全て、第１のアプリケーションがコピーしたときにクリップボード上で知らされる。その後、利用可能な書式のうちどれを要求したいかは、ペースト・アプリケーションの義務である。
【００２６】
消費側アプリケーション２２０が、供給側アプリケーション２００からカットまたはコピーしたデータのペーストを開始すると、ペースト操作２１５が選択されて、カットまたはコピーされたデータを、消費側アプリケーションが操作している文書中の所望の場所へペーストする。カット／コピー操作２０５およびペースト操作２１５を、選択されたデータが供給側アプリケーション文書からドラッグされて消費側アプリケーション文書中にドロップされる、ドラッグ・アンド・ドロップ操作の形態に結合できることを理解されたい。上述のように、カットまたはコピーされたデータを、供給側アプリケーションがいくつかの一般的な書式タイプに従って書式設定している場合、消費側アプリケーションは、所望通りにカットまたはコピーされたデータをペーストすることができる場合もあるが、しかし、特殊な書式設定を含めて、供給側アプリケーションがそのデータに与えた特徴（feature）の多くは失われることが多い。例えば、ユーザが、ワープロの供給側アプリケーション２００において表形式で入力されているデータをカットまたはコピーし、次に、そのデータを表計算の消費側アプリケーション２２０中にペーストした場合、元の表記式で書式設定されていたデータは、単にスプレッドシート内の１つのセル中に挿入される可能性があり、この場合、表計算消費側アプリケーション２２０のユーザが望むようには表計算アプリケーションがそのデータに基づいて動作できなくなる。
【００２７】
拡張マークアップ言語（ＸＭＬ）などのマークアップ言語の出現により、供給側アプリケーション２００によって作成された文書は、その文書に含まれるデータを管理し、提示し、操作するために役立つ構造をその文書に与える目的で、マークアップ言語構造を使って注釈を付けるようになってきている。当業者にはよく知られているように、異なるソフトウェア・アプリケーションは、ＸＭＬなどのマークアップ言語を読み、理解し、利用するための異なる「ネイティブ」プログラミングを含む。すなわち、供給側アプリケーション２００を、消費側アプリケーション２２０に比較して、それとは異なる、またはより多くのＸＭＬ構造および機能を供給するようにプログラムすることができる。したがって、異なる消費側アプリケーション２２０による消費のために、供給側アプリケーション２００によって作成されたＸＭＬ書式の文書からデータがカットまたはコピーされた場合、そのカットまたはコピーされたデータについてのＸＭＬ書式設定に関連付けられた構造および機能の多くは、消費側アプリケーション２２０によって作成され操作されている文書中に消費側アプリケーション２２０がそのデータをペーストする際に失われる可能性がある。
【００２８】
以下は、ユーザがワープロの供給側アプリケーション２００で書いた記事に適用可能なサンプルＸＭＬ構造である。
【００２９】
サンプルＸＭＬ構造
【００３０】
【表１】
2004265402.tif 000003
【００３１】
このサンプルＸＭＬ構造に示すように、「ａｒｔｉｃｌｅ」文書に注釈を付けているいくつかのＸＭＬ要素を示してある。例えば、この文書を「ａｒｔｉｃｌｅ」として定義するために、文書の開始部分と終了部分には＜ａｒｔｉｃｌｅ＞タグが含まれている。また、「ａｒｔｉｃｌｅ」構造の内側には、＜ｔｉｔｌｅ＞要素および＜ｂｏｄｙ＞要素など、様々なその他の要素が含まれている。＜ｂｏｄｙ＞要素の内側には、＜ｂｏｄｙ＞要素の２つの子要素、＜ｓｕｍｍａｒｙ＞および＜ｍａｉｎ＞がある。文書のＸＭＬ注釈によって、ユーザは、文書の一部を、特定の型のデータおよびデータ構造として定義することができる。例えば、ユーザは、＜ｔｉｔｌｅ＞要素の内側にある文書の一部を、「ｔｉｔｌｅ」型のデータを含むように、また、タイトル用の所定の許容可能構造を含むように定義することができる。
【００３２】
上記の「ａｒｔｉｃｌｅ」文書などの所与の文書に含むことができるデータの型および構造を管理する、１組の文法およびデータ型規則を文書に与えるために、ＸＭＬスキーマが、ユーザがそれを使って所与の文書に注釈を付けることができるＸＭＬ要素およびタグのそれぞれを管理する規則を提供するために、その文書に添付されたり、または関連付けられる。例えば、「ａｒｔｉｃｌｅ」文書は、＜ａｒｔｉｃｌｅ＞要素、＜ｔｉｔｌｅ＞要素、＜ｂｏｄｙ＞要素などの許容可能な１組のＸＭＬ要素を提供するための、「ａｒｔｉｃｌｅ−ｓｃｈｅｍａ．ｘｓｄ」など、添付された、または関連付けられたスキーマを備えることができる。このスキーマは、これらの要素が文書に適用される順序を管理する規則、および文書に適用される個々の要素に関連付けられた特定の規則を含む。例えば、「ａｒｔｉｃｌｅ」文書に添付された、または関連付けられたスキーマは、所与の要素、例えば、＜ｄａｔｅ＞要素（上記の説明では触れていない）に関連付けられたデータが、日付の要素、その後に月の要素、その後に年の要素を含まなければならないことを規定することができる。さらに、このスキーマは、＜ｄａｔｅ＞要素が＜ｔｉｔｌｅ＞要素の直前になければならないことを要求することができる。
【００３３】
当業者は理解されるように、ＸＭＬスキーマの開発者は、ＸＭＬ要素の名前、および、それらの要素に許容される関連データ型およびデータ構造を決定する。したがって、所与のスキーマに従ってＸＭＬ構造で注釈を付けた文書のユーザは、全て、その文書の全体としてのタイプおよび構造には関係なく、ＸＭＬ構造内に含まれるデータを利用することができる。例えば、上述の「ａｒｔｉｃｌｅ」文書をその文書の出版社に送信する場合、出版社が、その文書を解析し、その文書内に自社が使用するための特定の型のデータを探すソフトウェア・アプリケーションを開発することができる。出版社が、例えば、将来その記事全体を発行するために、その記事のタイトルのみを宣伝として発行したいという場合がある。ＸＭＬが識別されるこの方法は、名前空間を介して行われる。名前空間は、どのＸＭＬ消費者でも、自分がどのタイプのＸＭＬを消費しているのを知ることができるように、識別（ＩＤ）を提供する。消費側アプリケーションは、名前空間を観察することによって、ＸＭＬファイルを作成するのに何のスキーマが使用されたかを知ることになる。文書中に指定された名前空間を使って、出版社は、ＸＭＬ要素＜ｔｉｔｌｅ＞に関連付けられたデータが、その文書を管理するスキーマに従って作成されたことを知る。したがって、出版社は、そのデータを、将来、その記事全体を発行するための宣伝として使用するために、＜ｔｉｔｌｅ＞要素を探し出して、それに関連付けられたデータを抽出して、出版社独自の文書中に挿入する（何らかの特別な方法で書式設定することを含む）ためのソフトウェア・アプリケーションを、またはＸＳＬＴ変換ファイルを開発することができる。
【００３４】
この例を続けると、何社かの異なる出版社が、「ａｒｔｉｃｌｅ」文書に関連する規則を指示するための同じ名前空間の使用に同意することによって、各出版社は、文書の著者から「ａｒｔｉｃｌｅ」文書を受け取り、その記事に含まれているデータを、そのデータを構造化しているＸＭＬ要素に従って使うことができる。すなわち、第１の出版社が、＜ｓｕｍｍａｒｙ＞要素内に含まれるデータのみに関心を持ち、一方、第２の出版社が＜ｔｉｔｌｅ＞要素内に含まれるデータのみを抽出することに関心がある場合がある。各出版社は、ＸＭＬ構造に従って所望のデータを探すための独自のソフトウェア・アプリケーションまたはＸＳＬＴ変換ファイルを使うことによって、文書のその他の側面または要素には関係なく、所望するデータを抽出することができる。これは、文書の各ユーザが、文書に添付された、または関連付けられた名前空間中に規定されている、データ型およびデータ構造規則に従っていることによって可能になっている。
【００３５】
消費側アプリケーションが、利用可能な名前空間の１つで使用するためのＸＳＬＴ変換ファイルを見つけたならば、選択されたデータはそのＸＳＬＴ変換ファイルによって変換され、その結果は、はペースト機能の要素として消費側アプリケーションによって受け取られる。消費側アプリケーションが変換ファイルを知っていて、利用可能な名前空間を獲得し、そのデータ自体に基づく変換を実行する場合もある。例えば、上述のように、供給側アプリケーションが表計算アプリケーションで、選択されたデータが２行３列に書式設定されている場合、例えば、ワープロ・アプリケーションによって消費されるスプレッドシート・データを変換するためのＸＳＬＴ変換ファイルが、スプレッドシートで使用されている書式設定または表形式なしの生データではなく、それぞれ３つのアイテムを備えた２つのリストとして、ワープロ・アプリケーションがペーストできるように、そのデータを変換することが可能になる。第１または供給側アプリケーション文書は、カスタムＸＭＬスキーマに従ってマーク付けできることを理解されたい。例えば、そのデータは、「株価スキーマ」に従ってデータにマーク付けすることができる。この場合、例えば、選択したデータを、表計算アプリケーションからワープロ・アプリケーションにペーストするためにコピーした場合、その選択したデータがワープロ・アプリケーションへのペーストのためにメモリに書き込まれると、「株価スキーマ」に関連付けられた名前空間、およびスプレッドシートの視覚的なレイアウトに関連付けられた名前空間がその選択されたデータに関連付けられる。
【００３６】
「株価スキーマ」を認識すると、消費側アプリケーションは、利用可能なリソース・リストを参照して、選択されたデータの各セルが企業の銘柄記号であり、各企業について、その企業に関連する記載があることを検出する。したがって、消費側アプリケーションは、利用可能な名前空間リストまたは名前空間ライブラリ中にＸＳＬＴ変換ファイルなどのリソースを探し出して、マークアップ・データをどのようにペーストするかを消費側アプリケーションに指示する。ユーザに提供されている消費側アプリケーションのユーザ・インターフェースは、「企業一覧（company synopsis）をペースト」のオプションを提供することができる。ユーザがこの「企業一覧をペースト」を選択すると、そのペースト機能に関連付けられたＸＳＬＴ変換ファイルは、消費側アプリケーションが、供給側アプリケーションから選択された企業の銘柄記号を、ユーザが選択したペースト機能によって、選択されたデータに関連付けられた利用可能な名前空間からインポートできる企業一覧と共に、ペーストすることを可能にする。この解決策は、スプレッドシート名前空間を選択して、そのスプレッドシートにおいて表現されていたのと同じ状態でそのデータをペーストするもう一方の解決策よりも優れている。
【００３７】
拡張マークアップ言語に精通している人であれば理解するように、ＸＭＬ名前空間は、ＸＭＬ文書中で使用される要素および属性名を、それの要素および属性名をユニフォーム・リソース識別子（ＵＲＩ）の参照によって識別される名前空間に関連付けることによって、修飾するための方法を提供する。ＸＭＬ名前空間は、名前の集合であって、ＵＲＩ参照により識別され、ＸＭＬ文書中で要素型および属性名として使用される。１つのＸＭＬ文書は、複数のソフトウェア・モジュールについて定義され、それら複数のソフトウェア・モジュールによって使用される要素および属性を含むことができる。例えば、本発明の一実施形態によれば、ワープロ文書などの１つのＸＭＬ文書は、異なるソフトウェア・モジュールによって定義され、それら異なるソフトウェア・モジュールによって使用される要素および属性を含むことができる。例えば、ワープロ文書は、ＨＴＭＬ処理モジュール、ワープロ・アプリケーションＸＭＬ処理モジュールについて定義され、それによって使用される要素および属性を備えることができ、あるいは、その文書は、その文書に関連付けられた１つまたは複数のスキーマ・ファイルについて定義され、それらファイルによって使用される要素および属性、または、それらのファイルに関連付けられる要素および属性を含むことができる。例えば、要素および属性をワープロ文書に関連付けることによって、その文書を、レジューム・ドキュメント、リーガル・ドキュメントなどに関連付けられているスキーマ・ファイルに関連付けることができる。したがって、例示のワープロ文書などの個々の文書は、その文書からのデータを消費または使用できる異なるソフトウェア・モジュールのそれぞれに関連付けられた、要素型および属性名を識別する名前空間を備えることができる。上記に挙げた例を続けると、ワープロ文書は、ＨＴＭＬ処理モジュールに関連付けられた名前空間、ワープロＸＭＬ処理モジュールに関連付けられた名前空間、レジューム・ドキュメントまたはリーガル・ドキュメント・スキーマ・ファイルに関連付けられた名前空間を含むことができる。
【００３８】
本発明の一実施形態によれば、第２のアプリケーション文書にペーストするためにデータが選択されると、第２または消費側アプリケーションが、選択されたデータに関連付けられた要素型および／または属性に基づいて、第２のアプリケーションのプログラミングに従って動作することができるように、その選択されたデータに関連付けられた名前空間について第２または消費側アプリケーションに知らせるために、選択されたデータに関連付けられた名前空間を識別する情報が、選択されたデータと共に供給される。例えば、第１のアプリケーションがワープロ・アプリケーションであり、第２のアプリケーションが表計算アプリケーションである場合、表計算アプリケーションは、選択されたデータに関連付けられた名前空間によって識別された情報を利用して、その与えられた名前空間の１つに関連付けられた要素型および属性に関連付けられたＸＳＬＴ変換ファイルを利用することにより、選択されたデータが第２のアプリケーション文書に最適にペーストされることになると決定する。例えば、所与の名前空間の１つが、選択されたデータに含まれている操作データ（manipulating data）に関連付けられている要素型および属性を識別するが、その他の名前空間が選択されたデータの表示に関連付けられている場合、第２のアプリケーション、この例では表計算アプリケーションは、選択されたデータの表示に関連付けられている名前空間ではなく、選択されたデータの操作（manipulating）に関連付けられている名前空間を選択することができる。
【００３９】
消費側アプリケーションは、第１のアプリケーション文書から選択したＸＭＬデータに関連付けられた名前空間を検出した後、本発明の一実施形態によれば、利用可能な名前空間リストまたは名前空間ライブラリを調べて、第２または消費側アプリケーションが最適に消費できるよう選択されたデータを変換するために消費側アプリケーションが使用できるリソースを見つけることができる。例えば、第２のアプリケーションが、ワープロ・アプリケーションから選択したデータをペーストしようとしている表計算アプリケーションである場合、この第２のアプリケーションは、利用可能な名前空間リストまたは名前空間ライブラリを調べて、第２のアプリケーションが使用できる、ＸＳＬＴ変換ファイルを取得し、表計算アプリケーションが最適に消費できるようそのワープロＸＭＬデータをスプレッドシートＸＭＬデータに変換することができる。当業者であれば理解されるように、拡張スタイルシート言語（ＸＳＬ）は、データの書式設定を指定するためのＸＭＬボキャブラリを含む。ＸＳＬは、文書を１つのＸＭＬ文書から別のＸＭＬ文書に、またはＨＴＭＬ文書などの他のタイプの文書にどのように変換するかを記述するためのＸＳＬ情報ファイルを使って、ＸＭＬ文書のスタイルを指定する。
【００４０】
さらに図２を参照すると、名前空間を、供給側アプリケーションが作成した文書に添付することができる。あるいは、名前空間は、その文書の近くのアクセス可能な名前空間ライブラリ２３０などの別個の場所に保持することができる。文書は、名前空間を探し出し、かつ／または識別するためのファイル・パス・ポインタまたは一意の名前空間識別子（例えば、ユニフォーム・リソース識別子またはユニフォーム・リソース名）を含むことができる。名前空間ライブラリ２３０の詳細については、例えば、本明細書に完全に記載されているものとして参照により組み込まれている、２００２年、６月２７日に提出された、「System and Method for Providing Namespace Related Information」という名称の米国特許出願第１０／１８４，１９０を参照のこと。供給側アプリケーション２００または消費側アプリケーション２２０が使用するための名前空間を、名前空間ライブラリ２３０からダウンロードするための方法の詳細については、例えば、本明細書に完全に記載されているものとして参照により組み込まれている、２００２年、６月５日に提出された、「Mechanism for Downloading Software Components from a Remote Source for Use by a Local Software Application」という名称の米国特許出願第１０／１６４，２６０
を参照のこと。
【００４１】
ユーザが、作成した文書で使用するために名前空間およびその関連情報をダウンロードすると、またはその他の方法で取得すると、その名前空間は、すでに導入されているいずれかのその他の名前空間はもちろん、その名前空間およびそのリソース、から成る利用可能な名前空間リスト中にロードされることになる。このリスト２２５は、ユーザのコンピュータ２０上に維持されているか、あるいは、分散コンピューティング・ネットワークを介して操作されるサーバ４９など、ユーザがアクセス可能なリモートの記憶域により維持される。利用可能な名前空間リストは、供給側アプリケーション文書中に含まれているデータに関連付けられた名前空間を含むことができ、また名前空間は、消費側アプリケーションによる消費用に選択されたデータを変換する消費側アプリケーションを支援するＸＳＬＴ変換などの、リソースを探し出して取得することを可能にする情報を含むことができる。
【００４２】
ユーザが、例えば、ワープロの供給側アプリケーション２００を使って表形式で作成したデータをカットまたはコピーする場合を考える。データをカットまたはコピーするのに先立って、そのデータは、供給側アプリケーション２００のネイティブＸＭＬプログラミングに従ってＸＭＬ注釈を有して構造化される。消費側アプリケーション２２０が、ペースト操作２１５によって、カットまたはコピーしたデータをクリップボード２１０からペーストさせる場合、消費側アプリケーション２２０は、利用可能な名前空間リスト２２５を呼び出して、消費側アプリケーション２２０が、ワープロの供給側アプリケーション２００からカットまたはコピーしたデータを、供給側アプリケーションアプリケーション２００を使ってそのデータに適用されていたのと同じ書式設定（例えば、表形式）でペーストすることができるように、消費側アプリケーション２２０のネイティブＸＭＬプログラミングを拡張するために、名前空間が、または名前空間の１つに対応するＸＳＬＴ変換ファイルが利用可能かどうかを知ることができる。例えば、「wordprocessor-to-spreadsheet-schema.xsl」などのリソース・ファイル（この場合、ＸＳＬＴ変換）を、利用可能なワープロ名前空間から理解できるスプレッドシート名前空間に変換するために消費側アプリケーションによって使用される利用可能なリスト２２５中に、見つけることができる。したがって、消費側アプリケーションがさらなるＸＳＬＴ変換を取得すると、消費側アプリケーション（例えば、表計算アプリケーション）は、利用可能な名前空間リストから取得した名前空間変換に従って、供給側アプリケーションから受け取ったデータをそこで使用することができるように、消費側アプリケーションのネイティブＸＭＬプログラミングが拡張される。すなわち、利用可能な名前空間リストからＸＭＬ名前空間を取得することによって、消費側アプリケーションは、供給側アプリケーションから受け取ったデータを、そのデータが供給側アプリケーションによって作成され、扱われていたのと同じように扱うために必要なＸＭＬ文法およびデータ規則を受け取る。
【００４３】
本発明の実施形態によれば、所与のＸＭＬ名前空間に従って、供給側アプリケーションを使ってデータが構造化される場合、ユーザは、消費側アプリケーションを介して、選択したサード・パーティのＸＳＬＴ変換ファイルに従って、カットまたはコピーしたデータを消費側アプリケーション中にペーストすることができる。例えば、消費側アプリケーション２２０のユーザが上述の「ａｒｔｉｃｌｅ」文書からカットしたデータを受け取ると、消費側アプリケーション２２０のユーザは、利用可能な名前空間リストのリソースを呼び出して、様々な出版社に関連付けられた変換ファイルが特定の出版社の要件に従って消費側アプリケーションで文書を構造化するのに利用可能かどうかを、決定することができる。消費側アプリケーションのユーザは、次いで、消費側アプリケーション２２０が所望の名前空間に従ってデータを利用することができるようにする変換ファイルを探すために、利用可能な名前空間リスト２２５のリソースを呼び出す。利用可能な名前空間リスト２２５中に所望の名前空間が存在しない場合には、ユーザは、ローカルまたはリモートの名前空間ライブラリ２３０を呼び出して、消費側アプリケーションが供給側アプリケーション２００から取得したデータを使用するために利用するよう供給された名前空間を求めてさらなるリソースを探し出す。
【００４４】
図３は、本発明の例示的実施形態による拡張ペースト機能をユーザに提供するためのーザ・インターフェースを説明する簡略化した構成図である。消費側アプリケーション２２０のユーザが消費側アプリケーション２２０のペースト操作２１５を選択すると、様々なペースト・オプションがユーザに提供される。例えば、ユーザが、ＨＴＭＬ書式などのデフォルト書式に従って、供給側アプリケーションからカットまたはコピーされたデータを、消費側アプリケーション上で使用している文書中にペーストする、単純なペースト操作を選択する場合がある。ユーザが本発明の実施形態による拡張ペースト機能を望む場合には、図３に示す、「形式を選択して貼り付け（paste special）」機能など、代わりのペースト機能を選択することができる。
【００４５】
「形式を選択して貼り付け」ユーザ・インターフェース３１０は、ユーザが利用可能なペースト・オプションのリストを明示する。例えば、ユーザは、データがリッチ・テキスト書式（ＲＴＦ）でペーストされるように選択することができ、あるいは文書がＨＴＭＬ書式３２０に従ってペーストされるように選択することができる。ユーザ・インターフェース３１０に示すように、ユーザはまた、データが、本発明の拡張機能なしにＸＭＬ書式３２５に従ってペーストされるように選択することもできる。すなわち、消費側アプリケーション２２０は、カットまたはコピーされたデータを、消費側アプリケーション２２０に本来備わっているＸＭＬプログラミングに従って、消費側アプリケーション２２０によってペーストする。ユーザは、本明細書に記載の何らかの拡張機能に従ってデータをペーストすることを望む場合は、ユーザ・インターフェース３１０の「その他」ボタン３３０を選択して、利用可能なスキーマ・ユーザ・インターフェース３５０を開始することができる。ユーザは、利用可能なスキーマ・ユーザ・インターフェース３５０を使って、利用可能なリスト３５５を選択することにより、図２を参照しながら上記に説明したように、どの名前空間およびどの関連ＸＳＬＴファイルが利用可能かを利用可能な名前空間リスト２２５上で調べることができる。したがって、所与の変換ファイルを選択することにより、ユーザが使用している消費側アプリケーションに、供給側アプリケーションからカットまたはコピーされたデータ上において、それらのデータが供給側アプリケーションによって使用され、書式設定されているかのようにが動作するための、選択されたＸＳＬＴファイルの拡張機能が提供される。
【００４６】
利用可能な名前空間リストに名前空間またはその他の所望のリソースがない場合には、アプリケーションは、利用可能なデータの大きなリストのビュー（表示）を提供するために、名前空間ライブラリ機能（namespace library feature）３７０を開始することもできる。この利用可能データのより大きなリストのビューは、上記に図２を参照しながら説明したように、ローカルまたはリモートの名前空間ライブラリ２３０から取得することができる。ユーザがユーザ・インターフェース３７０を介して名前空間ライブラリから利用可能なビューを選択した場合、選択した名前空間によって利用可能になったペースト機能を含む、更新された利用可能ペースト機能リストを備えた、「形式を選択して貼り付け」ユーザ・インターフェース３１０がユーザに提示される。あるケースにおけるビューは、名前空間とそれらの関連ＸＳＬＴ変換の任意の組合せであってよいことを理解されたい。ＸＳＬＴ変換は、利用可能な名前空間を、消費側アプリケーションが本来的に理解する名前空間に変換する。異なる名前空間は、通常、異なる型のデータを表し、異なるＸＳＬＴは、それら異なる型のデータの異なるビューを提示する。図３に示すように、名前空間ライブラリ・ユーザ・インターフェース３７０から「出版社Ａ」ＸＳＬＴ３８０を選択すると、「出版社Ａ」ペースト機能３９０が移植された「形式を選択して貼り付け」ユーザ・インターフェース３１０が作成される。したがって、ユーザは、次いで、ダウンロードした「出版社Ａ」変換３８０を適用するために「出版社Ａ」ペースト機能３９０を選択して、消費側アプリケーション２２０が、出版社Ａによって提供されたＸＳＬＴファイルに従って、供給側アプリケーション２００から受け取ったデータをペーストすることができるようにする。この変換は、消費側アプリケーションが理解する名前空間への「出版社Ａ」名前空間の変換に関連付けられたものとして識別される。当業者によって理解されるように、任意の異なるＸＳＬＴファイル、または、特定の名前空間を変換または解釈する任意のその他の方法も、供給側アプリケーション２００から受け取ったカットまたはコピーしたデータに消費側アプリケーション２２０が拡張ペースト機能を施すために利用できるようにすることができるので、図２および図３を参照しながらここに記載した特定のＸＳＬＴファイルは例示目的にすぎないことを、当業者は理解されたい。
【００４７】
図４は、供給側アプリケーションからカットまたはコピーしたデータをペーストまたは消費する、ソフトウェア・アプリケーションのコンピュータ画面表示を示す。画面ショット４００は、ユーザが文書４１０を作成している最中の例示のワープロ・アプリケーションを示す。ユーザは、本発明の実施形態に従って、表の中にスプレッドシート供給側アプリケーション２００からコピーしたデータをペーストしたところである。文書４１０中にデータをペーストするこのペースト操作の間、「Ｅｉｇｈｔ  Ｍｏｎｔｈ  Ｈｉｓｔｏｒｙ（８カ月間の履歴）」書式４２５、「Ｐｒｏｊｅｃｔｅｄ  Ｆｉｎａｎｃｉａｌ  Ｓｕｍｍａｒｙ（予測財務要約）」書式４３０、および「Ｉｎｄｕｓｔｒｙ  Ｂｒｅａｋｄｏｗｎ（産業別内訳）」書式４３５を含む、３つの異なるデータ書式をユーザに示すダイアログ・ボックス４２０がユーザに提示される。ダイアログ・ボックス４２０は、図３に示すダイアログ・ボックス３１０の代わりのダイアログ・ボックスであることを理解されたい。図４に示す例示のデータによれば、ユーザは、供給側アプリケーション（例えば、スプレッドシート・アプリケーション）から受け取ったデータを、文書４１０で、「Ｅｉｇｈｔ  Ｍｏｎｔｈ  Ｈｉｓｔｏｒｙ」のＸＭＬ構造を指示するＸＳＬＴファイルに従って書式設定する、利用可能な名前空間リスト２２５中の名前空間の１つのビューである「Ｅｉｇｈｔ  Ｍｏｎｔｈ  Ｈｉｓｔｏｒｙ」書式４２５を選択している。「ｅｉｇｈｔｍｏｎｔｈｈｉｓｔｏｒｙ−ｓｃｈｅｍａ．ｘｓｌ」などの変換リソースは、利用可能な名前空間リスト上において、または、図４に示す「表１」書式を提供するためのＸＭＬ構造を消費側アプリケーションがサポートできるようにする、名前空間ライブラリ２２５中において、入手可能であることを理解されたい。ユーザが、供給側アプリケーションから「Ｉｎｄｕｓｔｒｙ  Ｂｒｅａｋｄｏｗｎ」書式に関連する情報をカットおよびコピーすることを選択した場合には、供給側アプリケーションからカットまたはコピーしたデータが、消費側アプリケーションにおいて、供給側アプリケーションによって構造化されたときの書式に従って書式設定されるように、「Ｉｎｄｕｓｔｒｙ  Ｂｒｅａｋｄｏｗｎ」書式４３５を選択することができる。
【００４８】
本発明の一実施形態によれば、データがＸＭＬ書式でカットまたはコピーされ、その後に消費側アプリケーション２２０がペーストできるようにクリップボード２１０に保存されると、、本発明の機能に従ってカットまたはコピーされたデータをどのように処理するかを消費側アプリケーションが決定するのを支援するために、３つまたはそれ以上のクリップボード書式を利用することができる。この３つの書式には、ＣＦ＿ＸＭＬ＿ＨＥＡＤＥＲ、ＣＦ＿ＸＭＬ＿ＶＩＥＷ、およびＣＦ＿ＸＭＬ＿ＤＡＴＡが含まれる。上述のように、供給側アプリケーション２００および消費側アプリケーション２２０を含む多くのアプリケーションは、それらのアプリケーションが作成したＸＭＬマークアップ構造およびファイルをサポートする。しかし、上述のように、あるアプリケーションによるＸＭＬサポートが、別のアプリケーションによるＸＭＬサポートと互換性がないことが多く、その結果、あるアプリケーションのデータが消費側アプリケーションのファイルにコピーされるときに、書式設定およびその他のＸＭＬに関連する特徴（features）が失われてしまう。さらに、上述のように、様々なアプリケーションが使用できるようにサード・パーティから提供されてはいるが、アプリケーションのネイティブＸＭＬプログラミングがサポートしていないＸＭＬスキーマも存在する。
【００４９】
ＣＦ＿ＸＭＬ＿ＨＥＡＤＥＲ書式（「ＨＥＡＤＥＲ」）は、コピー・アプリケーションがどの名前空間を利用可能かに関する情報を含む。全てのペースト・アプリケーションがＣＦ＿ＸＭＬ＿ＨＥＡＤＥＲを調べて、消費できる１つまたは複数の名前空間があるかどうかを決定することができる。ＨＥＡＤＥＲは、ペースト・アプリケーションが消費したい名前空間または複数名前空間を決定した際に、コールバックして、所望のデータを得ることができるように、個々の名前空間をどこで見つけることができるかについても明示する。ＨＥＡＤＥＲが所望の名前空間を含んでいると明示する書式にＣＦ＿ＸＭＬ＿ＤＡＴＡ書式がある。この情報は、消費側アプリケーションにとっては役立つ。その理由は、消費側アプリケーションがどの書式を消費したいかを決定することができるからである。このことは、コピー・アプリケーションが、特定の書式が要求されるまでデータの全てを異なる書式で供給する必要がないので、パフォーマンスという点を改善する。この説明の残りの部分では、２種類の利用可能な書式があると仮定する。
【００５０】
第１のクリップボード書式は、ＣＦ＿ＸＭＬ＿ＶＩＥＷであり、これは、１つまたは複数の名前空間を備え、データ・マークアップ（「ｓｐｒｅａｄｓｈｅｅｔＭＬまたはｄｏｃｕｍｅｎｔＭＬ」など）というよりは、通常では、より多くの書式設定マークアップのである。第２のクリップボード書式は、書式設定またはビューを定義しないが、代わりに表面下でデータを定義する、１つまたは複数の名前空間を含む、ＣＦ＿ＸＭＬ＿ＤＡＴＡである。これら２種類の書式の動作は、表計算プログラムを含む例を使用することによって容易に見ることができる。その表計算プログラムがＸＭＬ構造をサポートする場合には、財務データを定義する名前空間をそのスプレッドシートに適用することにより、様々なセル、およびそれらがどのように財務データに関連しているかを識別することができると推測可能である。表計算アプリケーションがコピー操作を実行する場合、そのデータを提示するのに２通りの方法がある。第１の方法は、スプレッドシート中に現れている通りにそれを提示し、この場合、スプレッドシート・マークアップ言語が使用される。スプレッドシート・マークアップ言語は、書式設定、レイアウトなど、スプレッドシートに見られる一般的な事柄を定義する。このデータは、ＣＦ＿ＸＭＬ＿ＶＩＥＷクリップボード書式上に置かれる。この理由は、データがどのように「見える」か、をこの書式が最もよく定義するからである。これは、内在するデータの意味よりも、見栄えやレイアウトに関心を持つ人がデータをペーストする場合には、役立つ場合がある。
【００５１】
クリップボード上のデータを提示するための第２の方法は、財務データの名前空間を使用する方法である。この名前空間は、データの見栄えやレイアウトを含む情報は備えていず、代わりに、データそれ自体が何を意味するかが記述されている。この場合、このデータは、ＣＦ＿ＸＭＬ＿ＤＡＴＡクリップボード書式上に置かれる。レイアウト情報が利用不可能なため、消費側アプリケーションは、このデータを最もよく表示する方法を自分で決定する必要がある。例えば、ワープロ・アプリケーション中にペーストする場合には、この方法が、そのより望ましい書式である可能性がある。その理由は、財務データがスプレッドシートにおいて見えている状態は、それがワープロ・アプリケーションにおいて現れる状態とは完全に異なる場合があるためである。この場合、ワープロ・アプリケーションは、財務データの名前空間を調べて、次に、そのデータを正しく表示するための支援となるＸＳＬＴ変換など、何らかのビュー情報を見つける必要がある。
【００５２】
異なる名前空間を異なるクリップボード書式に分割することによって、消費側アプリケーションが供給側アプリケーションからの「ＶＩＥＷ」または「ＤＡＴＡ」書式のいずれかまたは両方を必要としなくなる場合があるため、より効率的である。すなわち、消費側アプリケーションは、ユーザが選択したペースト機能に基づいて、「ＶＩＥＷ」または「ＤＡＴＡ」書式のいずれかに含まれる情報が必要ではないと決定した場合、消費側アプリケーションは、それ自体が使用するためにこれらの書式からデータをロードすることはない。消費側アプリケーションが供給側アプリケーションと同じタイプのアプリケーション（例えば、ワープロ・アプリケーション）の場合、消費側アプリケーションは、ユーザが選択したペースト操作を実行するために追加ペースト機能を必要としない場合がある。ＣＦ＿ＸＭＬ＿ＨＥＡＤＥＲ書式は、「ＤＡＴＡ」および「ＶＩＥＷ」書式の両方について、バージョンおよび名前空間に関する情報を含む。このヘッダ書式は、ＤＡＴＡおよびＶＩＥＷ書式ファイルそれぞれのサイズに関する情報も含む。以下は、サード・パーティの「ＧＥＴ  Ａ  Ｊｏｂ．ｃｏｍ」のＸＭＬスキーマでマーク付けしたワープロ・ファイルからコピーしたデータ・フラグメントに関連付けられたＣＦ＿ＸＭＬ＿ＨＥＡＤＥＲ書式の例である。
【００５３】
【表２】
2004265402.tif 000004
【００５４】
ＣＦ＿ＸＭＬ＿ＶＩＥＷデータ書式（「ＶＩＥＷ」）は、供給側アプリケーションのネイティブＸＭＬプログラミングに関する情報を消費側アプリケーションに提供する。「ＶＩＥＷ」書式中に含まれているデータを読むことによって、消費側アプリケーションは、ペースト操作中に追加ＸＳＬＴ変換ファイルを取得する必要なく、それ自身のネイティブＸＭＬプログラミングに従って供給側アプリケーションのネイティブＸＭＬプログラミングを完全に利用することができるかどうかを決定することができる。以下は、供給側アプリケーションからカットまたはコピーしたデータに関連付けることができるＣＦ＿ＸＭＬ＿ＶＩＥＷヘッダ書式の例である。
<cb:view xmlns:cb="urn:schemas-microsoft-com:office:clipboard:view"><!--Root element for the ClipBoard-->  
<cb:item cb:name="VO" cb:URI="The URI of the root schema">  
注記：一実施形態によれば、ここにデータがある場合もある。そのデータは、ｃｂ：ｓｔａｒｔタグの前にあるため、消費側アプリケーションは、そのデータがコピーされたものの一部ではないことを知る。それでも、そのデータは、ソース全体の性質に関する興味ある情報を提供する場合がある。
<cb:start/><!--フラグメントの開始を意味して、ラインに置かれる1つのタグ-->  
注記：一実施形態によれば、ここにデータがある場合もある。それは、ｃｂ：ｓｔａｒｔタグの後にあるため、消費側アプリケーションは、そのデータがコピーされたものの一部であることを知る。
<cb:end/><!--フラグメントの終わりを意味して、ラインに置かれる1つのタグ-->  
注記：一実施形態によれば、ここにデータがある場合もある。そのデータはｃｂ：ｅｎｄタグの後にあるため、消費側アプリケーションは、そのデータがコピーされたものの一部ではないことを知る。それでも、そのデータは、ソース全体の性質に関する興味ある情報を提供する場合がある。
</cb:item>  
<!-- ペースト・アプリケーションが決めるならば、1つ以上を置くことが可能: -->  
<cb:item cb:name="V1" cb:URI="The URI of the root schema">  
<cb:start/><!--フラグメントの開始を意味しているラインに置かれるシングルのタグ-->  
<cb:end/> <!--フラグメントの終わりを意味して、ラインに置かれる1つのタグ-->  
</cb:item>  
</ cb:view >
【００５５】
ＣＦ＿ＸＭＬ＿ＤＡＴＡ書式（「ＤＡＴＡ」）は、供給側アプリケーションからカットまたはコピーしたデータに関連付けられているＸＭＬ名前空間に関する情報を消費側アプリケーションに提供する。この場合、それらのＸＭＬ名前空間は、供給側アプリケーションのネイティブＸＭＬプログラミングの一部ではない。例えば、「ＤＡＴＡ」ヘッダは、供給側アプリケーションのユーザが作成したスキーマに関連付けられているＸＭＬ名前空間に関する情報を、コピー・アプリケーションに提供することができる。あるいは、上述のように、ユーザが消費または提示するためにデータを構造化する際に使用する出版社または証券会社のスキーマなどの、サード・パーティのスキーマに関連付けられたＸＭＬ名前空間に関する情報を提供することができる。以下は、ＣＦ＿ＸＭＬ＿ＤＡＴＡ書式の例であり、消費側アプリケーションはこの書式を受け取ることが可能であり、この書式は、供給側アプリケーションによってカットまたはコピーされたデータに関連付けられている非ネイティブＸＭＬ名前空間に関する情報を消費側アプリケーションに供給する。
<cb:data xmlns:cb="urn:schemas-microsoft-com:office:clipboard:data"><!--Root element for the ClipBoard-->  
<cb:item cb:name="D0" cb:URI="The URI of the root schema">  
注記：ここにデータがある場合もある。ｃｂ：ｓｔａｒｔタグの前にあるため、消費側アプリケーションは、そのデータがコピーされたものの一部ではないことを知る。それでも、そのデータは、ソース全体の性質に関する興味ある情報を提供する場合がある。
<cb:start/><!--フラグメントの開始を意味して、ラインに置かれる1つのタグ-->  
注記：ここにデータがある場合もある。ｃｂ：ｓｔａｒｔタグの後にあるため、消費側アプリケーションはそのデータがコピーされたものの一部であることを知る。  
<cb:end/> <!--フラグメントの終わりを意味して、ラインに置かれる1つのタグ-->  
注記：ここにデータがある場合もある。ｃｂ：ｅｎｄタグの後にあるため、消費側アプリケーションは、そのデータがコピーされたものの一部ではないことを知る。それでも、そのデータは、ソース全体の性質に関する興味ある情報を提供する場合がある。  
</cb:item >  
<!-- ペースト・アプリケーションが決めるならば、1つ以上を置くことが可能: -->   
<cb:item cb:name="D1" cb:URI="The URI of the root schema">  
<cb:start/><!--フラグメントの開始を意味しているラインに置かれるシングルのタグ-->  
<cb:end/><!--フラグメントの終わりを意味して、ラインに置かれる1つのタグ-->  
</cb:item>  
</cb:data>
【００５６】
図５および６は、本発明の実施形態による、消費側アプリケーションのペースト機能を拡張するための方法を示す流れ図である。方法５００は、開始ステップ５０５で開始し、ステップ５１０に移動して、供給側アプリケーションからデータがカットまたはコピーされ、その後の消費側アプリケーション２２０によるペーストに備えて、クリップボード２１０に保存される。ステップ５１５で、ユーザは、カットまたはコピーしたデータを消費側アプリケーションで使用している文書中にペーストするために、消費側アプリケーション２２０からペーストを選択する。ステップ５２０で、消費側アプリケーションは、ＣＦ＿ＸＭＬ＿ＨＥＡＤＥＲ書式がそのカットまたはコピーされたデータに関連付けられているかどうかを決定する。どのＣＦ＿ＸＭＬ＿ＨＥＡＤＥＲ書式も利用可能ではない場合には、方法は図６のステップ５７５に進み、そこで、データは拡張ペースト機能なしにペーストされる。上述のように、追加ＸＭＬスキーマおよび／または構造を消費側アプリケーションが利用可能な場合には、ＣＦ＿ＸＭＬ＿ＨＥＡＤＥＲ書式によって情報が消費側アプリケーションに提供されることを理解されたい。
【００５７】
ステップ５２０で「ＨＥＡＤＥＲ」書式が提供された場合には、方法はステップ５２５に進み、そこで、データがＣＦ＿ＸＭＬ＿ＶＩＥＷ書式を含んでいるかどうかに関する決定がなされる。ＹＥＳの場合には、方法はステップ５３０に進み、そこで、消費側アプリケーションは、カットまたはコピーされたデータをペーストするのに利用可能なものとしてヘッダ中に指定されている利用可能な名前空間のリストを作成する。例えば、供給側アプリケーションが表計算アプリケーションの場合には、消費側アプリケーションは、名前空間ライブラリを呼び出して、消費側アプリケーション（例えば、ワープロ）が供給側アプリケーションのＸＭＬ機能に従ってカットまたはコピーされたデータをペーストするのを支援するための利用可能な変換ファイル、または、その他のリソース、を探す必要がある場合がある。名前空間ライブラリを呼び出す理由は、消費側アプリケーションが利用可能な名前空間を理解していないこと、その結果それをどのように取り扱うかに関する追加情報を見つける必要があること、である。利用可能な名前空間リスト中にＸＭＬ名前空間がない場合には、方法はステップ５５０に進み、そこで消費側アプリケーションが名前空間ライブラリ２３０を調べて、供給側アプリケーションから受け取ったカットまたはコピーしたデータをペーストする際の支援となり得る追加リソースを探す。
【００５８】
ステップ５３５で、ＣＦ＿ＸＭＬ＿ＤＡＴＡ書式が提供された場合には、方法はステップ５４０に進む。そこで、消費側アプリケーションが利用可能な名前空間リストを呼び出して、上述のように、供給側アプリケーションにおいて作成された名前空間に関連付けらている、あるいは、供給側アプリケーションの外部のサード・パーティ・ソースから受け取った、変換ファイルおよび／またはその他のリソースを取得する。ステップ５３０および５４０を参照しながら説明した利用可能な名前空間リストの呼出しは、図３を参照しながら上記に説明したように、ユーザ・インターフェースを提供することにより実現され得る。
【００５９】
図６のステップ５４５で、消費側アプリケーションが、供給側アプリケーションからカットまたはコピーされたデータについて識別された、名前空間および関連変換ファイルを理解するかどうかに関する決定がなされる。例えば、消費側アプリケーションがワープロ・アプリケーションで、供給側アプリケーションもワープロ・アプリケーションの場合には、消費側アプリケーションは、カットまたはコピーされたデータに関連付けられたＸＭＬ書式設定を提供するために変換ファイルの形態で追加リソースを必要としない場合がある。その場合、方法はステップ５７５に進み、そこでカットまたはコピーされたデータは、消費側アプリケーションによってペースト機能拡張なしにペーストされる。
【００６０】
消費側アプリケーションが選択されたデータに関連付けられた名前空間および関連リソースを理解しない場合、あるいは、名前空間またはリソースが消費側アプリケーションにとって利用可能ではない場合には、方法はステップ５５０に進む。そこで、ユーザが供給側アプリケーションから受け取ったＣＦ＿ＸＭＬ＿ＤＡＴＡ書式に含まれるデータに関連付けられた、追加の名前空間およびリソースを選択するのに、名前空間ライブラリ２３０が利用される。供給側アプリケーションから受け取った「ＤＡＴＡ」書式が、カットまたはコピーされたデータに関連付けられた、所定の出版社のＸＳＬＴファイルなど、サード・パーティの名前空間を識別する場合には、識別された名前空間に従ってデータをペーストするために消費側アプリケーションが必要とするＸＳＬＴファイルが、消費側アプリケーションのために名前空間ライブラリ２３０から取得されることが可能になる。ステップ５５５で、消費側アプリケーションが使用するためのいずれかの利用可能な変換ファイルが、ユーザによって選択されたかどうかに関する決定がなされる。選択されていない場合には、方法はステップ５６０に進み、そこで、図３に示すように、ユーザ・インターフェース３１０のペースト機能のところにデフォルトの機能が移植される。
【００６１】
利用可能な名前空間リストまたは名前空間ライブラリのいずれかにおいて、ＸＳＬＴ変換ファイルなどのリソースが探し出された場合には、方法はステップ５６５に進む。そこで、図３を参照しながら上記に説明したように、ペースト・ユーザ・インターフェース３１０に、ユーザが選択した追加機能が移植される。ステップ５７０で、ユーザがデフォルトの一般的なペースト機能を選択したか、あるいは「形式を選択して貼り付け」機能を選択したかに関する決定がなされる。「形式を選択して貼り付け」機能をユーザが望む場合には、方法はステップ５８０に進む。そこで、ユーザは、所望の「形式を選択して貼り付け」機能を選択する。方法はステップ５７５に進み、そこで、ユーザが選択したペースト機能に従ってデータがペーストされる。ステップ５７０で、「形式を選択して貼り付け」機能をユーザが望まない場合には、方法はステップ５７５に進み、そこで、データは、ユーザが選択したように、拡張ペースト機能なしにペーストされる。ステップ５９５で、方法は終了する。
【００６２】
本明細書に記載しているように、コンピュータが生成した文書中にデータをペーストするためのコンピュータ・ソフトウェア・アプリケーションが利用可能なペースト機能を拡張するための、方法およびシステムが提供される。当業者には、本発明の範囲または趣旨を逸脱することなく、本発明に様々な修正または変更を施すことができることが明らかであろう。当業者には、本明細書を読むことにより、また、本明細書に開示している本発明を実施することによって、本発明のその他の実施形態が明らかになろう。
【図面の簡単な説明】
【００６３】
【図１】本発明のための例示的動作環境を提供する、コンピュータ、および関連する周辺装置およびネットワーク化されたデバイスの構成図である。
【図２】データが供給側アプリケーションを使ってカットまたはコピーされ、消費側アプリケーションを使ってペーストされる、供給側アプリケーションと消費側アプリケーションの間の相互作用を説明する、簡略化した構成図である。
【図３】本発明の例示的実施形態による拡張ペースト機能をユーザに提供するためのユーザ・インターフェースを説明する、簡略化した構成図である。
【図４】供給側アプリケーションからカットまたはコピーしたデータをペーストおよび消費するソフトウェア・アプリケーションの、コンピュータ画面表示を説明する図である。
【図５】本発明の一実施形態による、消費側アプリケーションのペースト機能を拡張するための方法を説明する流れ図である。
【図６】本発明の一実施形態による、消費側アプリケーションのペースト機能を拡張するための方法を説明する流れ図である。
【符号の説明】
【００６４】
２０  パーソナル・コンピュータ、ユーザのコンピュータ
２１  処理装置
２２  システム・メモリ
２３  システム・バス
２４  読取り専用メモリ（ＲＯＭ）
２５  ランダム・アクセス・メモリ（ＲＡＭ）
２６  基本入出力システム（ＢＩＯＳ）
２７  ハードディスク・ドライブ
２８  磁気ディスク・ドライブ
２９  リムーバブル・ディスク
３０  光ディスク・ドライブ
３１  ＣＤ−ＲＯＭディスク
３２  ハードディスク・ドライブ・インターフェース
３３  磁気ディスク・ドライブ・インターフェース
３４  光ドライブ・インターフェース
３５  オペレーティング・システム
４０  キーボード
４２  マウス
４６  シリアル・ポート・インターフェース
４７  モニタ
４８  ビデオ・アダプタ
４９  リモート・コンピュータ、サーバ
５０  記憶装置、メモリ
５１  ローカル・エリア・ネットワーク（ＬＡＮ）
５２  広域ネットワーク（ＷＡＮ）
５３  ネットワーク・インターフェース
５４  モデム
２００  アプリケーション・プログラム、供給側アプリケーション
２０５  カットまたはコピー操作、カット／コピー操作
２１０  記憶域、クリップボード
２１５  ペースト操作
２２０  アプリケーション、アプリケーション・プログラム、消費側アプリケーション、表計算消費側アプリケーション
２２５  利用可能な名前空間リスト、利用可能なリスト
２３０  名前空間ライブラリ
３１０  「形式を選択して貼り付け」ユーザ・インターフェース、ユーザ・インターフェース
３１６  ダイアログ・ボックス
３２０  ＨＴＭＬ書式
３２５  拡張機能なしにＸＭＬ書式
３３０  「その他」ボタン
３５０  利用可能なスキーマ・ユーザ・インターフェース
３５５  利用可能なリスト
３７０  名前空間ライブラリ機能、名前空間ライブラリ・ユーザ・インターフェース、ユーザ・インターフェース
３８０  「出版社Ａ」ＸＳＬＴ、「出版社Ａ」変換
３９０  「出版社Ａ」ペースト機能
４００  画面ショット
４１０  文書
４２０  ダイアログ・ボックス
４２５  「８カ月間の履歴」書式
４３０  「予測財務要約」書式
４３５  「産業別内訳」書式
【図１】
2004265402.tif 000005
【図２】
2004265402.tif 000006
【図３】
2004265402.tif 000007
【図４】
2004265402.tif 000008
【図５】
2004265402.tif 000009
【図６】
2004265402.tif 000010
【外国語明細書】
2004265402.tif 000011
2004265402.tif 000012
2004265402.tif 000013
2004265402.tif 000014
2004265402.tif 000015
2004265402.tif 000016
2004265402.tif 000017
2004265402.tif 000018
2004265402.tif 000019
2004265402.tif 000020
2004265402.tif 000021
2004265402.tif 000022
2004265402.tif 000023
2004265402.tif 000024
2004265402.tif 000025
2004265402.tif 000026
2004265402.tif 000027
2004265402.tif 000028
2004265402.tif 000029
2004265402.tif 000030
2004265402.tif 000031
2004265402.tif 000032
2004265402.tif 000033
2004265402.tif 000034
2004265402.tif 000035
2004265402.tif 000036
2004265402.tif 000037
2004265402.tif 000038
2004265402.tif 000039
2004265402.tif 000040
2004265402.tif 000041
2004265402.tif 000042
2004265402.tif 000043
2004265402.tif 000044
2004265402.tif 000045
2004265402.tif 000046
2004265402.tif 000047
2004265402.tif 000048
2004265402.tif 000049
2004265402.tif 000050
2004265402.tif 000051
2004265402.tif 000052
2004265402.tif 000053
2004265402.tif 000054
2004265402.tif 000055