plugin.xml ファイル

プラグインは、plugin.xml という XML マニフェスト・ファイルに記述されています。 このファイルは、プラグイン・デプロイメント・ファイルの一部です。 マニフェスト・ファイルにより、 ポータル・アプリケーションのランタイムに、プラグインの登録とアクティブ化にはどんな情報が必要かが指示されます。 マニフェスト・ファイルは、基本的には、プラグ可能なコンポーネントと ポータル・アプリケーションのランタイムとの間の契約書のような役割を果たします。WebSphere® Application Server の plugin.xml は、Eclipse ワークベンチ用に用意されているものとほぼ同じですが、いくつかの点で Eclipse ワークベンチの場合とは異なっています。

ロケーション

Web アプリケーション・アーカイブ・ファイルに組み込む場合は、plugin.xml ファイルを、その Web アプリケーション用に存在するディレクトリー階層のコンテキストの下の WEB-INF ディレクトリーに置く必要があります。plugin.xml ファイルが Enterprise JavaBeans Java™ アーカイブ (JAR) ファイルまたは共有ライブラリー JAR ファイルに置かれている場合は、plugin.xml ファイルをルート・ディレクトリーに置く必要があります。 参加コンポーネントがアプリケーション・サーバー上にロードされ、開始されると、 拡張レジストリー・サービスに plugin.xml ファイルが組み込まれます。

使用上の注意

  • このファイルは読み取り専用ですか?

    いいえ

  • このファイルは製品コンポーネントによって更新されますか?

    ???

  • 更新される場合、その更新のきっかけとなるものは何ですか?

    Rational Application Developer は、Web コンポーネントを Web モジュールにアセンブルする際、または Web コンポーネントあるいは Web モジュールのプロパティーを変更する際に、web.xml ファイルを更新します。

  • このファイルの内容は、いつ、どのように使用されますか?

    WebSphere Application Server の機能では、Web アプリケーション開発の構成およびデプロイメント段階において、このファイル内の情報が使用されます。

  • マニフェスト・マークアップ定義は、さまざまなネーミング・トークンおよび ID を利用します。 あいまいさを避けるために、これらの命名規則には以下のような運用上のルールがあります。 一般に、ID ではすべて大/小文字が区別されます。
    SimpleToken := sequence of characters from ('a-z','A-Z','0-9') 
    ComposedToken := SimpleToken | (SimpleToken '.' ComposedToken) 
    PlugInId := ComposedToken
    PlugInPrereq := PlugInId 
    ExtensionId := SimpleToken 
    ExtensionPointId := SimpleToken 
    ExtensionPointReference := ExtensionPointId | (PlugInId '.' ExtensionPointId)

サンプル・ファイル・エントリー

プラグイン・マニフェスト DTD 全体は、以下のようになります。 XML スキーマはマニフェストの定義には使用されません。プラグイン用の Eclipse ツールが、現時点では DTD を必要とするためです。 XML DTD 構造規則の element* は、そのエレメントがゼロ回以上出現することを意味します。element? は、 そのエレメントがゼロ回または 1 回出現することを意味します。そして element+ は、 そのエレメントが 1 回以上出現することを意味します。

<?xml encoding="US-ASCII"?>  

<!ELEMENT plugin (requires?, extension-point*, extension*)> 
<!ATTLIST plugin 
		name	CDATA #IMPLIED
		id	CDATA #REQUIRED 
		version	CDATA #REQUIRED 
		provider-name	CDATA #IMPLIED
>
<!ELEMENT requires (import+)>
<!ELEMENT import EMPTY>
<!ATTLIST import
		plugin	CDATA #REQUIRED
		version	CDATA #IMPLIED
				match	(exact | compatible | greaterOrEqual) #IMPLIED
>
<!ELEMENT extension-point EMPTY>  
<!ATTLIST extension-point 
		name	CDATA #IMPLIED
		id	CDATA #REQUIRED    
		schema	CDATA #IMPLIED 
>
<!ELEMENT extension ANY>
<!ATTLIST extension 
		point	CDATA #REQUIRED 
		id	CDATA #IMPLIED
		name	CDATA #IMPLIED
>

WebSphere Application Server の違い

plugin.xml ファイルは、Eclipse ワークベンチ用に用意されている plugin.xml とほぼ同じです。 ただし、以下のエレメント内で違いがあります。
plugin エレメント
このマニフェストで提供されるプラグイン・エレメントには、クラス属性は含まれていません。 クラス属性が不要なのは、プラグイン・メカニズムでは、 Eclipse ワークベンチで必要な特定のクラスをプラグイン開発者が拡張または使用する必要がないためです。 また、プラグイン・エレメントにはランタイム・エレメントも含まれません。 これは、J2EE などの規格で、アプリケーションのランタイム・ライブラリーのロケーションが既に定義されているためです。
import エレメント
この必須エレメントには、エクスポート属性が含まれていません。管理を容易にするために、 J2EE モジュールは自己完結型であることが奨励されているためです。 エクスポート属性の除去に加えて、一致属性では、バージョンの一致で「より大か等しい」(greaterOrEqual) を選択することもできます。
extension-point エレメント
extension-point エレメントは、名前属性をオプションとして扱います。この J2EE 実装では、 この属性を実際に使用することはないためです。

プラグイン・マニフェストの詳細は、Eclipse 資料の、『Platform Plug-In Developer Guide』>『Other reference information』>『Plug-in manifest』に記載されています。

以下の例は、既存ページへのリンクの追加を拡張ポイントが実現する方法を示したものです。 このプラグインのプラグイン・マニフェストは、 拡張ポイント (linkExtensionPoint) と、この拡張ポイントへの拡張 (linkExtension) を宣言しています。 拡張ポイントを宣言するプラグインは、 その拡張ポイントを実装するプラグインでなくてもかまいません。 <extension> タグと </extension> タグの内容をプラグイン・マニフェストに組み込むことにより、別のプラグインが、そのマニフェスト内のリンク拡張ポイントへの拡張を定義することもできます。
<?xml version="1.0"?>
<!--the plugin id is derived from the vendor domain name --> 
<plugin
			id=”com.ibm.ws.console.core” 
			version=”1.0.0” 
			provider-name=”IBM WebSphere”>

		<!--declaration of prerequisite plugins-->
	<requires>
  		<import plugin=”com.ibm.data” version=”2.0.1” match=”compatible”/>
   	<import plugin=”com.ibm.resources” version=”3.0” match=”exact”/>
	</requires>

	<!--declaration of link extension point --> 
		<extension-point 
				id=”linkExtensionPoint” 
				schema=”/schemas/linkSchema.xsd”/>


	<!--declaration of an extension to the link extension point -->
		<extension 
				point=”com.ibm.ws.console.core.linkExtensionPoint” 
				id=”linkExtension”>

						<link               
					label=”Example.displayName” 
					actionView=”com.ibm.ws.console.servermanagement.forwardCmd.do?
								forwardName=example.config.view&
								lastPage=ApplicationServer.config.view”>
			</link>
	</extension>
</plugin>

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rweb_pluginxml
ファイル名:rweb_pluginxml.html