拡張ポイント・スキーマ

「拡張」は、新規のフィーチャーをプラットフォームに追加するためにプラグインが使用する重要なメカニズムです。 「拡張」を任意に作成することはできません。「拡張」は、拡張ポイントによって定義される明確な指定に基づいて宣言されます。 

各拡張は、拡張を試行している拡張ポイントの指定に準拠する必要があります。 各拡張ポイントでは、拡張が宣言しなければならない属性と期待値が定義されています。 この情報は、プラットフォームのプラグイン・レジストリーに保持されます。 拡張ポイントのプロバイダーはレジストリーにこれらの値を照会するため、 プラグインがこの情報を必ず提供していることが重要です。   

最も基本的なフォームでは、拡張ポイント宣言は非常に単純なものです。  拡張ポイント宣言は、拡張ポイントの ID と名前を定義します。  拡張ポイントが期待するその他の情報はすべてその拡張ポイントに固有のものであり、それについては別の文書で説明します。  (プラットフォームの拡張ポイントの定義については、 「プラットフォーム拡張ポイントの解説」を 参照してください。)

参照ドキュメンテーションは役立ちますが、 それによって拡張の仕様の妥当性検査を行うためのプログラム化された支援が使用可能になるわけではありません。 したがって、PDE は、拡張ポイントを自動処理するために適したフォーマットで記述する拡張ポイント・スキーマを導入しています。

拡張ポイント・スキーマは、W3C 仕様で定義されている有効な XML スキーマです。 ただし、完全な XML スキーマ仕様は非常に複雑であり、ほとんどの部分はこの特定の使用には不要です。 したがって、PDE は XML スキーマのフィーチャーのサブセットのみを使用します。  各拡張ポイント・スキーマは妥当な XML スキーマですが、PDE は使用可能なフィーチャーをすべて使用するわけではありません。

拡張ポイント・スキーマの利点

拡張ポイントを PDE の拡張ポイントの XML スキーマを使用して記述することには、以下のような多くの利点があります。

  1. 拡張ポイントの文法は、エレメント、属性、および型を形式的に表現することを可能にしています。 ツールは、この情報を使用して、拡張の妥当性を検査したり、あるいは拡張の作成を支援することができます。
  2. XML スキーマは、Java ソース内の Javadoc に類似のドキュメンテーション注釈を提供しています。 このメカニズムは、妥当なエレメントと属性の簡単なテキストを、これらのエレメントと属性の宣言に結び付けます。 属性を除去すると、その属性のドキュメンテーションも除去されるため、 より簡単にドキュメンテーションを同期させることができます。 参照文書を更新する必要はありません。
  3. 参照ドキュメンテーションを生成することができます。 PDE は、拡張ポイント・スキーマの変更を追跡し、 即座に参照ドキュメンテーションを更新します。
  4. スキーマを処理するツールが使用することのできる拡張ポイントに関するメタデータを追加することができます。  PDE はこのメカニズムを使用して、エレメントと属性に関する情報を追加します。 例えば、属性が「Java」とマークされている場合、 PDE は、Java プラットフォームのフィーチャーとの対話による値の設定を支援することができます。

「PDE XML スキーマ」サポートの制限

PDE は、XML スキーマの小さなサブセットを使用します。  完全な XML スキーマのフィーチャー・セットを使用しても、このような特定の場合には、過剰機能になるだけです。 このサブセットを使用すると、DTD からスキーマへの 1->1 のマッピングが可能になりますが、DTD の制限はありません。 以下に、PDE の拡張ポイント・スキーマの主な制限を示します。

  1. グローバルなエレメント宣言しか許可されていません。
  2. ローカルな属性宣言しか許可されていません。 グローバル属性を宣言することはできません。
  3. allsequencechoice および group というコンポジターがサポートされています。
  4. グローバルな型はサポートされていません。 型は宣言する必要があり、宣言後は即時に使用しなければなりません。
  5. 属性の型は stringboolean のみです。
  6. 属性が string 型の場合は、enumeration 制限だけがサポートされます。

これらの制限を使用して XML を作成すると、作成されたファイルは、 同じ文法を定義する等価な DTD と酷似していることがわかります。スキーマの利点は、 注釈にあります (ドキュメンテーションおよびメタデータの両方)。 さらに、XML スキーマ自体は XML で書かれており、 それにより、XML スキーマの処理が容易になり、可読性が向上するという利点もあります。

上記のリストは、参照のみを目的としています。XML スキーマの定義には、 正しいファイルの生成を支援する PDE のスキーマ・エディターを使用するのが一般的です。

 
Copyright IBM Corporation and others 2000, 2003