「拡張」は、新規のフィーチャーをプラットフォームに追加するためにプラグインが使用する重要なメカニズムです。 「拡張」を任意に作成することはできません。「拡張」は、拡張ポイントによって定義される明確な指定に基づいて宣言されます。
各拡張は、拡張を試行している拡張ポイントの指定に準拠する必要があります。 各拡張ポイントでは、拡張が宣言しなければならない属性と期待値が定義されています。 この情報は、プラットフォームのプラグイン・レジストリーに保持されます。 拡張ポイントのプロバイダーはレジストリーにこれらの値を照会するため、 プラグインがこの情報を必ず提供していることが重要です。
最も基本的なフォームでは、拡張ポイント宣言は非常に単純なものです。 拡張ポイント宣言は、拡張ポイントの ID と名前を定義します。 拡張ポイントが期待するその他の情報はすべてその拡張ポイントに固有のものであり、それについては別の文書で説明します。 (プラットフォームの拡張ポイントの定義については、 「プラットフォーム拡張ポイントの解説」を 参照してください。)
参照ドキュメンテーションは役立ちますが、 それによって拡張の仕様の妥当性検査を行うためのプログラム化された支援が使用可能になるわけではありません。 したがって、PDE は、拡張ポイントを自動処理するために適したフォーマットで記述する拡張ポイント・スキーマを導入しています。
拡張ポイント・スキーマは、W3C 仕様で定義されている有効な XML スキーマです。 ただし、完全な XML スキーマ仕様は非常に複雑であり、ほとんどの部分はこの特定の使用には不要です。 したがって、PDE は XML スキーマのフィーチャーのサブセットのみを使用します。 各拡張ポイント・スキーマは妥当な XML スキーマですが、PDE は使用可能なフィーチャーをすべて使用するわけではありません。
拡張ポイントを PDE の拡張ポイントの XML スキーマを使用して記述することには、以下のような多くの利点があります。
PDE は、XML スキーマの小さなサブセットを使用します。 完全な XML スキーマのフィーチャー・セットを使用しても、このような特定の場合には、過剰機能になるだけです。 このサブセットを使用すると、DTD からスキーマへの 1->1 のマッピングが可能になりますが、DTD の制限はありません。 以下に、PDE の拡張ポイント・スキーマの主な制限を示します。
これらの制限を使用して XML を作成すると、作成されたファイルは、 同じ文法を定義する等価な DTD と酷似していることがわかります。スキーマの利点は、 注釈にあります (ドキュメンテーションおよびメタデータの両方)。 さらに、XML スキーマ自体は XML で書かれており、 それにより、XML スキーマの処理が容易になり、可読性が向上するという利点もあります。
上記のリストは、参照のみを目的としています。XML スキーマの定義には、 正しいファイルの生成を支援する PDE のスキーマ・エディターを使用するのが一般的です。