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