(57)【要約】【課題】  ユーザー／プログラマがリソースをカスタマイズし、その他操作のため、ＸＭＬリソースのネーム空間あるいはスキーマライブラリにアクセスし、ソフトウェアアプリケーションドキュメントとのユーザー／プログラマのＸＭＬ機能の効用を高める。【解決手段】  プログラム可能なオブジェクトモデルによって、ユーザーは、ＸＭＬスキーマファイルおよび関連するＸＭＬベースのリソースを含むネーム空間あるいはスキーマライブラリを、そのスキーマファイルおよびＸＭＬベースのリソースを１つあるいは複数のドキュメントに関連付けるために、および、そのスキーマファイルおよびＸＭＬベースのリソースに関連付けられた機能をカスタマイズするために、プログラムでアクセスし利用する。【選択図】  図４
2005174340.tif 000002
【特許請求の範囲】
【請求項１】
拡張可能なマークアップ言語（ＸＭＬ）のスキーマライブラリのリソースにアクセスするプログラム可能なオブジェクトモデルにおいて、
ＸＭＬスキーマライブラリにおいて識別されたリソースにユーザーがプログラムでアクセスすることを可能にするアプリケーション・プログラミング・インタフェースと、
前記アプリケーション・プログラミング・インタフェースが、ドキュメントに適用されたＸＭＬマークアップへのＸＭＬスキーマファイルの関連付けを要求するメッセージ呼び出しを備えることと、および
前記アプリケーション・プログラミング・インタフェースが、前記ドキュメントに適用された前記ＸＭＬマークアップへの前記ＸＭＬスキーマファイルの関連付けに対応して、前記ＸＭＬスキーマライブラリから返却値を受け取るよう機能することと、
を備えることを特徴とするプログラム可能なオブジェクトモデル。
【請求項２】
前記アプリケーション・プログラミング・インタフェースがさらに、前記ドキュメントに適用される前記ＸＭＬマークアップへの前記ＸＭＬスキーマファイルの関連付けの削除を要求するメッセージ呼び出しを備えること、および
前記アプリケーション・プログラミング・インタフェースがさらに、前記ドキュメントに適用される前記ＸＭＬマークアップへの前記ＸＭＬスキーマファイルの前記関連付けの削除に対応して、前記ＸＭＬスキーマライブラリから返却値を受け取るよう機能すること、
を特徴とする請求項１に記載のプログラム可能なオブジェクトモデル。
【請求項３】
拡張可能なマークアップ言語（ＸＭＬ）のスキーマライブラリのリソースにアクセスするプログラム可能なオブジェクトモデルにおいて、
ＸＭＬスキーマライブラリにおいて識別されたリソースにユーザーがプログラムでアクセスすることを可能にするアプリケーション・プログラミング・インタフェースと、
前記アプリケーション・プログラミング・インタフェースが、ドキュメントに適用されるＸＭＬマークアップへのＸＳＬＴ変換の関連付けを要求するメッセージ呼び出しを備えることと、および
前記アプリケーション・プログラミング・インタフェースが、前記ドキュメントに適用される前記ＸＭＬマークアップへの前記ＸＳＬＴ変換の関連付けに対応して、前記ＸＭＬスキーマライブラリから返却値を受け取るよう機能することと、
を備えることを特徴とするプログラム可能なオブジェクトモデル。
【請求項４】
前記アプリケーション・プログラミング・インタフェースがさらに、前記ドキュメントに適用される前記ＸＭＬマークアップへの前記ＸＳＬＴ変換の関連付けの削除を要求するメッセージ呼び出しを備えること、および
前記アプリケーション・プログラミング・インタフェースがさらに、前記ドキュメントに適用される前記ＸＭＬマークアップへの前記ＸＳＬＴ変換の前記関連付けの削除に対応して、前記ＸＭＬスキーマライブラリから返却値を受け取るよう機能すること、
を特徴とする請求項３に記載のプログラム可能なオブジェクトモデル。
【請求項５】
拡張可能なマークアップ言語（ＸＭＬ）のスキーマライブラリのリソースにアクセスするプログラム可能なオブジェクトモデルにおいて、
ＸＭＬスキーマライブラリにおいて識別されたリソースにユーザーがプログラムでアクセスすることを可能にするアプリケーション・プログラミング・インタフェースと、
前記アプリケーション・プログラミング・インタフェースが、ドキュメントに適用されるＸＭＬマークアップへの１つあるいは複数のＸＭＬベースのリソースの関連付けを要求するメッセージ呼び出しを備えることと、および
前記アプリケーション・プログラミング・インタフェースが、前記ドキュメントに適用される前記ＸＭＬマークアップへの前記１つあるいは複数のＸＭＬベースのリソースの関連付けに対応して、前記ＸＭＬスキーマライブラリから返却値を受け取るよう機能することと、
を備えることを特徴とするプログラム可能なオブジェクトモデル。
【請求項６】
前記アプリケーション・プログラミング・インタフェースがさらに、前記ドキュメントに適用された前記ＸＭＬマークアップへの前記１つあるいは複数のＸＭＬベースのリソースの関連付けの削除を要求するメッセージ呼び出しを備えること、および
前記アプリケーション・プログラミング・インタフェースがさらに、前記ドキュメントに適用される前記ＸＭＬマークアップへの前記１つあるいは複数のＸＭＬベースのリソースの前記関連付けの削除に対応して、前記ＸＭＬスキーマライブラリから返却値を受け取るよう機能すること、
を特徴とする請求項５に記載のプログラム可能なオブジェクトモデル。
【請求項７】
拡張可能なマークアップ言語（ＸＭＬ）のリソースにアクセスする方法において、
オブジェクト指向のメッセージ呼び出しによりＸＭＬスキーマライブラリを呼び出すことと、
前記ＸＭＬスキーマライブラリにおいて識別された機能に関連付けられたソフトウェアオブジェクトに関連付けられたオブジェクトプロパティを、前記ＸＭＬスキーマライブラリに渡すことと、および
前記メッセージ呼び出しおよび前記ＸＭＬスキーマライブラリに渡された前記オブジェクトプロパティに対応して、前記ＸＭＬスキーマライブラリに渡された前記オブジェクトプロパティに関連付けられた前記ＸＭＬスキーマライブラリにおいて識別された前記機能へのアクセスを受け付けること、
を備えることを特徴とする方法。
【請求項８】
前記ＸＭＬスキーマライブラリにオブジェクトプロパティを渡すことが、新しいＸＭＬネーム空間を作成し、ＸＭＬネーム空間の集合に前記の新しいＸＭＬネーム空間を加えるメソッドプロパティを渡すことを含み、前記の新しいＸＭＬネーム空間に関連付けられたスキーマファイルへのパス、および前記の新しいＸＭＬネーム空間のための統一的リソース識別子が、前記メソッドのオブジェクトのパラメーターとして、前記ＸＭＬスキーマライブラリに渡されることを特徴とする請求項７に記載の方法。
【請求項９】
前記ＸＭＬスキーマライブラリにオブジェクトプロパティを渡すことが、前記ＸＭＬスキーマライブラリにＸＭＬネーム空間を登録するソリューションマニフェストをインストールするメソッドプロパティを渡すことを含むこと、を特徴とする請求項７に記載の方法。
【請求項１０】
前記ＸＭＬスキーマライブラリにオブジェクトプロパティを渡すことが、数字インデックスあるいは検索キーワードを用いて、ＸＭＬリソースの集合から個別のＸＭＬリソースにアクセスするメソッドプロパティを渡すことを含み、個別のＸＭＬリソースに関連付けられた数字インデックスが、前記メソッドプロパティを持つパラメーターとして渡されることを特徴とする請求項７に記載の方法。
【請求項１１】
前記ＸＭＬスキーマライブラリに前記オブジェクトプロパティを渡すことが、前記ＸＭＬスキーマライブラリにおいて識別された、指定されたネーム空間に関連付けられたエイリアス名を制御するオブジェクトプロパティを渡すことを含むことを特徴とする請求項７に記載の方法。
【請求項１２】
前記ＸＭＬスキーマライブラリに前記オブジェクトプロパティを渡すことが、指定されたＸＭＬネーム空間の指定されたＸＭＬスキーマファイルを指定されたドキュメントに添付するメソッドプロパティを渡すことを含み、前記指定されたドキュメントに対するポインタが前記ＸＭＬスキーマライブラリに前記メソッドプロパティのパラメーターとして渡されることを特徴とする請求項７に記載の方法。
【請求項１３】
前記ＸＭＬスキーマライブラリに前記オブジェクトプロパティを渡すことが、指定されたネーム空間に関連付けられた、デフォルトのＸＳＬＴ変換を指し示すオブジェクトプロパティを渡すことを含むことを特徴とする請求項７に記載の方法。
【請求項１４】
前記ＸＭＬスキーマライブラリにオブジェクトプロパティを渡すことが、ネーム空間オブジェクトの集合からＸＭＬネーム空間オブジェクトを削除するメソッドプロパティを渡すことを含むことを特徴とする請求項７に記載の方法。
【請求項１５】
前記ＸＭＬスキーマライブラリにオブジェクトプロパティを渡すことが、新しいＸＳＬＴ変換を作成し、ＸＳＬＴ変換の集合に前記の新しいＸＳＬＴ変換を加えるメソッドプロパティを渡すことを含み、前記の新しいＸＳＬＴ変換に対するポインタが、前記メソッドプロパティへのパラメーターとして、前記ＸＭＬスキーマライブラリに渡されることを特徴とする請求項７に記載の方法。
【請求項１６】
数字のインデックスあるいは検索キーワードを用いてＸＳＬＴ変換の集合に含まれる個別のＸＳＬＴ変換にアクセスするメソッドプロパティをさらに備え、前記ＸＭＬスキーマライブラリにおける要求されたＸＳＬＴ変換の位置を表している数字のインデックスが前記メソッドプロパティを持つ前記ＸＭＬスキーマライブラリへのパラメーターとして渡されることを特徴とする請求項７に記載の方法。
【請求項１７】
前記ＸＭＬスキーマライブラリにオブジェクトプロパティを渡すことが、前記ＸＭＬスキーマライブラリにおいて識別されたＸＳＬＴ変換に関連付けられたエイリアス名を制御するオブジェクトプロパティを渡すことを含むことを特徴とする請求項７に記載の方法。
【請求項１８】
前記ＸＭＬスキーマライブラリに前記オブジェクトプロパティを渡すことが、ＸＳＬＴ変換の集合からＸＳＬＴ変換を削除するメソッドプロパティを渡すことを含むこと、を特徴とする請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラム可能なオブジェクトモデルに関する。より詳細には、本発明はソフトウェアアプリケーションでのネーム空間(Namespace)あるいはスキーマライブラリ(schema library)支援のためのプログラム可能なオブジェクトモデルに関する。
【背景技術】
【０００２】
コンピュータ・ソフトウェア・アプリケーションは、ユーザーが仕事、教育および自由時間に自分のための各種ドキュメントを作成することを可能にする。たとえば、一般的な文書処理アプリケーションでは、ユーザーが手紙、論文、本、覚書、などを作成すことを可能にする。表計算アプリケーションは、ユーザーが各種の英数字データを格納し、操作し、印刷し、そして表示することを可能にする。このようなアプリケーションは、豊富な編集、フォーマッティング、印刷、計算、およびオンライン、オフラインの編集をはじめとする多くのよく知られた長所を有している。
【０００３】
【特許文献１】米国特許出願第１０／１８７,０６０号、名称「Word Processing Document Stored in a Single XML File that may be Manipulated by Applications that Understanding XML」（パブリケーション番号：２００４０２１０８１８）
【特許文献２】米国特許出願第１０／１８４,１９０号、名称「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」（パブリケーション番号：２００４０００３３８９）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
大部分のコンピュータ・ソフトウェア・アプリケーションは、あらゆる潜在的ユーザーにより必要とされ、あるいは期待される機能を提供するために必要なプログラミングを全て含んでいるわけではない。多くのプログラマは、しばしば彼等自身のプログラムの中の既存のアプリケーションの能力を利用することや、あるいはアプリケーションの機能をカスタマイズすることを望み、そしてそれをユーザーあるいは行動の特定のセットのために一層適合させる。たとえば金融業界で働くプログラマは、会計報告書を編集する金融アナリストから成るユーザーの人々のために、ワードプロセッサーをカスタマイズすることを望む可能性がある。近年、拡張可能なマークアップ言語（Extensible Markup Language）が、多くのユーザーにとって交換可能なデータフォーマットとして広く用いられている。ＸＭＬ機能のユーザーはしばしば、そのユーザーにより編集され、あるいは作成されるドキュメントに、１つあるいは複数のＸＭＬスキーマファイル、あるいはＸＭＬベースのソリューションを添付し(attach)、あるいは関連付ける(associate)。しかしながら、ユーザー／プログラマは、ＸＭＬスキーマファイル、あるいはＸＭＬベースのソリューションの機能を所与のドキュメントに適用する能力において限界がある。なぜなら、ユーザー／プログラマはＸＭＬスキーマファイルあるいは他のＸＭＬベースのソリューションを含むネーム空間あるいはスキーマライブラリに直接かつ容易にアクセスすることができないからである。
【０００５】
したがって、プログラム可能なオブジェクトモデルに関する技術には、ユーザー／プログラマが、リソースをカスタマイズし、あるいはその他操作をするために、ＸＭＬリソースのネーム空間あるいはスキーマライブラリにアクセスできるようにし、ソフトウェア・アプリケーション・ドキュメントを有する、ユーザー／プログラマが使用するＸＭＬ機能を向上させる必要性がある。本発明が為されたのはこれらおよび他の考慮があってのものである。
【課題を解決するための手段】
【０００６】
本発明は、ユーザーがＸＭＬスキーマファイルおよび関連するＸＭＬベースのリソースを含むネーム空間あるいはスキーマライブラリにプログラムで(programmatically)アクセスし利用することを可能とし、これらのＸＭＬベースのリソースを１つあるいは複数のドキュメントと関連付け、これらのＸＭＬベースのリソースと関連付けられた機能をカスタマイズする方法およびシステムを提供する。ユーザーあるいはプログラマはネーム空間あるいはスキーマライブラリへのアクセスを一旦獲得すると、そのユーザーは、関連付けられたドキュメントの中のＸＭＬデータをＸＭＬスキーマファイルにプログラムで関連付けることができる。逆に、ユーザーは、ＸＭＬスキーマファイルと、ドキュメントに含まれるＸＭＬデータとの関連付け(associations)を検出し、削除することができる。さらに、ユーザーは、プログラムで、変換ファイルをドキュメントに含まれるＸＭＬデータに関連付け、ドキュメントに含まれるＸＭＬデータに関連付けられた既存の変換ファイルを検出し、削除することができる。さらに、ユーザーは、ＸＭＬベースのドキュメントソリューションおよび他のドキュメントソリューションに関連付けられた他のファイルおよび実行可能なソフトウェアを、ドキュメントに含まれるＸＭＬデータに関連付けることができる。さらに、ユーザーは、ドキュメントに含まれるＸＭＬデータとの関連付けからＸＭＬベースのソリューションおよび他の種類の実行可能なソフトウェアの関連付けを検出し、削除することができる。
【０００７】
本発明のこれらおよび他の特徴、利点および形態は、以下に開示される実施形態の詳細な記述を吟味頂くことから、および添付された図画および請求範囲を参照されることにより、より明確に理解され、認識されるであろう。
【発明を実施するための最良の形態】
【０００８】
本発明の実施形態は、ユーザーが、ＸＭＬスキーマファイルおよびＸＭＬベースのソリューションおよびリソースのネーム空間／スキーマライブラリをプログラムで呼び出すことを可能とし、それらのファイル、ソリューションおよびリソースの、１つあるいは複数のドキュメントとの関連付けを制御する方法およびシステムを対象とする。これらの実施形態は、本発明の精神あるいは範囲から逸脱することなく結合される場合があり、他の実施形態が利用される場合があり、そして、構造的変更が為される場合がある。したがって、次の詳細な記述は限定する意味で解釈されるべきではなく、本発明の範囲はその添付された請求範囲、およびそれと同等な物により定義される。
【０００９】
さて、いくつかの図を通して、同様の数字が同様な要素を表す図面を参照して、本発明の形態およびその例示的な動作環境を説明する。図１および以下の説明は本発明を実施することができる適切なコンピュータ処理環境を簡潔に一般的に説明するためのものである。本発明は、パーソナルコンピュータのオペレーティングシステム上で動作するアプリケーションプログラムと連動して実行されるプログラムモジュールとの一般的な文脈において記述されるが、当業者は、本発明を他のプログラムモジュールと結合して実施することが可能であることを認識するであろう。
【００１０】
一般的にプログラムモジュールは、ルーチン、プログラム、構成要素、データ構造、および特定のタスクを遂行し、あるいは特定の抽象データ型を実施する他の種類の構造を備える。さらに、当業者は、携帯型の装置、 マルチプロセッサーシステム、マイクロプロセッサベースのあるいはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成を用いて本発明を実施できることを理解するであろう。また、本発明は、通信ネットワークを介して接続された遠隔処理装置によってタスクが遂行される分散コンピュータ処理環境で実施することができる。分散コンピュータ処理環境では、プログラムモジュールは、ローカルメモリ記憶装置およびリモートメモリ記憶装置の両方に置くことができる。
【００１１】
図１には、本発明の種々の実施形態を実施するパーソナルコンピュータの例示的コンピュータキテクチャー２が記述される。図１で示されるコンピュータキテクチャーは、中央処理装置（ＣＰＵ）４、ランダムアクセスメモリ（ＲＡＭ）８、読み取り専用メモリ（ＲＯＭ）１０を含むシステムメモリ６、およびメモリをＣＰＵ４に結合するシステムバス１２を備える従来式のパーソナルコンピュータを示す。起動の間等の際に、コンピュータの中の要素の間で情報を転送する役割を担う基本的ルーチンを含む基本入出力システムがＲＯＭ１０に格納される。パーソナルコンピュータ２は、さらに、オペレーティングシステム１６、アプリケーションプログラム３０５等のアプリケーションプログラム、およびデータを格納する大容量記憶装置１４を備える。
【００１２】
大容量記憶装置１４は、バス１２に接続された大容量記憶装置コントローラ（図示せず）を通してＣＰＵ４に接続される。大容量記憶装置１４およびその関連付けられたコンピュータで読み取り可能な媒体は、パーソナルコンピュータ２のために不揮発性のストレージを提供する。本明細書に含まれるコンピュータで読み取り可能な媒体の記述は、ハードディスクあるいはＣＤ-ＲＯＭドライブ等の大容量記憶装置を指すが、コンピュータ読み取り可能な媒体は、パーソナルコンピュータ２がアクセスできる任意の利用可能な媒体であればよいことを当業者は理解すべきである。
【００１３】
たとえば、限定するものではないが、コンピュータで読み取り可能な媒体は、コンピュータの記憶媒体および通信媒体を備えることができる。コンピュータの記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、他のデータ等の情報を記憶するための任意の方法あるいは技術により実現された揮発性および不揮発性の、着脱可能および固定の媒体を含む。コンピュータの記憶媒体は、限定するものではないが、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、他の固体のメモリ技術、ＣＤ-ＲＯＭ、ＤＶＤ、他の光学的記憶域、磁気カセット、磁気テープ、磁気のディスク記憶域、他の磁気記憶装置、所望の情報を格納するために用いることができコンピュータによりアクセス可能な他の任意の媒体を含む。
【００１４】
本発明の種々の実施形態によれば、パーソナルコンピュータ２は、インターネット等のＴＣＰ／ＩＰネットワーク１８を介してリモートコンピュータへの論理的接続を用いて、ネットワーク化された環境で動作できる。パーソナルコンピュータ２は、バス１２に接続されたネットワークインタフェースユニット２０を通してＴＣＰ／ＩＰネットワーク１８と接続できる。ネットワークインタフェースユニット２０は、他の種類のネットワークおよびリモートコンピュータシステムに接続するために利用できることを理解すべきである。パーソナルコンピュータ２は、キーボードあるいはマウス（図示せず）を含む多くの装置からの入力を受け取り、処理する入力／出力コントローラ２２を含むことができる。同様に、入力／出力コントローラ２２は、表示スクリーン、プリンター、あるいは他のタイプの出力装置に出力を提供することができる。
【００１５】
以上、簡潔に言及したように、Ｒｅｄｍｏｎｄ,ＷａｓｈｉｎｇｔｏｎのＭＩＣＲＯＳＯＦＴ ＣＯＲＰＯＲＡＴＩＯＮからのＷｉｎｄｏｗｓ ＸＰ（登録商標）オペレーティングシステム等の、ネットワーク化されたパーソナルコンピュータの動作を制御するにふさわしいオペレーティングシステム１６を含む、多くのプログラムモジュールおよびデータファイルを、パーソナルコンピュータ２の大容量記憶装置１４およびＲＡＭ８に格納することができる。大容量記憶装置１４およびＲＡＭ８は、１つあるいは複数のアプリケーションプログラムを格納することができる。大容量記憶装置１４およびＲＡＭ８は特に、電子的ドキュメント３１０を作成し編集するためのアプリケーションプログラム３０５を格納することができる。たとえば、アプリケーションプログラム３０５は文書処理アプリケーションプログラム、表計算アプリケーション、問い合わせアプリケーション、などを備えることができる。他の種類の電子的ドキュメントを作成し編集するためのアプリケーションプログラムを本発明の種々の実施形態で用いることができる。スキーマファイル３３０およびネーム空間／スキーマライブラリ４００を以下に説明する。
【００１６】
本発明の例示的な実施形態が、オブジェクト指向プログラミング環境における異なるソフトウェアオブジェクト間の通信により実施される。本発明の実施形態に関する以下の説明のために、オブジェクト指向プログラミング環境の構成要素を簡潔に記述することは有用である。図２は、オブジェクト指向プログラミングモデルによるソフトウェアオブジェクトの間の相互作用を例示する単純化されたブロック図である。オブジェクト指向プログラミング環境により、第１のオブジェクト２１０は、ソフトウェアコード、実行可能なメソッド(method)、プロパティ(property)、およびパラメーターを含むことができる。同様に、第２のオブジェクト２２０は、ソフトウェアコード、実行可能なメソッド、プロパティ、およびパラメーターを含むことができる。
【００１７】
第１のオブジェクト２１０は、第２のオブジェクト２２０と通信し、メッセージ呼び出し(call)２３０によって第２のオブジェクト２２０を呼び出すことにより第２のオブジェクト２２０から情報あるいは機能を獲得することができる。オブジェクト指向プログラミング環境に精通している当業者にはよく知られているように、第１のオブジェクト２１０は、２つの異なるソフトウェアオブジェクト２１０、２２０が、互いに情報および機能を獲得するために互いに通信することを可能にするアプリケーションプログラムインタフェース（API）により、第２のオブジェクト２２０と通信することができる。たとえば、第１のオブジェクト２１０が第２のオブジェクト２２０に含まれるメソッドにより提供される機能を要求する場合には、第１のオブジェクト２１０は、第２のオブジェクト２２０にメッセージ呼び出し２３０を渡し、第２のオブジェクトでは、第１のオブジェクトが要求されたメソッドを識別し、識別されたメソッドを動作させる第２のオブジェクトにより要求された必要なすべてのパラメーターを、第１のオブジェクトが第２のオブジェクトに渡すことができる。第２のオブジェクト２２０は第１のオブジェクトからの呼び出しを受けると、第２のオブジェクトは提供されたパラメーターに基づいて呼び出されたメソッドを実行し、実行されたメソッドから得られた値を含む返信メッセージ２５０を第１のオブジェクト２１０に送り返す。
【００１８】
例えば、本発明の実施形態に関して言えば、そして以下に記述されるように、第１のオブジェクト２１０が、サードパーティによりカスタマイズされたアプリケーションであり、そのアプリケーションは、拡張可能なマークアップ言語のスキーマ妥当性検査オブジェクト(schema validation object)等の第２のオブジェクトへメッセージを渡すことができ、その場合には、第１のオブジェクトは、ドキュメント中の指定されたＸＭＬ要素の妥当性検査(validation)を必要としているメソッドを識別し、指定されたＸＭＬ要素は、第１のオブジェクトによりその識別されたメソッドとともに渡されるパラメーターである。この例によれば、第１のオブジェクトからの呼び出しを受け取ると、スキーマ妥当性検査オブジェクトは指定されたＸＭＬ要素に対してその識別されたメソッドを実行し、妥当性を検査されたＸＭＬ要素に関連付けられた結果あるいは値の形式で、第１のオブジェクトへメッセージを返す。上に簡潔に記述されたような、オブジェクト指向プログラミング環境の動作は当業者によく知られている。
【００１９】
以下に記述されるように、本発明の実施形態は、拡張マークアップ言語（ＸＭＬ）の構成要素の使用、カスタマイゼーション、およびアプリケーションにおけるソフトウェアオブジェクトの相互作用を通して実行される。図３は、ドキュメント、添付されたスキーマファイル、およびスキーマ妥当性検査機能モジュールの間の相互作用を例示するブロック図である。当業者によく知られているように、拡張マークアップ言語（ＸＭＬ）は、ユーザーが、ドキュメントのテキストあるいはデータに適用され、そして、その関連付けられたタグが適用されたテキストあるいはデータを定義するタグ名を、作成することを可能にすることにより、ドキュメントにおけるテキストおよびデータを記述する方法を提供する。たとえば、図３を参照すると、アプリケーション３０５で作成されたドキュメント３１０は、ＸＭＬのタグ３１５、３２０、３２５でマークアップされたテキストを含む。たとえば、テキスト「Ｇｒｅｅｔｉｎｇｓ」は、ＸＭＬのタグ<ｔｉｔｌｅ>で注釈(annotate)されている。テキスト「Ｍｙ ｎａｍｅ ｉｓ Ｓａｒａｈ」は<ｂｏｄｙ>タグで注釈されている。ＸＭＬによれば、<ｔｉｔｌｅ>と<ｂｏｄｙ>タグの作成者(creator)は、これらのタグが適用されるタグを記述するために自分自身のタグを自由に作成することができる。次に、任意の下流(downstream)の消費者用アプリケーションあるいはコンピューティングマシンでテキストに適用されたタグの定義についての命令が提供されている限り、アプリケーションあるいはコンピューティングマシンは、タグに従ってデータを利用することができる。たとえば、下流のアプリケーションがそのアプリケーションにより処理された記事(articles)あるいは出版物の名称として定義されたテキストを抽出するようプログラムされている場合には、アプリケーションは、そのテキストがタグ＜ｔｉｔｌｅ＞で注釈されているため、図３に示されているように、ドキュメント３１０を解析し、テキスト「Ｇｒｅｅｔｉｎｇｓ」を抽出することができる。図３で例示されたドキュメント３１０に対する特定のＸＭＬタグ命名の作成者は、サードパーティにより利用されるドキュメント３１０に含まれるテキストあるいはデータに関する有用な記述を、テキストあるいはデータに適用されたタグに関連付けられた定義がそれらのサードパーティに提供されてさえいれば、提供する。
【００２０】
本発明の実施形態によれば、ドキュメント３１０に記入されたテキストおよびＸＭＬマークアップは、種々の異なるファイル形式に従って、および、ドキュメント３１０が作成されたアプリケーション３０５の本来(native)のプログラミング言語に従って、保存することができる。たとえば、テキストおよびＸＭＬマークアップは、文書処理アプリケーション、表計算アプリケーションなどに従って保存することができる。または、ドキュメント３１０に記入されたテキストおよびＸＭＬマークアップは、ＸＭＬフォーマットとして保存することができ、テキストあるいはデータ、任意の適用されたＸＭＬマークアップ、および、フォント、スタイル、パラグラフ構造などの任意のフォーマッティングは、ＸＭＬ表現として保存することができる。したがって、ＸＭＬとして保存されたデータを理解することができる下流のアプリケーション又はサードパーティのアプリケーションは、ＸＭＬ表現として保存されたテキストあるいはデータを開き、利用(consume)することができる。ＸＭＬとして、ドキュメント３１０のテキストおよびＸＭＬマークアップおよび関連付けられたフォーマッティングおよび他の属性の保存については、特許文献１に記載されている。
【００２１】
図３で例示されたような、テキストあるいはデータに適用されるＸＭＬマークアップ要素（タグ）に関する定義上の枠組みを提供するために、ＸＭＬスキーマファイルが創られ、そのファイルは、マークアップされ格納されたデータのユーザーおよび利用者が、ドキュメントの作成者により設計されたＸＭＬのタグ付けの定義を理解することを可能にするために必要な情報を含む。現状技術においては、ＸＳＤファイルとも言及されるスキーマファイルのそれぞれは、好ましくは、所与のスキーマファイルに従って、ドキュメントに適用される場合があるすべてのＸＭＬ要素（タグ）の一覧表を含む。たとえば、図３で例示されるように、スキーマファイル３３０は、ＸＭＬ要素の属性、あるいはスキーマファイルに従ってＸＭＬ要素で注釈されている可能性のあるテキストあるいはデータに関連付けられた制約、および／あるいは規則を含むドキュメント３１０に適用できるある種のＸＭＬ要素の定義を含むスキーマファイルである場合がある。たとえば、図３で例示されるスキーマファイル３３０を参照すると、スキーマファイルは、そのスキーマファイルが<ｉｎｔｒｏＣＡＲＤ>というルート要素を含むネーム空間「ｉｎｔｒｏ」により識別される。
【００２２】
スキーマファイル３３０によれば、<ｉｎｔｒｏＣＡＲＤ>要素は、スキーマファイルのルート要素の役割と、２つの子要素<ｔｉｔｌｅ>と<ｂｏｄｙ>の親要素の役割とを果たす。当業者にはよく知られているように、いくつかの親要素は単一のルート要素の下で定義でき、いくつかの子要素はそれぞれの親要素の下で定義できる。しかしながら通常は、所与のスキーマファイル３３０は唯一のルート要素を含む。さらに図３を参照すると、スキーマファイル３３０はそれぞれ<ｔｉｔｌｅ>と<ｂｏｄｙ>要素に対する属性３４０および３４５を含む。属性３４０および３４５は、ドキュメント３１０のテキストあるいはデータに各要素を適用することに関連付けられた定義あるいは規則をさらに提供することができる。たとえば、<ｔｉｔｌｅ>要素で注釈されたテキストは長さにおいて２５文字かそれ未満でなければならないことを、属性３４５は定義している。したがって、もし長さにおいて２５文字を越えるテキストが<ｔｉｔｌｅ>要素あるいはタグで注釈される場合は、スキーマファイル３３０に含まれた定義によれば、そのテキストの試みられた(attempted)注釈は無効となるであろう。
【００２３】
ＸＭＬ要素への属性としてこのような定義あるいは規則を適用することにより、スキーマの作成者は所与のスキーマファイルに関連付けられたドキュメントに含まれるデータの構造を指示(dictate)することができる。たとえば、もしレジュメドキュメント(resume document)に適用されるＸＭＬマークアップを定義するスキーマファイル３３０の作成者が、そのレジュメドキュメントの経験欄(experience section)がわずか４件の現在又は以前のジョブエントリ(job entries)を含むことを望むならば、スキーマファイル３３０の作成者は、<ｅｘｐｅｒｉｅｎｃｅ>要素の属性を定義することができ、たとえば、経験のテキストがスキーマファイル３３０にしたがって妥当になるためには、わずか４件の現在又は以前のジョブエントリを<ｅｘｐｅｒｉｅｎｃｅ>タグの間に記入することができるようにすることが可能である。当業者によく知られているように、スキーマファイル３３０は、ドキュメント３１０に添付されたスキーマファイルで定義された許容可能なＸＭＬマークアップのアプリケーションのために、所与のドキュメント３１０に添付されるか、あるいはさもなければ関連付けることができる。１つの実施形態によれば、添付され又は関連付けられたスキーマファイル３３０のＸＭＬ要素でマークアップされたドキュメント３１０は、添付され又は関連付けられたスキーマファイル３３０を識別するネーム空間に関連付けられた統一的リソース識別子(URI: Uniform Resource Identifier)を指し示すことにより、添付され又は関連付けられたスキーマファイルを指し示すことができる。
【００２４】
本発明の実施形態によれば、ドキュメント３１０は、添付されたスキーマファイルを複数持つことができる。すなわち、２以上のスキーマファイルからＸＭＬマークアップの注釈に関する枠組みを提供するために、ドキュメント３１０の作成者は、２以上のスキーマファイル３３０をドキュメント３１０に関連付けるか、又は添付することができる。たとえば、ドキュメント３１０は、財務データに関連付けられたテキストあるいはデータを含むことができる。ドキュメント３１０の作成者は、複数の金融機関に関連付けられたＸＭＬマークアップおよび定義を含むＸＭＬスキーマファイル３３０を関連付けることを望むことができる。したがって、ドキュメント３１０の作成者は、１つあるいは複数の金融機関からのＸＭＬスキーマファイル３３０をドキュメント３１０に関連付けることができる。同じく、所与のＸＭＬスキーマファイル３３０を、財務データを所望のフォーマットに設定するためのテンプレート等の特定のドキュメント構造に関連付けることができる。
【００２５】
本発明の実施形態によれば、ＸＭＬスキーマファイルおよび関連付けられたドキュメントソリューションの集合が、ドキュメント３１０から分離して位置するネーム空間あるいはスキーマライブラリにおいて維持することができる。ドキュメント３１０は、ドキュメント３１０に添付された、さもなければ関連付けられた１つあるいは複数のスキーマファイルに関連付けられたネーム空間あるいはスキーマライブラリにおけるＵＲＩを指し示すポインタを含むことができる。ドキュメント３１０が１つあるいは複数の関連付けられたスキーマファイルからの情報を必要とする場合には、ドキュメント３１０は、ネーム空間又はスキーマライブラリを指し示し、必要とされるスキーマ定義を獲得する。ネーム空間又はスキーマライブラリの動作の効用については、特許文献２および特許文献３に記載されている。ネーム空間あるいはスキーマライブラリから、ＸＭＬスキーマファイルや関連付けられたソリューション等のソフトウェア構成要素をダウンロードするメカニズムは、特許文献４に記載されている。
【００２６】
さらに図３を参照して、上述されたように、ドキュメント３１０に適用されたＸＭＬマークアップを、ドキュメント３１０に添付され又はさもなければ関連付けられたＸＭＬスキーマファイル３３０に対比して、妥当性検査を行うスキーマ妥当性検査機能モジュール３５０を例示する。上述されたように、スキーマファイル３３０は受諾可能なＸＭＬ要素および関連付けられた属性を設定(set out)し、かつ関連付けられたスキーマファイル３３０からのＸＭＬマークアップによるドキュメント３１０の妥当な注釈に関する規則を定義する。たとえば、スキーマファイル３３０に示されるように、２つの子要素<ｔｉｔｌｅ>および<ｂｏｄｙ>は、ルートあるいは親要素<ｉｎｔｒｏＣＡＲＤ>の下で定義される。子要素<ｔｉｔｌｅ>および<ｂｏｄｙ>に関連付けられたテキストの受諾可能な文字列の長さを定義している属性３４０、３４５がまた例示されている。上述されたように、ユーザーがドキュメントに添付された又はさもなければ関連付けられたスキーマファイル３３０からのＸＭＬマークアップでドキュメントに対して、スキーマファイル３３０に含まれるＸＭＬマークアップ定義に違反して、注釈を付けようと試みた場合には、無効あるいはエラー状態が提示(present)される。たとえば、ユーザーが２５文字を越えて名称文字列を記入しようと試みる場合、そのテキストエントリーは、スキーマファイル３３０の<ｔｉｔｌｅ>要素の最大文字長属性に違反する。ドキュメント３１０に適用されたＸＭＬマークアップの、関連付けられたスキーマファイル３３０に対する、妥当性検査を行うために、スキーマ妥当性検査モジュール３５０が利用される。当業者により理解されるべきであるように、妥当性検査モジュール３５０は、ドキュメント３１０に記入されたＸＭＬマークアップおよび関連付けられたテキストを、そのＸＭＬマークアップおよび関連付けられたテキストがドキュメント３１０に記入された際に、関連付けられたあるいは添付されたＸＭＬスキーマファイル３３０と比較するのに十分な、コンピュータで実行可能な命令を含むソフトウェアモジュールである。
【００２７】
本発明の実施形態によれば、スキーマ妥当性検査モジュール３５０は、ドキュメント３１０に適用されたそれぞれのＸＭＬマークアップ要素および関連付けられたテキストあるいはデータを、添付されたあるいは関連付けられたスキーマファイル３３０に対して比較して、それぞれの要素および関連付けられたテキストあるいはデータが、添付されたスキーマファイル３３０により設定(set out)された規則および定義に適合するか否かを判定する。たとえば、ユーザーが<ｔｉｔｌｅ>要素３２０により注釈を付けられた文字列に２５文字(character)を超えて記入しようとする場合、スキーマ妥当性検査モジュールはそのテキストの文字列を、添付されているスキーマファイル３３０のテキスト文字列属性３４０と比較し、ユーザーにより記入されたそのテキストの文字列が最大許容されているテキスト文字列の長さを超えると判定する。したがって、エラーメッセージあるいはダイアログがユーザーに提示され、ユーザーにより記入されているテキストの文字列が、添付されているスキーマファイル３３０に従って、最大の許容文字長を超える、とユーザーに警告する。同じく、もしユーザーが<ｔｉｔｌｅ>および<ｂｏｄｙ>要素の間にＸＭＬマークアップ要素を加えようとする場合、スキーマ妥当性検査モジュール３５０はユーザーにより適用されたそのＸＭＬマークアップ要素が、添付されたスキーマファイル３３０に従って<ｔｉｔｌｅ>および<ｂｏｄｙ>要素の間に許容された有効な要素ではないと判定する。したがって、スキーマ妥当性検査モジュール３５０は、無効なＸＭＬマークアップのユーザーに警告するために、そのユーザーに対してエラーメッセージあるいはダイアログを生成する。
【００２８】
（ネーム空間／スキーマライブラリのプログラム可能なオブジェクトモデル）
図３を参照し上述されたように、ドキュメント３１０に拡張可能なマークアップ言語（ＸＭＬ）の表示を適用するための定義上のかつ規則指向(rule-oriented)の枠組みを提供するために、ドキュメント３１０に対する所与のスキーマファイル３３０に対応するＸＭＬマークアップ要素のアプリケーションを管理(govern)する定義および規則を設定するために、１つあるいは複数のスキーマファイル３３０がそのドキュメントに関連付けられ、あるいは添付される場合がある。記述されたように、複数のＸＭＬスキーマファイルおよび他のドキュメントソリューション、たとえば予め構造化されたテンプレート、が単一のＸＭＬドキュメント３１０に添付され、あるいは関連付けられる場合がある。さらに、上述されたように、ネーム空間識別番号(Namespace identification)により識別される複数の異なるＸＭＬスキーマファイルおよび複数のドキュメントソリューションがドキュメント３１０から分離されたネーム空間あるいはスキーマライブラリに格納される場合がある。本発明の実施形態によれば、ネーム空間あるいはスキーマライブラリに含まれる種々のネーム空間識別子に関連付けられた、スキーマファイルのネーム空間および関連付けられた定義、規則、リソース、およびソリューションをカスタマイズし、又はさもなければ操作するために、ユーザーは、１つあるいは複数のドキュメント３１０に関連付けられたネーム空間あるいはスキーマライブラリをプログラムで呼び出すことができる。
【００２９】
図４は、ドキュメント３１０、ネーム空間あるいはスキーマライブラリ４００、およびサードパーティアプリケーション４５０の間の相互作用を例示するブロック図である。本発明の実施形態によれば、ユーザーは、ネーム空間ライブラリ４００で識別されたスキーマファイルに関連付けられた個別のスキーマファイル４１０、４３０あるいはリソース４２０、４４０の内容あるいは動作を修正するために、オブジェクト指向メッセージ要求の組、あるいはアプリケーションプログラムインタフェースの集合４７０によりプログラムでネーム空間ライブラリ４００を呼び出すことができる。ユーザーは、オブジェクト指向メッセージ呼び出しの組により、アプリケーション３０５から、あるいはサードパーティプログラム４５０からネーム空間ライブラリと通信することができ、かつ、サードパーティプログラムはＣ、Ｃ++、Ｃ#、ビジュアルベーシック等の種々のプログラミング言語を用いて開発することができる。
【００３０】
アプリケーションプログラムインタフェース４７０の組を通してネーム空間ライブラリへのアクセスを持つことにより、ユーザーは、１つあるいは複数の追加のＸＭＬスキーマファイルあるいはネーム空間をＸＭＬデータにプログラムで関連付けることができ、そして逆に、ユーザーは、ドキュメント３１０に適用された１つあるいは複数のＸＭＬスキーマファイルおよびＸＭＬデータあるいはマークアップの間の既存の関連付けを、検出し削除することができる。ユーザーはまたプログラムで、拡張可能スタイルシート言語変換(XSLT: Extensible Stylesheet Language Transformation)を、ドキュメントに適用されたＸＭＬデータに関連付けることができる。逆に、ユーザーは、ドキュメント３１０に適用されたＸＭＬデータとの関連付けから既存のＸＳＬＴ変換を検出し削除することができる。さらに、ユーザーは、他のファイルおよび実行可能なソフトウェアアプリケーションを、ドキュメント３１０に適用されたＸＭＬデータにプログラムで関連付けて、ＸＭＬデータを持つ他のソフトウェアアプリケーションおよびファイルの既存の関連付けを検出し削除することができる。
【００３１】
たとえば、ネーム空間ライブラリ４００で例示されるネーム空間４３０は、レジュメドキュメントテンプレートのために予めフォーマットされた構造より構成されたソリューションを含むことができる。そのソリューションがドキュメント３１０に適用されるとき、レジュメテンプレートドキュメントの作成者により設計された関連付けられたスキーマ定義および規則は、ドキュメント３１０に記入されたＸＭＬマークアップおよび関連付けられたテキストに適用される。レジュメドキュメントテンプレートに関連付けられたスキーマファイルがレジュメドキュメントの経験欄が少なくとも３つの過去の、あるいは現在の職種(job description)を持たねばならないことを要求する場合には、そのスキーマ定義は、ドキュメント３１０に適用され、ＸＭＬドキュメント３１０がスキーマ妥当性検査モジュール３５０により妥当であるとされるために、少なくとも３つの職種が経験欄に後(subsequent)のユーザーにより記入されなければならない。この例について続けると、このようなレジュメドキュメントテンプレートのスキーマファイルがドキュメント３１０に関連付けられ、かつユーザーがそのスキーマファイルのドキュメント３１０との関連付けを削除することを望む場合には、ネーム空間ライブラリ４５０に、あるいはアプリケーション３０５に対して、ドキュメント３１０から、レジュメドキュメントテンプレートのスキーマファイルの関連付けの削除を指示するために、提供されたアプリケーションプログラムインタフェースによりオブジェクト指向メッセージ呼び出しを送ることにより、そのユーザーはサードパーティプログラムからプログラムでそれをすることができる。
【００３２】
以下はオブジェクト指向メッセージ呼び出しあるいはアプリケーションプログラムインタフェースを備えるオブジェクトおよび関連付けられた属性の記述であり、これにより、上述されたように、ユーザーは、ネーム空間ライブラリ４００にプログラムでアクセスすることができる。以下に規定されたそれぞれのオブジェクトおよび関連付けられたプロパティの次に、そのオブジェクトあるいは関連付けられたプロパティの動作および機能を説明する。
【００３３】
（アプリケーションオブジェクト）
以下はオブジェクトのメソッドおよびプロパティである。
【００３４】
.ＸＭＬＮａｍｅｓｐａｃｅs プロパティ
アプリケーションで使用可能なネーム空間ライブラリを表すＸＭＬＮａｍｅｓｐａｃｅsの集合(collection)に対する読み取り専用のポインタ。
【００３５】
（ＸＭＬＮａｍｅｓｐａｃｅ集合オブジェクト）―  ＸＭＬＮａｍｅｓｐａｃｅオブジェクトに対するアクセスを提供するオブジェクト。それは、ネーム空間ライブラリを示す。集合のそれぞれのＸＭＬＮａｍｅｓｐａｃｅオブジェクトは、ネーム空間ライブラリの単一かつ一意なネーム空間を表す。以下はこのオブジェクトのメソッドおよびプロパティ
である。
【００３６】
.Ａｄｄ()メソッド
新しいＸＭＬＮａｍｅｓｐａｃｅオブジェクトを作成し、その集合に追加するメソッド。それは、ネーム空間ライブラリで新しいネーム空間を登録するために用いられる。それは、新しいＸＭＬＮａｍｅｓｐａｃｅオブジェクトを返す。それは、次のパラメーターを受け入れることができる。  
Ｐａｔｈ−ネーム空間のためのスキーマファイルに対するポインタ。ポインタは文字列として表されるファイルパスであり得る。  
ＮａｍｅｓｐａｃｅＵＲＩ−スキーマを表すネーム空間のＵＲＩ。ＵＲＩはテキストの文字列であり得る。  
Ａｌｉａｓ−プログラマが指定することが可能なネーム空間に対する代替の（より使い勝手の良い）名前を表すテキスト文字列。  
ＩｎｓｔａｌｌＦｏｒＡｌｌＵｓｅｒｓ−ネーム空間ライブラリの新しいネーム空間がコンピュータのすべてのユーザーにとって、あるいは現在のユーザーのみにとって利用可能であるべきかを示すフラグ。
【００３７】
.Ａｐｐｌｉｃａｔｉｏｎプロパティ
このオブジェクトモデルのアプリケーションを表すアプリケーションオブジェクトに対する読み取り専用のポインタ。
【００３８】
.Ｃｏｕｎｔプロパティ
ネーム空間ライブラリに登録されたネーム空間の数を返す読み取り専用のプロパティ。プロパティはＸＭＬＮａｍｅｓｐａｃｅ集合でのＸＭＬＮａｍｅｓｐａｃｅオブジェクトの合計数と同じである。
【００３９】
.Ｃｒｅａｔｏｒプロパティ
オブジェクトの作成者に対する読み取り専用のポインタ。
【００４０】
.ＩｎｓｔａｌｌＭａｎｉｆｅｓｔ()メソッド
ネーム空間ライブラリにネーム空間を登録するソリューションマニフェストをインストールするメソッド。それは、次のパラメーターを受け入れることができる。  
Ｐａｔｈ−マニフェストのためのマニフェストファイルに対するポインタ。このポインタはテキスト文字列により表されるファイルパスであり得る。  
ＩｎｓｔａｌｌＦｏｒＡｌｌＵｓｅｒｓ−マニフェストによりネーム空間ライブラリにインストールされた新しいネーム空間がコンピュータのすべてのユーザーにとって、あるいは現在のユーザーのみにとって利用可能であるべきかを示すフラグ。
【００４１】
.Ｉｔｅｍ()メソッド
数字のインデックスあるいは検索キーワードを用いてこの集合の個別のメンバーにアクセスするメソッド。このメソッドは次のパラメーターを受け入れることができる。  
Ｉｎｄｅｘ−ネーム空間ライブラリにおいて要求されたＸＭＬＮａｍｅｓｐａｃｅオブジェクトの位置を表す数。Ｉｎｄｅｘは要求されたネーム空間のエイリアス(alias)あるいはＵＲＩを表すテキスト文字列でもあり得る。
【００４２】
.Ｐａｒｅｎｔプロパティ
集合の親オブジェクトを返す読み取り専用のプロパティ。このプロパティはＸＭＬＮａｍｅｓｐａｃｅ集合をアクセスするアプリケーションに対してポインタを返す。
【００４３】
（ＸＭＬＮａｍｅｓｐａｃｅ  オブジェクト）−ネーム空間ライブラリでの個別のネーム空間エントリー（およびＸＭＬＮａｍｅｓｐａｃｅ集合での個別の項目）を表すオブジェクト。以下はこのオブジェクトのメソッドおよびプロパティである。
【００４４】
.Ａｌｉａｓプロパティ
プログラマがネーム空間に関連付けるエイリアスを制御するプロパティ。それは、次のパラメーターをサポートすることができる。  
ＡｌｌＵｓｅｒｓ−エイリアスがすべてのユーザーにとって、あるいは単に現在(current)のユーザーにとって利用可能であるかを示すフラグ。
【００４５】
.Ａｐｐｌｉｃａｔｉｏｎプロパティ
このオブジェクトモデルのアプリケーションを表すアプリケーションオブジェクトに対する読み取り専用のポインタ。
【００４６】
.ＡｔｔａｃｈＴｏＤｏｃｕｍｅｎｔ()メソッド
オブジェクトにより表されたネーム空間のスキーマを、選択されたドキュメントに添付するメソッド。それは、次のパラメーターをサポートする。  
Ｄｏｃｕｍｅｎｔ−スキーマを添付するべく要求されたドキュメントに対するポインタ。
【００４７】
.Ｃｒｅａｔｏｒプロパティ
オブジェクトの作成者に対する読み取り専用のポインタ。
【００４８】
.ＤｅｆａｕｌｔＴｒａｎｓｆｏｒｍプロパティ
このネーム空間に関連付けられたデフォルトＸＳＬＴ変換を指し示すプロパティ。それは、次のパラメーターをサポートすることができる。  
ＡｌｌＵｓｅｒｓ−デフォルト変換設定がマシンのすべてのユーザーに、あるいは現在のユーザーのみに影響を与えるべきかを示すフラグ。
【００４９】
.Ｄｅｌｅｔｅ()メソッド
ＸＭＬＮａｍｅｓｐａｃｅオブジェクトを集合から削除し、そしてそれを破壊するメソッドであって、このオブジェクトにより表されたネーム空間の関連付けをネーム空間ライブラリから効果的に削除する。
【００５０】
.Ｌｏｃａｔｉｏｎプロパティ
ＸＭＬＮａｍｅｓｐａｃｅオブジェクトにより表されたネーム空間に関連付けされたスキーマの位置を制御する読み取り専用のプロパティ。それは、次のパラメーターをサポートすることができる。  
ＡｌｌＵｓｅｒｓ−スキーマ位置設定がマシンのすべてのユーザーに、あるいは現在のユーザーのみに影響を与えるべきかを示すフラグ。
【００５１】
.Ｐａｒｅｎｔプロパティ
ＸＭＬＮａｍｅｓｐａｃｅオブジェクトの親オブジェクトを返す読み取り専用のプロパティ。このプロパティはそのオブジェクトがメンバーとなるＸＭＬＮａｍｅｓｐａｃｅ集合に対してポインタを返す。
【００５２】
.ＵＲＩプロパティ
オブジェクトにより表されるネーム空間のＵＲＩを返す読み取り専用のプロパティ。
【００５３】
.ＸＳＬＴｒａｎｓｆｏｒｍプロパティ
オブジェクトにより表されたネーム空間に関連付けられたＸＳＬＴ変換を表すＸＳＬＴｒａｎｓｆｏｒｍ集合に対する読み取り専用のポインタ。
【００５４】
（ＸＳＬＴｒａｎｓｆｏｒｍオブジェクト）−それぞれがネーム空間ライブラリでのネーム空間に関連付けられた単一かつ一意なＸＳＬＴ変換を表すＸＳＬＴｒａｎｓｆｏｒｍオブジェクトへのアクセスを提供するオブジェクト。以下はこのオブジェクトのメソッドおよびプロパティである。
【００５５】
.Ａｄｄ()メソッド
新しいＸＳＬＴｒａｎｓｆｏｒｍオブジェクトを作成し、その集合に追加するメソッド。それは、新しいＸＳＬＴ変換をネーム空間ライブラリでのネーム空間に関連付けるために用いられる。それは、新しいＸＳＬＴｒａｎｓｆｏｒｍオブジェクトを返す。それは、次のパラメーターを受け入れることができる。  
Ｌｏｃａｔｉｏｎ−ＸＳＬＴファイルに対するポインタであり、テキスト文字列として表されるファイルパスであり得る。  
Ａｌｉａｓ−プログラマが指定することが可能なＸＳＬＴ変換に対する代替の（より使い勝手の良い）名前を表すテキスト文字列。  
ＩｎｓｔａｌｌＦｏｒＡｌｌＵｓｅｒｓ−ネーム空間ライブラリでの新しいネーム空間がコンピュータのすべてのユーザーにとって、あるいは現在のユーザーのみにとって利用可能であるべきかを示すフラグ。
【００５６】
.Ａｐｐｌｉｃａｔｉｏｎプロパティ
このオブジェクトモデルのアプリケーションを表すアプリケーションオブジェクトに対する読み取り専用のポインタ。
【００５７】
.Ｃｏｕｎｔプロパティ
ネーム空間ライブラリでの所与のネーム空間に対する登録されたＸＳＬＴ変換の数を返す読み取り専用のプロパティ。それは、ＸＳＬＴｒａｎｓｆｏｒｍ集合でのＸＳＬＴｒａｎｓｆｏｒｍオブジェクトの合計の数と同じである。
【００５８】
.Ｃｒｅａｔｏｒプロパティ
オブジェクトの作成者に対する読み取り専用のポインタ。
【００５９】
.Ｉｔｅｍ()メソッド
数字のインデックスあるいは検索キーワードを用いてこの集合の個別のメンバーにアクセスするメソッド。それは、次のパラメーターを受け入れることができる。  
Ｉｎｄｅｘ−ネーム空間ライブラリにおいて要求されたＸＳＬＴｒａｎｓｆｏｒｍオブジェクトの位置を表す数。インデックスは、要求されたＸＳＬ変換のエイリアスを表すテキスト文字列でもあり得る。
【００６０】
.Ｐａｒｅｎｔプロパティ
その集合の親オブジェクトを返す読み取り専用のプロパティ。このプロパティはＸＳＬＴｒａｎｓｆｏｒｍ集合をアクセスするアプリケーションに対してポインタを返す。
【００６１】
（ＸＳＬＴｒａｎｓｆｏｒｍオブジェクト）−ネーム空間ライブラリでのネーム空間に関連付けられたＸＳＬＴ変換を表すオブジェクト。以下はこのオブジェクトのメソッドおよびプロパティである。
【００６２】
.Ａｌｉａｓプロパティ
プログラマがネーム空間ライブラリでＸＳＬＴ変換に関連付けたエイリアスを制御するプロパティ。それは、次のパラメーターをサポートすることができる。  
ＡｌｌＵｓｅｒｓ−エイリアス（別名）がすべてのユーザーにとって、あるいは単に現在のユーザーにとって利用可能であるかを示すフラグ。
【００６３】
.Ａｐｐｌｉｃａｔｉｏｎプロパティ
オブジェクトモデルのアプリケーションを表すアプリケーションオブジェクトに対する読み取り専用のポインタ。
【００６４】
.Ｃｒｅａｔｏｒプロパティ
オブジェクトの作成者に対する読み取り専用のポインタ。
【００６５】
.Ｄｅｌｅｔｅ()メソッド
ＸＳＬＴｒａｎｓｆｏｒｍオブジェクトを集合から削除し、そしてそれを破壊するメソッドであって、ネーム空間ライブラリでのＸＳＬＴ変換とそのネーム空間との間の関連付けを効果的に削除する。
【００６６】
.Ｌｏｃａｔｉｏｎプロパティ
所与のネーム空間に関連付けられ、ＸＳＬＴｒａｎｓｆｏｒｍオブジェクトにより表されたＸＳＬＴ変換の位置を制御する読み取り専用のプロパティ。それは、次のパラメーターをサポートすることができる。  
ＡｌｌＵｓｅｒｓ−ＸＳＬＴ変換位置設定がマシンのすべてのユーザーに、あるいは現在のユーザーのみに影響を与えるべきであるかを示すフラグ。
【００６７】
.Ｐａｒｅｎｔプロパティ
ＸＳＬＴｒａｎｓｆｏｒｍオブジェクトの親オブジェクトを返す読み取り専用のプロパティ。このプロパティは、オブジェクトがメンバーになっているＸＳＬＴｒａｎｓｆｏｒｍ集合に対してポインタを返す。
【００６８】
本明細書に記述されたように、ユーザーが、ネーム空間あるいはスキーマライブラリにおいて識別され、あるいは含まれるリソースと、１つあるいは複数の関連付けられたドキュメントとの関連付けをカスタマイズし、あるいはさもなければ修正するために、拡張可能なマークアップ言語（ＸＭＬ）のネーム空間あるいはスキーマライブラリで識別されたリソースを、プログラムで呼び出すことを可能にする方法およびシステムが提供される。
【００６９】
当業者には、本発明における発明の範囲あるいは精神から逸脱することなく種々の修正あるいは変更が為される可能性があることは明白である。本発明の他の実施形態はここに開示された発明の明細書および実施例を考慮することにより当業者にとり明白になる。
【図面の簡単な説明】
【００７０】
【図１】本発明に対する例示的な動作環境を提供する、コンピュータ処理システムおよび関連付けられた周辺機器およびネットワーク装置の単純化されたブロック図である。
【図２】オブジェクト指向プログラミングモデルによる、ソフトウェアオブジェクト間の相互作用を例示する単純化されたブロック図である。
【図３】ドキュメント、添付されたスキーマファイル、およびスキーマ妥当性検査機能モデルの間の相互作用を例示するブロック図である。
【図４】ドキュメント、ネーム空間あるいはスキーマライブラリ、およびサードパーティソフトウェアアプリケーションの間の相互作用を例示するブロック図である。
【符号の説明】
【００７１】
４  中央処理装置
６  システムメモリ
８  ランダムアクセスメモリ
１０  読み取り専用メモリ
１４  大容量記憶装置
１６  オペレーティングシステム
１８  ＴＣＰ／ＩＰネットワーク
２０  ネットワークインタフェースユニット
２２  入力／出力コントローラ
２６  言語設定
３０５  アプリケーションプログラム
３１０  ドキュメント
３３０  スキーマファイル
４００  ネーム空間ライブラリ
【図１】
2005174340.tif 000003
【図２】
2005174340.tif 000004
【図３】
2005174340.tif 000005
【図４】
2005174340.tif 000006