(57)【要約】【課題】コンピュータ生成文書と関連付けるまたはそれに挿入するために、テキストまたはデータの自己記述型の部分を提供すること。【解決手段】個々の段落や段落群、あるいはテキストの断片など、文書部分に、その部分に関連するファイル・フォーマット・タイプやスタイル、フォント、リストタイプなど、自己記述型の属性が提供される。文書のそうした部分が、後で第２の文書または第１の文書内の異なる位置にリンク、またはコピー、あるいは移動される場合、その部分に提供された自己記述型の属性は、その部分と共に第２の文書または第１の文書内の異なる位置に移動する。コンテンツ部分を受け取るアプリケーションは、その部分に提供された属性にしたがって、その部分を使用し表示することができる。【選択図】図３
2006178950.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実行されるときに、コンテンツ部分に関連付けられた自己記述型のプロパティに基づき、受け取り側の文書中の前記コンテンツ部分を統合する方法を実行する命令が格納されたコンピュータ読み取り可能な媒体であって、前記命令は、
コンテンツ部分がフォーマットされているファイル・フォーマットを識別する自己記述型のプロパティを有する前記コンテンツ部分を受け取ること、
前記コンテンツ部分をコンピュータ生成文書と統合するために、受け取り側のアプリケーションで前記コンテンツ部分を受け取ること、
前記受け取り側のアプリケーションで、前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットを識別する前記自己記述型のプロパティを解析すること、
前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットにしたがって、前記コンテンツ部分を処理すること、および
前記コンテンツ部分を前記コンピュータ生成文書と統合すること
を備えることを特徴とするコンピュータ読み取り可能な媒体。
【請求項２】
前記コンテンツ部分がフォーマットされているファイル・フォーマットを識別する自己記述型のプロパティを有する前記コンテンツ部分を受け取ることは、前記受け取り側のアプリケーションで、前記コンテンツ部分を前記コンピュータ生成文書と統合するための選択の指示を受け取ることを含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な媒体。
【請求項３】
前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットを識別する前記自己記述型のプロパティを解析することは、前記コンテンツ部分がフォーマットされているファイル・フォーマットを決定すること、およびコンテンツ部分を前記コンピュータ生成文書と統合するためのすべての処理要件を決定することを含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な媒体。
【請求項４】
前記コンテンツ部分を前記コンピュータ生成文書と統合するためのすべての処理要件を決定することは、前記コンテンツ部分を前記コンピュータ生成文書と統合する前に、前記コンテンツ部分が異なるファイル・フォーマットに変換されなければならないかどうかを決定することを含むことを特徴とする請求項３に記載のコンピュータ読み取り可能な媒体。
【請求項５】
前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットにしたがって前記コンテンツ部分を処理することは、前記コンテンツ部分を前記コンピュータ生成文書と統合する前に、前記コンテンツ部分を異なるファイル・フォーマットに変換することを含むことを特徴とする請求項４に記載のコンピュータ読み取り可能な媒体。
【請求項６】
前記コンテンツ部分を前記コンピュータ生成文書と統合するためのすべての処理要件を決定することは、前記コンテンツ部分を前記コンピュータ生成文書と統合するために、前記受け取り側のアプリケーションが追加の機能を必要とするかどうかを決定することを含むことを特徴とする請求項３に記載のコンピュータ読み取り可能な媒体。
【請求項７】
前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットにしたがって前記コンテンツ部分を処理することは、
前記受け取り側のアプリケーションによって追加の機能にアクセスすること、および
前記追加の機能によって前記コンテンツ部分を処理すること
を含むことを特徴とする請求項６に記載のコンピュータ読み取り可能な媒体。
【請求項８】
前記コンテンツ部分を前記コンピュータ生成文書と統合することは、前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットにしたがって前記コンテンツ部分を処理した後に、前記コンテンツ部分を前記コンピュータ生成文書にコピーすることを含むことを特徴とする請求項１に記載のコンピュータ読み取り可能な媒体。
【請求項９】
前記コンピュータ生成文書と前記コンテンツ部分を電子ファイル・コンテナに格納すること、および前記コンテンツ部分がどのように前記コンピュータ生成文書に関係しているかを示す関係表現を提供することをさらに備えることを特徴とする請求項１に記載のコンピュータ読み取り可能な媒体。
【請求項１０】
前記コンテンツ部分がどのように前記コンピュータ生成文書に関係しているかを示す関係表現を提供することは、前記コンテンツ部分が前記コンピュータ生成文書と統合されるべき、前記コンピュータ生成文書内の位置を示すことを含むことを特徴とする請求項９に記載のコンピュータ読み取り可能な媒体。
【請求項１１】
前記コンテンツ部分を前記コンピュータ生成文書と統合することは、
前記コンテンツ部分を前記コンピュータ生成文書内の所与の位置にリンクさせること、および
前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットにしたがって前記コンテンツ部分を処理した後に、前記コンテンツ部分を前記所与の位置に提示するために前記コンテンツ部分を呼び出すこと
を含むことを特徴とする請求項１０に記載のコンピュータ読み取り可能な媒体。
【請求項１２】
コンテンツ部分がフォーマットされているファイル・フォーマットを識別する自己記述型のプロパティを有する前記コンテンツ部分を受け取る前に、
受け取り側のアプリケーションが使用できるようにコンテンツ部分を生成すること、および
前記コンテンツ部分がフォーマットされているファイル・フォーマットを前記受け取り側のアプリケーションに識別させるために、自己記述型のプロパティを前記コンテンツ部分に適用すること
をさらに備えることを特徴とする請求項１に記載のコンピュータ読み取り可能な媒体。
【請求項１３】
コンテンツ部分に関連付けられた自己記述型のプロパティに基づき、受け取り側の文書内に前記コンテンツ部分を統合する方法であって、
コンテンツ部分がフォーマットされているファイル・フォーマットを識別する自己記述型のプロパティを有する前記コンテンツ部分を受け取ること、
前記コンテンツ部分をコンピュータ生成文書と統合するために、受け取り側のアプリケーションで前記コンテンツ部分を受け取ること、
前記受け取り側のアプリケーションで、前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットを識別する前記自己記述型のプロパティを解析し、前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットを決定し、前記コンテンツ部分と前記コンピュータ生成文書の間の関係を決定すること、
前記コンピュータ生成文書と前記コンテンツ部分を電子ファイル・コンテナに格納すること、および
前記コンテンツ部分がどのように前記コンピュータ生成文書に関係しているかを示す関係表現を提供すること
を備えることを特徴とする方法。
【請求項１４】
前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットにしたがって、前記コンテンツ部分を処理すること、および
前記コンテンツ部分を前記コンピュータ生成文書と統合すること
をさらに備えることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記コンテンツ部分を前記コンピュータ生成文書と統合することは、
前記コンテンツ部分を前記コンピュータ生成文書内の所与の位置にリンクさせること、および
前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットにしたがって前記コンテンツ部分を処理した後に、前記コンテンツ部分を前記所与の位置に提示するために前記コンテンツ部分を呼び出すこと
を含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
コンテンツ部分に関連付けられた自己記述型のプロパティに基づき、受け取った文書に前記コンテンツを統合するシステムであって、
データベースを保持するためのメモリストレージ、および
前記メモリストレージに結合された処理ユニット
を備え、前記処理ユニットは、
コンテンツ部分がフォーマットされているファイル・フォーマットを識別する自己記述型のプロパティを有する前記コンテンツ部分を受け取り、
前記コンテンツ部分をコンピュータ生成文書と統合するために、受け取り側のアプリケーションで前記コンテンツ部分を受け取り、
前記受け取り側のアプリケーションで、前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットを識別する前記自己記述型のプロパティを解析し、
前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットにしたがって、前記コンテンツ部分を処理し、および
前記コンテンツ部分を前記コンピュータ生成文書と統合する
ように動作することを特徴とするシステム。
【請求項１７】
前記コンテンツ部分がフォーマットされているファイル・フォーマットを識別する自己記述型のプロパティを有する前記コンテンツ部分を受け取るように動作する前記処理ユニットは、前記受け取り側のアプリケーションで、前記コンテンツ部分を前記コンピュータ生成文書と統合するための選択の指示を受け取るように動作する処理ユニットを備えることを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記コンテンツ部分がフォーマットされている前記ファイル・フォーマットを識別する前記自己記述型のプロパティを解析するように動作する前記処理ユニットは、
前記コンテンツ部分がフォーマットされているファイル・フォーマットを決定し、および
コンテンツ部分を前記コンピュータ生成文書と統合するためのすべての処理要件を決定する
ように動作する処理ユニットを備えることを特徴とする請求項１６に記載のシステム。
【請求項１９】
前記コンテンツ部分を前記コンピュータ生成文書と統合するためのすべての処理要件を決定するように動作する前記処理ユニットは、前記処理ユニットが前記コンテンツ部分を前記コンピュータ生成文書と統合する前に、前記コンテンツ部分が異なるファイル・フォーマットに変換されなければならないかどうかを決定するように動作する処理ユニットを備えることを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記コンピュータ生成文書と前記コンテンツ部分を電子ファイル・コンテナに格納し、および
前記コンテンツ部分がどのように前記コンピュータ生成文書に関係しているかを示す関係表現を提供する
ように動作する処理ユニットをさらに備えることを特徴とする請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に様々なコンピュータ生成文書にまたがるデータを管理することに関する。より詳細には、本発明は、単一のコンピュータ生成文書に関連する、代替フォーマットおよび他のプロパティを有する文脈自由な文書部分の利用に関する。
【背景技術】
【０００２】
コンピュータ時代の到来に伴い、コンピュータおよびソフトウェアのユーザは、書く、計算する、整理する、プレゼンテーションの準備をする、電子メールを送受信する、音楽を作るといったことに役立つユーザ・フレンドリなソフトウェア・アプリケーションに慣れてきている。例えば現代の電子ワードプロセッシング・アプリケーションは、ユーザが様々な有用な文書を作成することを可能にする。現代のスプレッドシート・アプリケーションは、ユーザがデータを入力し、操作し、整理することを可能にする。現代の電子スライド・プレゼンテーション・アプリケーションは、ユーザが、テキスト、写真、データ、あるいは他の有用なオブジェクトを含む様々なスライド・プレゼンテーションを作成することを可能にする。
【０００３】
様々なフォーマット・タイプにしたがってそうしたアプリケーションによって生成された文書および関連するプロパティを表すための複数の方法およびシステムが開発されている。例えば、文書は、バイナリ・フォーマット、ＨＴＭＬ（ハイパー・テキスト・マークアップ言語）フォーマット、リッチ・テキスト・フォーマット（ＲＴＦ）、ＸＭＬ（拡張マークアップ言語）フォーマットなどで表すことができる。さらに、段落、表、スタイル、フォント、リストなどを含め、そうした文書を構成する数多くの構成要素がある。文書のいくつかの構成要素は、第１の構成要素に構造上の制限を与える他の構成要素を参照する。例えば、文書内の段落が、その段落が文書内でどのように現れるべきかを定義する特定のフォーマット・タイプまたはスタイル設定を参照することがある。もう１つの例として、文書の段落構成要素が、文書内の特定のリスト構造の部分である場合がある。スタイルなど、文書の他のオブジェクトが参照することがある数多くのプロパティおよびオブジェクトがあるので、通常、スタイルやフォント定義など、様々なプロパティおよびオブジェクトが配置されるヘッダが文書内に必要とされる。
【０００４】
【特許文献１】米国特許出願公開２００４／０２１０８１８号明細書
【特許文献２】米国特許出願第１０／７２６，０７７号
【特許文献３】米国特許出願公開２００４／０００２９３７号明細書
【特許文献４】米国特許出願公開２００４／０２０５４７０号明細書
【特許文献５】米国特許出願公開２００４／０００３３８７号明細書
【特許文献６】米国特許出願第１０／７３１，９００号
【特許文献７】米国特許出願第１１／０１８，４０５号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
遺憾ながら、ユーザが、例えば段落、テキストの部分、画像、チャートなど、追加のコンテンツを特定の文書に追加しようと試みるときに、追加のコンテンツが、それが追加される文書のフォーマットとは異なるフォーマットにしたがってフォーマットされるという問題が生じる。例えば、所与のアプリケーションがすべてのリッチ・テキストをＨＴＭＬフォーマットで格納することがある。そうしたアプリケーションによって生成された文書のコンテンツを非ＨＴＭＬアプリケーションに移すには、ＨＴＭＬフォーマットのコンテンツは別のフォーマットに変換されなければならない。そうでない場合、例えばＨＴＭＬフォーマットされたコンテンツは、別のフォーマット、例えばＸＭＬにしたがってフォーマットされた文書に追加される場合、追加されるコンテンツの元のフォーマットは、失われるか、あるいは追加のコンテンツが完全にはロードされないことがある。
【０００６】
本発明は、これらのおよび他の問題に関するものである。
【課題を解決するための手段】
【０００７】
本発明は、上述のおよびその他の問題を、文書内のテキストまたはデータについての自己記述型の部分を提供することによって解決する。本発明の一実施形態によれば、個々の段落や段落群、あるいはテキストの断片など、文書部分に、その部分に関連するファイル・フォーマット・タイプ、スタイル、フォント、リストタイプなど、自己記述型のプロパティが提供される。文書のそうした部分が、後で第２の文書に、または第１の文書内の異なる位置にコピーまたは移動される場合、その部分に提供された自己記述型のプロパティは、第２の文書に、または第１の文書内の異なる位置に、その部分と一緒に移動する。その結果、第２の文書または第１の文書を作成し表示するアプリケーションは、その部分に対して提供されたプロパティにしたがって、その部分を使用して表示することができる。
【０００８】
他の実施形態によれば、文書を表示し編集するための文書コンテナが確立される。文書の自己記述型の部分または構成要素は、文書コンテナ内で維持し編集することができる。あるいは、文書の自己記述型の部分または構成要素を、文書コンテナとは別に維持し編集することができるが、文書コンテナ内から指し示されることがある。文書が開いているときは、文書コンテナ内から指し示されるすべての文書の部分または構成要素は、異なる文書部分または構成要素のそれぞれをその個々のファイル・フォーマット・タイプまたは他のプロパティにしたがって使用できるアプリケーションによって、マージされ表示されることができる。
【０００９】
本発明のこれらおよび他の特徴、利点および態様は、開示される実施形態に関する以下の詳しい説明を読み、添付の図面および特許請求の範囲を参照することによって、より明確に理解することができよう。
【発明を実施するための最良の形態】
【００１０】
上記に簡単に説明したように、本発明の実施形態は、テキストまたはデータの挿入または参照する部分が、テキストまたはデータの部分が挿入されるまたは参照される文書とは、あるいは受け取り側の文書とマージするためにテキストまたはデータの部分を参照する文書とは異なるファイル・フォーマット・タイプおよび他のプロパティにしたがってフォーマットされている場合に、そうした文書に、テキストまたはデータの部分を挿入する、あるいは参照するための方法およびシステムを対象とする。本発明の趣旨または範囲から逸脱することなく、これらの実施形態は組み合わせることができ、他の実施形態を利用することができ、構造上の変更を加えることができる。したがって、以下の詳しい説明は限定的な意味で理解されるべきではなく、本発明の範囲は添付の特許請求の範囲およびその均等物によって定義される。
【００１１】
次に、いくつかの図を通じて同じ参照番号が同様の要素を表している図面を参照して、本発明の態様および例示的な動作環境を説明する。図１および以下の議論は、本発明を実装することができる適切なコンピューティング環境の簡単で一般的な説明を提供することを意図している。本発明を、パーソナル・コンピュータのオペレーティング・システム上で稼働するアプリケーション・プログラムと共に実行されるプログラム・モジュールの一般的な文脈で説明するが、本発明が他のプログラム・モジュールと組み合わせて実装できることも当業者には理解されよう。
【００１２】
一般に、プログラム・モジュールは、ルーチン、プログラム、コンポーネント、データ構造、および特定のタスクを実行するまたは特定の抽象データ・タイプを実装するその他の種類の構造、を含む。さらに、本発明は、ハンドヘルド装置、マルチ・プロセッサ・システム、マイクロ・プロセッサに基づくまたはプログラム可能な家庭用電化製品、ミニ・コンピュータ、メインフレーム・コンピュータなどを含む、他のコンピュータ・システム構成によって実施できることも当業者には理解されよう。本発明は、通信ネットワークによってリンクされているリモート・プロセッシング装置によってタスクが実行される分散コンピューティング環境でも実施できる。分散コンピューティング環境では、プログラム・モジュールは、ローカルのメモリ記憶装置とリモートのメモリ記憶装置の両方に配置することができる。
【００１３】
次に図１に移ると、本発明の様々な実施形態を実施するためのパーソナル・コンピュータ２の例示的なコンピュータ・アーキテクチャが示されている。図１に示すコンピュータ・アーキテクチャは、中央処理装置（「ＣＰＵ」）４と、ランダム・アクセス・メモリ（「ＲＡＭ」）８および読み取り専用メモリ（「ＲＯＭ」）１０を含むシステム・メモリ６と、メモリをＣＰＵ４に結合するシステム・バス１２とを含む従来のパーソナル・コンピュータを示す。スタートアップ中などに、コンピュータ内の要素間での情報の転送を助ける基本ルーチンを含む基本入出力システムがＲＯＭ１０に格納されている。パーソナル・コンピュータ２はさらに、オペレーティング・システム１６、アプリケーション・プログラム３０５などのアプリケーション・プログラム、およびデータを格納する大容量記憶装置１４を含む。
【００１４】
大容量記憶装置１４は、バス１２に接続された大容量記憶コントローラ（図示せず）によってＣＰＵ４に接続されている。大容量記憶装置１４とそれに関連するコンピュータ読み取り可能な媒体は、パーソナル・コンピュータ２の非揮発性記憶装置を提供する。本明細書に含まれているコンピュータ読み取り可能な媒体の記述は、ハードディスクやＣＤ−ＲＯＭドライブなどの大容量記憶装置を指すが、コンピュータ読み取り可能な媒体はパーソナル・コンピュータ２からアクセスできるどの利用可能な任意の媒体でもよいことが当業者には理解されるはずである。
【００１５】
限定ではなく例として示すと、コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体および通信媒体を包含する。コンピュータ記憶媒体には、コンピュータ読み取り可能な命令、データ構造、プログラム・モジュール、およびその他のデータなどの情報を格納するための任意の方法または技術で実装された、揮発性媒体および非揮発性媒体、リムーバブル媒体および非リムーバブル媒体が含まれる。コンピュータ記憶媒体には、それだけに限らないが、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリまたは他のソリッド・ステート・メモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ、または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、あるいは所望の情報を格納するのに使用でき、コンピュータからアクセスできる任意の他の媒体も含まれる。
【００１６】
本発明の様々な実施形態によれば、パーソナル・コンピュータ２は、インターネットなどのＴＣＰ／ＩＰネットワーク１８を介するリモート・コンピュータへの論理接続を使用するネットワーク化された環境で動作することができる。パーソナル・コンピュータ２は、バス１２に接続されたネットワーク・インターフェース・ユニット２０によってＴＣＰ／ＩＰネットワーク１８に接続することができる。ネットワーク・インターフェース・ユニット２０は、他の種類のネットワークおよびリモート・コンピュータ・システムに接続するために利用することもできることを理解されたい。パーソナル・コンピュータ２は、キーボードやマウス（図示せず）を含めて数多くの装置から入力を受け取り、処理するための入出力コントローラ２２を含むこともできる。同様に、入出力コントローラ２２は、ディスプレイ・スクリーン、プリンタ、または他の種類の出力装置への出力を提供することができる。
【００１７】
上記に簡単に述べたように、ワシントン州レドモントにあるマイクロソフト株式会社のＷＩＮＤＯＷＳ（登録商標）ＸＰオペレーティング・システムなど、ネットワーク化されたパーソナル・コンピュータの動作を制御するのに適したオペレーティング・システム１６を含めて、数多くのプログラム・モジュールおよびデータ・ファイルを、パーソナル・コンピュータ２の大容量記憶装置１４およびＲＡＭ８に格納することができる。大容量記憶装置１４およびＲＡＭ８は１つまたは複数のアプリケーション・プログラムを格納することもできる。特に、大容量記憶装置１４およびＲＡＭ８は、電子文書３１０を作成し編集するためのアプリケーション・プログラム３０５を格納することができる。例えば、アプリケーション・プログラム３０５は、ワードプロセッシング・アプリケーション・プログラム、スプレッドシート・アプリケーション、コンタクト・アプリケーションなどである。他の種類の電子文書を作成し編集するためのアプリケーション・プログラムも、本発明の様々な実施形態で使用することができる。下記に説明するスキーマ・ファイル３３０およびネーム・スペース／スキーマ・ライブラリ４００も図示されている。
【００１８】
本発明の例示的な実施形態は、オブジェクト指向のプログラミング環境の様々なソフトウェア・オブジェクト間での通信によって実装される。本発明の実施形態についての以下の説明のために、オブジェクト指向のプログラミング環境のコンポーネントについて簡単に説明しておくのが有用である。図２は、オブジェクト指向のプログラミング・モデルによるソフトウェア・オブジェクト間の対話を示す簡略化した構成図である。オブジェクト指向のプログラミング環境によれば、第１オブジェクト２１０は、ソフトウェア・コード、実行可能メソッド、プロパティ、およびパラメータを含むことができる。同様に、第２オブジェクト２２０も、ソフトウェア・コード、実行可能メソッド、プロパティ、およびパラメータを含むことができる。
【００１９】
第１オブジェクト２１０は、メッセージ呼出し２３０を介して第２オブジェクト２２０を呼び出すことによって、第２オブジェクト２２０と通信し、第２オブジェクト２２０から情報または機能を得ることができる。オブジェクト指向のプログラミング環境の当業者には周知のように、第１オブジェクト２１０は、２つの異なるソフトウェア・オブジェクト２１０、２２０が互いの情報および機能を得るために相互通信できるようにするアプリケーション・プログラミング・インターフェース（ＡＰＩ）を介して、第２オブジェクト２２０と通信することができる。例えば、第１オブジェクト２１０が、第２オブジェクト２２０に含まれているメソッドによって提供される機能を必要とする場合、第１オブジェクト２１０は、第２オブジェクト２２０にメッセージ呼出し２３０を渡すことができ、このメッセージ呼出しで、第１オブジェクトは必要なメソッドを特定し、その特定したメソッドを操作するために第２オブジェクトによって必要とされるすべての必要なパラメータを第２オブジェクトに渡す。第２オブジェクト２２０は、第１オブジェクトからの呼出しを受け取ると、提供されたパラメータに基づいて、呼び出されたメソッドを実行し、実行されたメソッドから得られた値を含むリターン・メッセージ２５０を第１オブジェクト２１０に戻す。
【００２０】
例えば、本発明の実施形態に関して、下記に説明するように、第１オブジェクト２１０は、拡張マークアップ言語スキーマ検証オブジェクトなどの第２オブジェクトにメッセージを渡す、サード・パーティのカスタマイズ・アプリケーションでもよく、これにより、第１オブジェクトは、文書内の指定されたＸＭＬ要素の検証を要求するメソッドを特定する。ここで、この指定されたＸＭＬ要素は、識別されたメソッドについて第１オブジェクトによって渡されるパラメータである。この例によれば、第１オブジェクトからの呼出しの受け取り時に、スキーマ検証オブジェクトは、指定されたＸＭＬ要素に基づいて特定されたメソッドを実行し、検証されたＸＭＬ要素に関連付けられた結果または値の形のメッセージを第１オブジェクトに戻す。上記に簡単に説明したように、オブジェクト指向のプログラミング環境の動作は当業者には周知である。
【００２１】
下記に説明するように、本発明の実施形態は、ＸＭＬ（拡張マークアップ言語）の構成要素の使用、カスタマイズおよび適用におけるソフトウェア・オブジェクトの対話によって実装される。図３は、文書、添付されたスキーマ・ファイル、およびスキーマ検証機能モジュールとの間の対話を示す構成図である。当業者には周知のように、ＸＭＬは、文書内のテキストまたはデータに適用されるタグ名、同時に関連するタグが適用されるテキストまたはデータを定義するタグ名、をユーザが作成できるようにすることによって、文書内のテキストおよびデータを記述する方法を提供する。例えば図３を参照すると、アプリケーション３０５によって作成された文書３１０は、ＸＭＬタグ３１５、３２０、３２５によってマークアップされたテキストを含む。例えばテキスト「Ｇｒｅｅｔｉｎｇｓ」は、ＸＭＬタグ＜ｔｉｔｌｅ＞という注釈が付いている。テキスト「Ｍｙ  ｎａｍｅ  ｉｓ  Ｓａｒａｈ」は、＜ｂｏｄｙ＞タグという注釈が付いている。ＸＭＬによれば、＜ｔｉｔｌｅ＞タグと＜ｂｏｄｙ＞タグの作成者は、そうしたタグが適用されることになるタグを記述するための自分自身のタグを自由に作成することができる。そして、任意の使用する側のダウンストリーム・アプリケーションまたはコンピューティング・マシンに、テキストに適用されているタグの定義に関する命令が提供される限り、そうしたアプリケーションまたはコンピューティング・マシンは、そうしたタグにしたがってデータを利用することができる。例えば、ダウンストリーム・アプリケーションがそうしたアプリケーションによって処理された論文または出版物のタイトルとして定義されているテキストを抽出するようにプログラムされている場合、そのアプリケーションは文書３１０を解析し、図３に示すように、テキスト「Ｇｒｅｅｔｉｎｇｓ」はタグ＜ｔｉｔｌｅ＞という注釈が付いているので、そのテキストを抽出することができる。図３に示す、文書３１０用の特定のＸＭＬタグ・ネーミングの作成者は、文書３１０に含まれるテキストまたはデータの有用な記述を提供し、これらの記述は、テキストまたはデータに適用されているタグに関連する定義がサード・パーティに提供される限り、サード・パーティによって利用することができる。
【００２２】
本発明の実施形態によれば、文書３１０に入力されているテキストおよびＸＭＬマークアップは、様々なファイル・フォーマットにしたがって、また文書３１０が作成されたアプリケーション３０５のネイティブのプログラミング言語にしたがって、保存することができる。例えば、テキストおよびＸＭＬマークアップは、ワードプロセッシング・アプリケーション、スプレッドシート・アプリケーションなどにしたがって保存することができる。あるいは、文書３１０に入力されているテキストおよびＸＭＬマークアップはＸＭＬフォーマットとして保存することもでき、それによって、テキストまたはデータ、任意の適用されるＸＭＬマークアップ、およびフォント、スタイル、段落構造など、任意のフォーマットがＸＭＬ表現（XML representation）として保存できる。したがって、ＸＭＬとして保存されたデータを理解できるダウンストリーム・アプリケーションまたはサード・パーティ・アプリケーションは、ＸＭＬ表現として保存されたテキストまたはデータを開き、使用することができる。文書３１０のテキスト、ＸＭＬマークアップ、関連するフォーマットおよび他のアトリビュートをＸＭＬとして保存することについての詳しい議論は、本明細書で完全に説明され、参照により本明細書に組み込まれている、２００２年６月２８日に出願した「Word Processing Document Stored in a Single XML File that may be Manipulated by Applications that Understanding XML」という名称の米国特許出願公開２００４／０２１０８１８（米国特許出願第１０／１８７，０６０）号明細書（特許文献１）を参照されたい。本発明による例示的なスキーマは、参照により本明細書にその全体が組み込まれている、２００３年１２月２日に出願した「Mixed Content Flexibility」という名称の米国特許出願第１０／７２６，０７７号の明細書（特許文献２）の１１ページの初めに開示されている。
【００２３】
図３に示すように、テキストまたはデータに適用されるＸＭＬマークアップ要素（タグ）の定義フレームワーク（definitional framework）を提供するために、マークアップされ格納されたデータのユーザおよび使用者が、文書の作成者によって設計されたＸＭＬタグ付けの定義を理解できるようにするのに必要な情報を収容するＸＭＬスキーマ・ファイルが作成される。各スキーマ・ファイルは、当技術分野でネーム・スペースまたはＸＳＤファイルとも呼ばれ、所与のスキーマ・ファイルにしたがって文書に適用されるすべてのＸＭＬ要素（タグ）のリストを含むことが好ましい。例えば、図３に示すスキーマ・ファイル３３０は、ＸＭＬ要素のアトリビュート、あるいはスキーマ・ファイルにしたがってＸＭＬ要素によって注釈が付けられるテキストまたはデータに関連付けられた制限および／または規則を含めて、文書３１０に適用されるいくつかのＸＭＬ要素の定義を含むスキーマ・ファイルとすることができる。例えば、図３に示すスキーマ・ファイル３３０を参照すると、このスキーマ・ファイルはネーム・スペース「ｉｎｔｒｏ」によって識別され、このスキーマ・ファイルは＜ｉｎｔｒｏ  ｃａｒｄ＞のルート要素を含む。
【００２４】
スキーマ・ファイル３３０によれば、＜ｉｎｔｒｏ  ｃａｒｄ＞要素は、このスキーマ・ファイルのルート要素としての役目を有し、また、２つの子要素＜ｔｉｔｌｅ＞および＜ｂｏｄｙ＞の親要素としての役目を有する。当業者には周知のように、単一のルート要素の下に数多くの親要素を定義することができ、各親要素の下に数多くの子要素を定義することができる。ただし、通常、所与のスキーマ・ファイル３３０は１つのルート要素のみを収容する。さらに図３を参照すると、スキーマ・ファイル３３０は、それぞれ＜ｔｉｔｌｅ＞要素および＜ｂｏｄｙ＞要素のアトリビュート３４０および３４５も収容する。アトリビュート３４０および３４５はさらに、それぞれの要素を文書３１０内のテキストまたはデータに適用することに関連付けられた定義または規則を提供することができる。例えば、アトリビュート３４５は、＜ｔｉｔｌｅ＞という注釈が付けられたテキストの長さが２５文字より少ないまたはそれに等しくなければならないことを定義する。したがって、２５文字を超える長さのテキストに＜ｔｉｔｌｅ＞要素またはタグという注釈が付けられた場合、そのテキストに試みられた注釈は、スキーマ・ファイル３３０に収容されている定義にしたがって無効になる。
【００２５】
そうした定義または規則をアトリビュートとしてＸＭＬ要素に適用することによって、スキーマの作成者は、所与のスキーマ・ファイルに関連付けられた文書に収容されるデータの構造を規定することができる。例えば、レジューム文書に適用されるＸＭＬマークアップを定義するスキーマ・ファイル３３０の作成者が、レジューム文書の経験セクション（experience section）に現在のまたは過去の４つ未満のジョブ・エントリを含めようと望む場合、スキーマ・ファイル３３０の作成者は、例えば、スキーマ・ファイル３３０にしたがって経験テキストを有効にするために、現在のまたは過去の４つ未満の仕事エントリが＜ｅｘｐｅｒｉｅｎｃｅ＞タグの間に入力されるように、＜ｅｘｐｅｒｉｅｎｃｅ＞要素のアトリビュートを定義することができる。当業者には周知のように、スキーマ・ファイル３３０は、所与の文書３１０に添付されるスキーマ・ファイル内で定義される許容可能なＸＭＬマークアップを適用するために、文書３１０に添付したり、文書３１０に関連付けたりすることができる。一実施形態によれば、添付されたまたは関連するスキーマ・ファイル３３０のＸＭＬ要素によってマークアップされた文書３１０は、添付されたまたは関連するスキーマ・ファイル３３０を特定するネーム・スペースに関連付けられたユニフォーム・リソース識別子（ＵＲＩ）を指し示すことによって、添付されたまたは関連付けられたスキーマ・ファイルを指し示すことができる。
【００２６】
本発明の実施形態によれば、文書３１０は、複数の添付スキーマ・ファイルを有することができる。すなわち、文書３１０の作成者は、複数のスキーマ・ファイルからのＸＭＬマークアップの注釈用のフレームワークを提供するために、複数のスキーマ・ファイル３３０を文書３１０に関連付けるまたは添付することができる。例えば、文書３１０は、財務データに関連するテキストまたはデータを含むことができる。文書３１０の作成者は、複数の金融機関（financial institutions）に関連付けられたＸＭＬマークアップおよび定義を収容するＸＭＬスキーマ・ファイル３３０を関連付けたいと望むかもしれない。この場合、文書３１０の作成者は、１つまたは複数の金融機関からのＸＭＬスキーマ・ファイル３３０を文書３１０に関連付けることができる。同様に、所与のＸＭＬスキーマ・ファイル３３０を、財務データを望ましいフォーマットに置き換えるためのテンプレートなど、特定の文書構造に関連付けることができる。
【００２７】
本発明の実施形態によれば、ＸＭＬスキーマ・ファイルと関連するドキュメント・ソリューションの集合は、文書３１０とは別に配置されるネーム・スペース内またはスキーマ・ライブラリ内で維持することができる。文書３１０は、文書３１０に添付されるかまたはそれに関連付けられた１つまたは複数のスキーマ・ファイルに関連付けられたネーム・スペース内またはスキーマ・ライブラリ内のＵＲＩへのポインタを含むことができる。文書３１０は、１つまたは複数の関連するスキーマ・ファイルからの情報を必要とするので、必要とされるスキーマ定義を得るためにネーム・スペースまたはスキーマ・ライブラリを指し示す。ネーム・スペースまたはスキーマ・ライブラリのオペレーションの利用に関する詳しい説明は、本明細書で完全に説明され、参照により本明細書に組み込まれている、２００２年６月２７日に出願した「System and Method for Providing Namespace Related Information」という名称の米国特許出願公開２００４／００２９３７（米国特許出願第１０／１８４，１９０）号明細書（特許文献３）、および２００２年６月２７日に出願した「System and Method for Obtaining and Using Namespace Related Information for Opening XML Documents」という名称の米国特許出願公開２００４／０２０５４７０（米国特許出願第１０／１８５，９４０）号明細書（特許文献４）を参照されたい。ＸＭＬスキーマ・ファイルや関連する解決策などのソフトウェア・コンポーネントをネーム・スペースまたはスキーマ・ライブラリからダウンロードするための機構に関する詳しい説明は、２００２年６月５日に出願した「Mechanism for Downloading Software Components from a Remote Source for Use by a Local Software Application」という名称の米国特許出願公開２００４／０００３３８７（米国特許出願第１０／１６４，２６０）号明細書（特許文献５）を参照されたい。
【００２８】
さらに図３を参照すると、上記に説明したように、文書３１０に適用されたＸＭＬマークアップを、文書３１０に添付されるかまたはそれに関連付けられたＸＭＬスキーマ・ファイル３３０と突き合わせて検証するためのスキーマ検証機能モジュール（schema validation functionality module）３５０が示されている。上記に説明したように、スキーマ・ファイル３３０は、許容することができるＸＭＬ要素および関連するアトリビュートを設定し、関連するスキーマ・ファイル３３０からのＸＭＬマークアップによる、文書３１０の有効な注釈付けに関する規則を定義する。例えば、スキーマ・ファイル３３０内に示すように、ルート要素または親要素＜ｉｎｔｒｏ  ｃａｒｄ＞の下に２つの子要素＜ｔｉｔｌｅ＞および＜ｂｏｄｙ＞が定義されている。子要素＜ｔｉｔｌｅ＞および＜ｂｏｄｙ＞に関連するテキストの許容される文字列長を定義するアトリビュート３４０および３４５も示されている。上記に説明したように、ユーザが、スキーマ・ファイル３３０に収容されているＸＭＬマークアップの定義に違反して、文書に添付されるかまたはそれに関連付けられたスキーマ・ファイル３３０からのＸＭＬマークアップによって文書３１０に注釈を付けようと試みた場合、無効状態またはエラー状態が提示される。例えば、ユーザが２５文字を超えるタイトル文字列を入力しようと試みた場合、そのテキスト・エントリはスキーマ・ファイル３３０の＜ｔｉｔｌｅ＞要素の最大文字長のアトリビュートに違反することになる。文書３１０に適用されるＸＭＬマークアップを、関連するスキーマ・ファイル３３０と突き合わせて検証するために、スキーマ検証モジュール３５０が利用される。当業者には理解されているように、スキーマ検証モジュール３５０は、ＸＭＬマークアップおよび関連するテキストが文書３１０に入力されたときに、文書３１０に入力されたＸＭＬマークアップおよび関連するテキストと、関連するかまたは添付されたＸＭＬスキーマ・ファイル３３０とを比較するのに十分なコンピュータ実行可能な命令を含むソフトウェア・モジュールである。
【００２９】
本発明の実施形態によれば、スキーマ検証モジュール３５０は、文書３１０に適用される各要素および関連するテキストまたはデータと、添付されたまたは関連するスキーマ・ファイル３３０とを比較して、各ＸＭＬマークアップ要素および関連するテキストまたはデータが、添付されたスキーマ・ファイル３５０によって設定された規則および定義に準拠するかどうかを決定する。例えば、ユーザが＜ｔｉｔｌｅ＞要素３２０という注釈が付けられた２５文字を超える文字列を入力しようと試みた場合、スキーマ検証モジュールは、そのテキスト文字列と、添付されたスキーマ・ファイル３３０のテキスト文字列アトリビュート３４０とを比較し、ユーザによって入力されたテキスト文字列が最大許容可能テキスト文字列長を超えていると決定する。したがって、ユーザによって入力されたテキスト文字列が、添付されたスキーマ・ファイル３３０による最大許容可能文列長を超えていることをユーザに警告するためのエラー・メッセージまたはエラー・ダイアログがユーザに提示される。同様に、ユーザが＜ｔｉｔｌｅ＞要素と＜ｂｏｄｙ＞要素の間にＸＭＬマークアップ要素を追加しようと試みた場合、スキーマ検証モジュール３５０は、ユーザによって適用されたＸＭＬマークアップ要素が、添付されたスキーマ・ファイル３３０によって＜ｔｉｔｌｅ＞要素と＜ｂｏｄｙ＞要素の間で許容される有効な要素ではないと決定する。したがって、スキーマ検証モジュール３５０は、無効なＸＭＬマークアップをユーザに警告するための、エラー・メッセージまたはエラー・ダイアログをユーザ向けに生成する。
【００３０】
文脈自由な文書のテキストおよびデータの部分  
上記に簡単に説明したように、本発明の実施形態は、テキストまたはデータの部分を文書に挿入する方法およびシステムを提供し、そのテキストまたはデータの挿入される部分は、それと共に、それ自体に特有のフォーマット、および指定されたスタイル、フォント、リストタイプなどのスタイル・プロパティを運ぶ。図４は、本発明の実施形態による第１の文書と第２の文書との間の対話を示し、この対話では、テキスト部分が第２の文書から第１の文書にコピーまたは移動されることを示す構成図である。図５は、本発明の実施形態による第１の文書と第２の文書との間の対話を示し、この対話では、テキストの部分が第２の文書から第１の文書にコピーまたは移動されることを示す構成図である。文書から文書にテキストの部分をコピーまたは移動するという観点から本発明を説明するが、それは例にすぎないことを理解されたい。文書から文書にテキストをコピーまたは移動することに加えて、テキスト部分の自己記述型のプロパティを用いると、ファイルを解析および操作しようと望む、またはそれを必要とするユーザおよびソフトウェア・アプリケーションが、文書全体またはファイル全体に関連するプロパティを管理するために文書全体を解析する必要なく、そのファイルまたは文書の部分に十分な編集を適用することを可能にする。
【００３１】
図４を参照すると、文書４１０および文書４２０が、本発明の実施形態にしたがって、テキスト部分がどのように文書４２０から文書４１０にコピーされるかを説明するように示してある。第１の文書４１０はタイトルと２つの段落を有する。また、文書４３５に適用されているＸＭＬ（拡張マークアップ言語）構造を示す、文書４１０用のＸＭＬ構造ペイン（pane）４２５も示されている。例えば、＜ｔｉｔｌｅ＞要素が文書４３５のタイトルに適用され、＜ｐａｒａｇｒａｐｈ  １＞要素が文書４３５の第１段落に適用され、＜ｐａｒａｇｒａｐｈ  ２＞要素が文書４３５の第２段落に適用されている。第２の文書４２０も、同様にＸＭＬ構造によってマークアップされている文書４４０を含む。文書４２０用のＸＭＬ構造ペイン４３０が示されている。
【００３２】
本発明の実施形態によれば、第２の文書のテキストまたはデータの部分は、そのスタイルおよび他のフォーマット・プロパティが、そのテキストまたはデータの部分と共にある文書から他の文書に運ばれるように、第１の文書にコピーまたは移動することができる。したがって、第１の文書に挿入されるテキストの部分に関連付けられたスタイルまたはフォーマット・プロパティを、第１の文書に関連付けられたスタイルまたは他のフォーマット・プロパティと突き合わせて解決する必要はない。例えば、図４に示すように、第１の文書は、その第１の文書に関連付けられたスタイルおよび他のフォーマット・プロパティを参照するためのヘッダ情報プロパティ要素を有することができる。すなわち、第１の文書のユーザまたは作成者は、第１の文書用に１組のスタイルまたはフォーマット・プロパティのセットを規定することができる。上記に説明したように、従来技術のシステムによれば、ユーザが第２の文書４２０の第２段落４５５を第１の文書４１０にコピーしたいと望む場合、第２の文書４２０内の第２段落４５５に関連するスタイルまたはフォーマット情報が、第１の文書４１０の文書レベルで含まれているスタイルまたはフォーマット情報とコンフリクトすることがある。
【００３３】
例えば、第１の文書４１０は、ボールド体とイタリック体のフォーマットが文書４３５に適用されるようにする「Ｈｅａｄｅｒ  １」と呼ばれるスタイルを有していることがある。一方、第２の文書４２０の作成者は、同様に、第２の文書を含む第２段落４５５をボールド体は含むがイタリック体は含まないようにフォーマットするためにスタイル指定子「Ｈｅａｄｅｒ  １」を使用していることがある。第２の文書４２０の第２段落４５５が第１の文書４１０にコピーされる場合、第２の文書に適用されているスタイルが、第１の文書４１０内の文書に適用されているスタイルとコンフリクトすることになる。したがって、第１の文書４１０のユーザは、挿入されるテキストまたはデータに適用されているスタイルに変更を加えて、２つのスタイルの対立を回避するために、第１の文書４１０に適用されているＸＭＬ構造のヘッダ情報プロパティ要素を手動で解析することが必要になる。
【００３４】
本発明の実施形態によれば、所与のテキストまたはデータの部分への特定のスタイルまたはフォーマットの適用がそのテキストまたはデータの部分と共に第１の文書に運ばれるように、第２の文書４２０の第２段落４５５などの、文書の指定されたテキストおよびデータの部分としてスタイル・マークアップを適用するためのＸＭＬスキーマが、提供される。ＸＭＬマークアップを特定のテキストまたはデータの選択（抽出）に適用することによって、第１の文書が挿入されるテキストまたはデータの部分に適用されているスタイル・マークアップまたはフォーマット・マークアップへのアクセス権を有する限り、第１の文書は、挿入されるテキストまたはデータの部分にコンフリクトのないスタイルまたはフォーマット・プロパティが適用されることを必要としない。
【００３５】
図５を参照すると、第１の文書４１０に挿入するテキスト部分５１０およびテキスト部分５２０が示してある。本発明の実施形態によれば、各テキスト部分５１０および５２０は、文、段落、複数の段落、文または段落の断片、英数字データ、あるいは任意の他のネイティブ・オブジェクトであってもよい。理解されるように、第２の文書４２０の作成者は、それ自体のスタイルまたは他のフォーマット・プロパティを一緒に運ぶ特定のテキストまたはデータの部分を指定するために、下記に説明するように、ＸＭＬ要素を定義する文脈自由なテキスト部分のスキーマにしたがって、第２の文書を拡張マークアップ言語データによってマークアップする。実際に、テキストの部分５１０および５２０はそれぞれ、第１の文書４１０に挿入される「ミニ」文書であり、それ自体のスタイルおよびフォーマット・プロパティを運ぶ「ミニ」文書になり、この「ミニ」文書は、文書４１０上で動作するＸＭＬ解析アプリケーションによってメイン文書４１０とは別に扱われることができる
第２段落４５５や図５に示すテキスト部分５１０および５２０のいずれかなど、テキストまたはデータの部分は、様々なソフトウェア・アプリケーションから利用可能な従来のカット／コピーおよびペースト方法にしたがって、第２の文書から第１の文書にコピーおよびペースト、あるいはカット・アンド・ペーストされることができることを理解されたい。あるいは、様々な拡張マークアップ言語解析アプリケーションにしたがって、ユーザは、同様に、ＸＭＬ構造ペイン４３０から適切なＸＭＬノードを選択し、そのＸＭＬノードを第１の文書のＸＭＬ構造にコピーすることによって、テキストまたはデータの部分を第２の文書から第１の文書に挿入することもできる。すなわち、第２の文書４２０のＸＭＬ構造４３０から＜ｐａｒａｇｒａｐｈ  ２＞ノード４６０を選択し、そのノードを第１の文書４１０のＸＭＬ構造に移動することによって、第２段落４５５のＸＭＬマークアップおよび関連するテキストまたはデータを、本明細書で説明するように、それ自体のスタイルおよび他のフォーマット・プロパティと共に第１の文書に挿入することができる。
【００３６】
本発明の実施形態の動作についてさらに説明するために、以下のＸＭＬ構造が、以下の２つの段落を有する簡単な文書に関連している。  
【００３７】
段落  １：  Ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ  ｊｕｍｐｓ  ｏｖｅｒ  ｔｈｅ  ｌａｚｙ  ｄｏｇ．  
段落  ２：  Ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ  ｊｕｍｐｓ  ｏｖｅｒ  ｔｈｅ  ｌａｚｙ  ｄｏｇ．
【００３８】
以下のＸＭＬ構造に見ることができるように、“Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ”のフォントおよび“Ｄｅｆａｕｌｔ  Ｐａｒａｇｒａｐｈ  Ｆｏｎｔ”のスタイル識別子が２つの段落に適用されている。この２つの段落の実際のテキストも、以下のＸＭＬ構造に示されている。
【００３９】
【表１】
2006178950.tif 000003
【００４０】
【表２】
2006178950.tif 000004
【００４１】
本発明の実施形態にしたがって、例えば、挿入される段落が以下のような最終の文書を形成するように、ユーザが「Ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ  ｊｕｍｐｓ  ｏｖｅｒ  ｔｈｅ  ｌａｚｙ  ｄｏｇ」という第３の段落を文書に挿入する場合について考える。  
【００４２】
段落１：  Ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ  ｊｕｍｐｓ  ｏｖｅｒ  ｔｈｅ  ｌａｚｙ  ｄｏｇ．  
段落２：  Ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ  ｊｕｍｐｓ  ｏｖｅｒ  ｔｈｅ  ｌａｚｙ  ｄｏｇ．  
段落３：  Ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ  ｊｕｍｐｓ  ｏｖｅｒ  ｔｈｅ  ｌａｚｙ  ｄｏｇ．
【００４３】
以下は、文書の最初の２つの段落に通常のデフォルト・スタイルが適用されている、最初の２つの段落を示すＸＭＬ構造の例である。この例によれば、以下のＸＭＬ構造に示されているように、ユーザは、“Ｍｙ  Ｓｔｙｌｅ”と呼ばれるスタイルの下で、イタリック体の第３段落を文書に挿入する。この段落は、ネイティブのワードプロセッシング・アプリケーションの外側の環境で挿入されているので、“Ｍｙ  Ｓｔｙｌｅ”スタイルが存在することをチェックするロジックは手動で行われなければならない。ＸＭＬファイルを解析して、そのスタイル宣言の正確な位置を見つけ、次いで、そのスタイル宣言を解析して、対立がないことを保証しなければならない。これが行われると、“Ｍｙ  Ｓｔｙｌｅ”宣言を入力することができる。“Ｍｙ  Ｓｔｙｌｅ”宣言が入力されると、次いで、再びＸＭＬファイルを解析して、段落自体の正確な位置を見つけなければならない。“Ｍｙ  Ｓｔｙｌｅ”宣言との対立がなかったので、挿入された段落は依然として“Ｍｙ  Ｓｔｙｌｅ”スタイルを参照することができる。そうでない場合は、正確なスタイルを参照するために段落自体を改変しなければならない。
【００４４】
【表３】
2006178950.tif 000005
【００４５】
【表４】
2006178950.tif 000006
【００４６】
【表５】
2006178950.tif 000007
【００４７】
上記に説明したように、本発明の実施形態によれば、文書の特定のテキストまたはデータの部分に適用されているスタイルまたは他のフォーマット・プロパティが、そのテキストまたはデータの部分が挿入される文書に関連付けられた残りのスタイルまたはフォーマット・プロパティとは別に扱われるように、その特定のテキストまたはデータの部分をマークアップし記述するのに使用することができるＸＭＬ要素を提供するＸＭＬスキーマが提供される。テキストまたはデータの部分が挿入される文書が、その文書に挿入されるテキストまたはデータの部分に関連付けられたＸＭＬスキーマを理解することができるアプリケーションによって操作される限り、挿入されるテキストまたはデータの部分をラップするそのＸＭＬ要素は理解されることになる。
【００４８】
以下は、本発明の実施形態による、イタリック体の第３段落「Ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ  ｊｕｍｐｓ  ｏｖｅｒ  ｔｈｅ  ｌａｚｙ  ｄｏｇ」の追加を示すＸＭＬ構造の例である。以下のＸＭＬ構造に示されているように、“Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ”と“Ｄｅｆａｕｌｔ  Ｐａｒａｇｒａｐｈ  Ｆｏｎｔ”のスタイル識別子を有する最初の２つの段落が文書に含まれている。ただし、以下のＸＭＬ構造に示されているように、この文書に挿入されている第３段落は、＜ｃｆＣｈｕｎｋ＞と呼ばれるＸＭＬ要素でラップされている。理解されるはずであるが、要素＜ｃｆＣｈｕｎｋ＞は、本発明の実施形態にしたがって、この特定のＸＭＬ構造の作成者によって、この要素に提供することが可能な無数の名前の一例である。理解されるように、この要素は同様に、文脈自由部分（context free portion）、ｃｆＰｏｒｔｉｏｎ、文脈自由なデータ、ｃｆＤａｔａなどと呼ばれることもある。“Ｍｙ  Ｓｔｙｌｅ”のスタイル識別子を有し“ｉｔａｌｉｃｓ”のフォント識別子を有する第３段落「Ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ  ｊｕｍｐｓ  ｏｖｅｒ  ｔｈｅ  ｌａｚｙ  ｄｏｇ」が、要素＜ｃｆＣｈｕｎｋ＞内に含まれている。
【００４９】
本発明の実施形態によれば、第３段落「Ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ  ｊｕｍｐｓ  ｏｖｅｒ  ｔｈｅ  ｌａｚｙ  ｄｏｇ」が第２の文書から第１の文書にコピーまたは移動されるとき、移動されるテキストまたはデータの部分は、ＸＭＬスキーマ・ファイルを指し示すまたは参照する。このＸＭＬスキーマ・ファイルは、テキストまたはデータの部分をラップしそのテキストまたはデータの部分と共にそれ自体の個々のスタイルまたは他のフォーマット・プロパティを運ぶのに利用される＜ｃｆＣｈｕｎｋ＞要素を含み、このＸＭＬスキーマ・ファイルにしたがってＸＭＬ要素に関連付けられた文法上のおよび他の定義の規則にアクセスする、第１の文書のアクセスに関連付けられたＸＭＬ解析アプリケーションを規定する。したがって、第１の文書のＸＭＬ解析アプリケーションが要素＜ｃｆＣｈｕｎｋ＞と出会うとき、そのアプリケーションは関連するＸＭＬスキーマを参照して、その＜ｃｆＣｈｕｎｋ＞要素内にラップされている構造に含まれているスタイルおよび他のフォーマット指定子が、第１の文書に挿入され＜ｃｆＣｈｕｎｋ＞要素に関連付けられているテキストまたはデータの部分だけに扱われることを知ることができる。したがって、本発明の実施形態にしたがって、第３段落が第１の文書に挿入されるとき、以下のＸＭＬ構造の例に示されているように、そのテキストの部分に関連付けられたスタイルおよび他のフォーマット・プロパティは、そのテキストの部分が挿入される文書に関連付けられたスタイルまたは他のフォーマット・プロパティとコンフリクトする可能性とは無関係に、挿入されるテキストまたはデータの部分を受け取るアプリケーションによって引き受けられる。このアプリケーションは、すべてのコンフリクトも解決し、段落のスタイル参照を適切なスタイルと正確に関連付けるために必要な作業を行う。
【００５０】
【表６】
2006178950.tif 000008
【００５１】
【表７】
2006178950.tif 000009
【００５２】
【表８】
2006178950.tif 000010
【００５３】
【表９】
2006178950.tif 000011
【００５４】
代替のファイル・フォーマットを有する文脈自由な文書部分  
上記に説明したように、従来の方法およびシステムによれば、データまたはコンテンツの部分が、受け取り側の文書として異なるファイル・フォーマットを有する文書に追加されるとき、受け取り側の文書は、受け取った部分が、スタイル、フォントなどを含む適切なフォーマット・プロパティによって正確に表示される態様で、受け取った部分を処理できない可能性がある。あるいは、受け取った部分が受け取り側の文書と異なるフォーマット・タイプを有するとき、受け取り側の文書は、受け取った部分を完全にはロードできないことがある。例えば、ＨＴＭＬ（ハイパー・テキスト・マークアップ言語）にしたがってフォーマットされたデータの部分が、ＸＭＬ（拡張マークアップ言語）にしたがってフォーマットされた文書にコピーされる場合、その文書を処理し表示する役目を有するアプリケーションが受け取ったコンテンツの部分が何であるかを理解できないので、ＨＴＭＬの部分がロードされない可能性がある。図４および５を参照しながら上記に説明したように、テキストまたはデータの受け取った部分は＜ｃｆＣｈｕｎｋ＞ＸＭＬタグでラップされることが可能であり、そのテキストまたはデータの部分に適用されているＸＭＬ注釈は、テキストまたはデータの受け取った部分に関連するスタイル、フォントなどのフォーマット情報を識別する。その結果、受け取り側のＸＭＬ表示の文書は、その文書が立ち上げられたときに、およびテキストまたはデータの受け取った部分が立ち上げられた文書に統合（すなわち、マージ、コピー、移動、リンク）されるとき、テキストまたはデータの受け取った部分に適用されるべきフォーマット・プロパティを確かめるまたは解決することができる。
【００５５】
本発明の他の実施形態によれば、ＸＭＬ＜ｃｆＣｈｕｎｋ＞注釈が、テキスト、データ、または他のコンテンツの受け取った部分に適用され、これは、自己記述型のプロパティを提供し、これは、テキスト、データ、または他のコンテンツの受け取ったまたは参照される部分に関連する代替のファイル・フォーマット・タイプに関して受け取り側の文書およびアプリケーションに通知して、受け取り側のＸＭＬ表示の文書に、受け取った部分が、受け取り側の文書用に利用されているのとは異なるファイル・フォーマット・タイプであることを通知する。図６は、本発明の実施形態にしたがって、自己記述型の代替のファイル・フォーマットを有する文脈自由なコンテンツ部分の、ＸＭＬベースの文書への挿入を示す簡略化した構成図である。図６に示すように、ＸＭＬ表示の文書６１０、例えばメモや記事などのワードプロセッシング文書、が示されている。ＸＭＬ文書６１０は、文書に適用される様々なＸＭＬ構造を有すると示されている。例えば、＜ｈｅａｄｉｎｇ＞タグ６１５が、文書に入力されるべきヘディング情報を構造化するために文書に適用されている。＜Ｂｏｄｙ＞タグ６２０が、文書６１０の本文に挿入されるべきテキスト、データ、または他のコンテンツを構造化するために文書に適用されている。当業者には理解されているように、図６に示すＸＭＬ構造の例は、適切に形成されたＸＭＬタグおよび関連する構造を表すことを意味するものではない。図６に示すＸＭＬ構造および情報の例は、例示的なものにすぎない。
【００５６】
さらに図６を参照すると、３つの＜ｃｆＣｈｕｎｋ＞タグ６２５、６３０、６３５が、＜Ｂｏｄｙ＞タグ６２０内でＸＭＬ文書６１０に適用されている。本発明の実施形態によれば、＜ｃｆＣｈｕｎｋ＞タグ６２５、６３０、６３５は、テキスト、データまたは他のコンテンツの受け取った部分が、ＸＭＬ文書６１０に対して自己記述型になるようにする文脈自由な方式で、受け取った部分に注釈を付けるために利用されている。図４および５を参照しながら上記に説明したように、ＸＭＬ文書６１０を生成および／または編集したアプリケーションは、使用するアプリケーションに統合された、または使用するアプリケーションによって呼び出されるＸＭＬ解析アプリケーションで、ＸＭＬ文書６１０に適用されるＸＭＬ構造を解析するＸＭＬ解析アプリケーションを呼び出す。
【００５７】
本発明の実施形態によれば、ＸＭＬ解析アプリケーションが、それぞれ部分６４０、６４５、６５０に関連するＸＭＬ＜ｃｆＣｈｕｎｋ＞タグ６２５、６３０、６３５を解析するとき、この解析アプリケーションは、それぞれのコンテンツの受け取った部分に適用されている、指定されたファイル・フォーマット・タイプおよびフォーマット情報を決定する。例えば、ＸＭＬ文書６１０の本文に挿入されるべき第１の受け取った部分６４０は、＜ｃｆＣｈｕｎｋ１＞タグに関連しており、その受け取った部分のファイル・フォーマット・タイプをＨＴＭＬとして識別する。「ｓｔｙｌｅ：  １」のスタイルタイプも識別される。したがって、アプリケーション、例えばＸＭＬ文書６１０を生成し編集し表示する役目を有するワードプロセッシング・アプリケーション１２５は、文書６１０に適用されているＸＭＬ構造を解析することによって、挿入されたコンテンツ部分６４０がＨＴＭＬにしたがってフォーマットされており、「ｓｔｙｌｅ：  １」のフォーマット・タイプを有することを知る。したがって、ＸＭＬ表示の文書６１０を生成および／または編集するのに使用されているアプリケーションは、受け取った部分に関連付けられたファイル・フォーマット・タイプおよびスタイルにしたがって、受け取ったコンテンツ部分６４０を処理することができる。例えば、受け取った部分６４０に関して、受け取り側のアプリケーションは、受け取った部分がハイパー・テキスト・マークアップ言語にしたがって処理され、読み取られ、表示されなければならないこと、あるいは、受け取った部分がＨＴＭＬファイル・フォーマットから、受け取り側のアプリケーションによる処理に適した別のファイル・フォーマット・タイプに変換されなければならないことを知ることになる。同様に、受け取り側のアプリケーションは、受け取った部分が、「ｓｔｙｌｅ：  １」の識別されたフォーマット・プロパティに関連付けられた、例えばフォント、スタイルなどのフォーマット・プロパティによって表示されなければならないことを知ることになる。
【００５８】
図６に示すように、第２の受け取ったコンテンツ部分６４５が示されている。第２の受け取った部分６４５は、「ｓｔｙｌｅ：  ４」として識別されたスタイルで、リッチ・テキスト・フォーマット（ＲＴＦ）のファイル・フォーマット・タイプを有するものとして示されている。受け取った部分６４０のように、コンテンツの受け取った部分を自己記述するのに使用されている情報は、受け取った部分に関連付けられたファイル・フォーマット・タイプを理解し、受け取ったコンテンツに適用されているすべての関連するフォーマット・プロパティを理解するために、受け取り側の、または使用する側のアプリケーションによって利用することができる。同様に、第３の受け取った部分６５０が、関連するバイナリ・ファイル・フォーマット・タイプおよび「ｓｔｙｌｅ：  ２」の関連するスタイルを有するように示されている。他の受け取ったコンテンツ部分も同様に、受け取り側のまたは使用する側のアプリケーションは、受け取るコンテンツ部分を受け取って処理するために、識別されたファイル・フォーマット・タイプ、および識別されたスタイル・プロパティなどの他の情報を利用することができる。
【００５９】
この実施形態によれば、受け取り側のまたは使用する側のアプリケーション、例えばワードプロセッシング・アプリケーションは、コンテンツの受け取った部分に関連付けられたファイル・フォーマット・タイプを考慮して、そうした部分を利用することができる。従来の方法およびシステムによれば、受け取った部分は、受け取り側のアプリケーションによってロードされない可能性があり、あるいは、受け取った部分が受け取り側のアプリケーションによってうまくロードされた場合であっても、関連するテキスト、データ、または他のコンテンツが間違って処理される可能性がある。例えば、受け取った部分が不満足な形で表示されることがある。受け取り側のアプリケーションは、受け取ったコンテンツの元のファイル・フォーマット・タイプを確かめることができるので、受け取ったコンテンツを変換したり、および受け取ったコンテンツを理解し、使用し、利用するのに必要なソフトウェア・プログラミングを呼び出すなど、適切なアクションを取ることができる。例えば、受け取ったコンテンツがＨＴＭＬにしたがってフォーマットされている場合、受け取り側のアプリケーションは、受け取ったコンテンツを利用する前にそのコンテンツを変換するか、あるいは、受け取り側のアプリケーションは、例えば受け取ったコンテンツを表示するなど、それを利用するのに必要なコードにアクセスすることができる。したがって、本発明の実施形態によれば、図４および５を参照しながら上記に説明したように、受け取り側のアプリケーションが受け取ったコンテンツの関連するフォーマット・プロパティを解決するとき、受け取り側のアプリケーションは、受け取ったコンテンツに関連付けられた代替のファイル・フォーマット・タイプを解決することもできる。
【００６０】
本発明の一実施形態によれば、本明細書で説明するコンテンツ部分を受け取るまたは使用するソフトウェア・アプリケーション、例えばワードプロセッシング・アプリケーション、スプレッドシート・アプリケーション、スライド・プレゼンテーション・アプリケーション、デスクトップ・パブリッシング・アプリケーションなどは、同様に、他のアプリケーションによる使用のために、データの文脈自由な部分６４０、６４５、６５０を作成または生成することができる。データの部分がそうしたアプリケーションによって保存されるとき、または他の文書によって操作される文書にペーストするためにデータの部分がコピーされるとき、文脈自由な部分を生成するのに使用されているアプリケーションは、＜ｃｆＣｈｕｎｋ＞注釈をデータに適用することができ、そのアプリケーションは、データの部分に関連付けられたファイル・フォーマットを識別するためのプロパティ、およびフォーマットなど（例えばボールド体、イタリック体、フォントなど）の他のプロパティを、そのデータの部分に保存することができる。例えば、文脈自由な部分６４０、６４５、６５０を生成するアプリケーションが、ＨＴＭＬフォーマットにしたがってデータを生成する場合、他のアプリケーションによって使用されるために生成されるデータの文脈自由な部分は、そのデータの文脈自由な部分に関連付けられたファイル・フォーマットとしてＨＴＭＬを識別するように注釈を付けることができる。使用する側のアプリケーションがそのデータを受け取るとき、上記に説明したように、使用する側のアプリケーションは、生成アプリケーションによってそのデータの部分に適用されている関連するファイル・フォーマットおよび他のフォーマット・プロパティにしたがって、その文脈自由な部分を読み取り、使用することができる。
【００６１】
次に図７を参照すると、本発明の他の実施形態によれば、受け取り側の文書７１０および１つまたは複数の受け取ったコンテンツ部分７３０、７３５、７４０を、電子ファイル・コンテナ７００に収容することができる。例えば、ファイル・コンテナ７００は、．ｚｉｐファイル・フォーマットなどのファイル・フォーマットを表すことができる。実施形態によれば、ファイル・コンテナ７００が選択されるまたは開かれる場合、受け取り側のＸＭＬ文書７１０および関連するそれぞれのコンテンツ部分７３０、７３５、７４０を識別し、視覚的に別のファイルとして表現することができる。この実施形態によれば、図６を参照しながら上記に説明したように、それぞれの受け取ったコンテンツ部分７３０、７３５、７４０は、受け取り側の文書７１０にきちんと挿入されないかまたは取り込まれないが、代わりに、受け取り側の文書７１０は、受け取ったコンテンツ部分を利用するために、受け取ったコンテンツ部分を指し示し、受け取り側の文書７１０および受け取り側の文書７１０を処理する役目を有するアプリケーションに、情報を提供する関係性ファイル（relationship file）７５０を参照する。
【００６２】
図７に示すように、ＸＭＬ文書７１０は、作成者および／または編集者によって生成された受け取り側の文書を表し、コンテンツ部分７３０、７３５、７４０は、受け取り側の文書７１０とマージする、受け取ったコンテンツ部分を表す。受け取り側の文書７１０は、３つのコンテンツ参照７１５、７２０、７２５を含む。本発明の実施形態によれば、ファイル・コンテナ７００は、関係性ファイル７５０にリンクされており、この関係ファイルは、受け取り側の文書７１０と、例えばワードプロセッシング・アプリケーション、スプレッドシート・アプリケーション、スライド・プレゼンテーション・アプリケーションなど、受け取り側の文書のアプリケーションによる文書のロード時および／または立ち上げ時に、受け取り側の文書７１０とマージされるべき、受け取ったコンテンツ部分との間の関係性を示す関係ツリーを収容する。
【００６３】
関係性ファイル７５０を参照すると、ＸＭＬ文書７１０で識別された各コンテンツ参照は、関連する受け取ったコンテンツ部分を指し示す。本発明の実施形態によれば、例えば、ワードプロセッシング・アプリケーション、スプレッドシート・アプリケーション、スライド・プレゼンテーション・アプリケーションなど、受け取り側の文書７１０を操作する役目があるソフトウェア・アプリケーションが受け取り側の文書７１０をロードするとき、例えばＸＭＬパーサなど、関連する解析アプリケーションによって、文書７１０が、それに適用されている構造について、解析される。各参照７１５、７２０、７３０が解析されるとき、受け取り側のアプリケーションは、どの受け取ったまたは関連するコンテンツ部分が、識別された参照によって指し示されているかを決定するために、関係ファイル７５０を参照する。例えばＸＭＬ文書７１０が解析されるとき、第１の参照７１５が第１のコンテンツ部分７３０を指し示していることがわかり、それは、例えばＨＴＭＬのファイル・フォーマット・タイプを有するコンテンツ部分である。第２の参照７２０がＸＭＬ文書７１０で解析されるとき、関係ファイル７５０への参照は、第２の参照７２０がＲＴＦのファイル・フォーマットを有する第２の受け取ったコンテンツ部分７３５を指し示すと決定する。同様に、第３の参照７２５が受け取り側の文書７１０で解析されるとき、関連する関係ファイル７５０への参照は、第３の参照７２５が、バイナリ・ファイル・フォーマット・タイプを有する第３の受け取った部分７４０を指し示すことを教える。参照されるコンテンツに関連付けられたファイル・フォーマット・タイプなど、すべての情報が解決されると、受け取り側のアプリケーションは、指し示されたコンテンツ部分を受け取り側の文書とマージして、マージされた文書を表示することができる。図７を参照しながら説明した、文書の構成要素の包含および関連付けに関する詳しい議論については、本明細書で完全に説明され、参照により本明細書に組み込まれている、２００４年１２月２０日に出願した「Improved Management and Use Of Data In A Computer-Generated Document」という名称の米国特許出願、Attorney Docket No.60001.0440US01、Applicant Docket No.309861.01、米国特許出願第＿を参照されたい。
【００６４】
本明細書に説明するように、テキストまたはデータの部分を文書に挿入する、あるいはテキストまたはデータの部分を文書と関連付けるための方法およびシステムが提供される。この方法およびシステムでは、受け取り側のアプリケーションがそのテキストまたはデータの部分を正確に処理できるように、テキストまたはデータの挿入されるまたは関連する部分が、それと共にそれ自体のファイル・フォーマット・タイプおよび指定されたスタイル、フォント、リストタイプなどの他のフォーマット・プロパティを運ぶ。本発明において様々な変更および変形が、本発明の趣旨および範囲を逸脱することなく行えることが当業者には明らかであろう。本発明の他の実施形態は、本明細書で開示された本発明の仕様および実施の検討から、当業者には明らかになるであろう。
【図面の簡単な説明】
【００６５】
【図１】本発明の例示的なオペレーティング環境を提供するコンピューティング・システムおよび関連する周辺装置およびネットワーク装置の簡略化した構成図である。
【図２】オブジェクト指向のプログラミング・モデルによるソフトウェア・オブジェクト間の対話を示す簡略化した構成図である。
【図３】文書と添付されたスキーマ・ファイルとスキーマ検証機能モデルとの間の対話を示す構成図である。
【図４】本発明の実施形態による、テキストの部分が第２の文書から第１の文書にコピーまたは移動される、第１の文書と第２の文書との間の対話を示す構成図である。
【図５】本発明の実施形態による、テキストの部分が第２の文書から第１の文書にコピーまたは移動される、第１の文書と第２の文書との間の対話を示す構成図である。
【図６】本発明の実施形態による、自己記述型の代替のファイル・フォーマットを有する文脈自由な文書部分または構成要素の、ＸＭＬに基づく文書への挿入を示す簡略化した構成図である。
【図７】本発明の実施形態にしたがって、ＸＭＬに基づく文書とマージするために様々なまたは代替のファイル・フォーマットを有する文脈自由な文書部分または構成要素を参照する、ＸＭＬに基づく文書を示す簡略化した構成図である。
【符号の説明】
【００６６】
２    パーソナル・コンピュータ
４    中央処理装置
６    システム・メモリ
８    ランダム・アクセス・メモリ
１０    読み取り専用メモリ
１４    大容量記憶装置
１６    オペレーティング・システム
１８    ＴＣＰ／ＩＰネットワーク
２０    ネットワーク・インターフェース・ユニット
２２    入出力コントローラ
２６    言語設定
３０５    アプリケーション・プログラム
３１０    文書
３３０    スキーマ・ファイル
４００    ネーム・スペース・ライブラリ
２１０  コード、メソッド、属性、パラメータ
２２０  コード、メソッド、属性、パラメータ
３０５  文書
３３０  添付されたスキーマ
３５０  スキーマ検証機能
４１０    文書１
４２０    文書２
４１０    文書１
４２０    文書２
５１０    部分の属性
５２０    部分の属性
６１０    ＸＭＬ文書
６４０    フォーマット：ＨＴＭＬ
６４５    フォーマット：ＲＴＦ
６５０    フォーマット：バイナリ
７１０    ＸＭＬ文書
７１５    参照１
７２０    参照２
７２５    参照３
７４０  （バイナリ）
７００    ファイル／コンテナの構成要素の関係
【図１】
2006178950.tif 000012
【図２】
2006178950.tif 000013
【図３】
2006178950.tif 000014
【図４】
2006178950.tif 000015
【図５】
2006178950.tif 000016
【図６】
2006178950.tif 000017
【図７】
2006178950.tif 000018