Datei plugin.xml

Ein Plug-in wird in einer XML-Manifestdatei mit dem Namen plugin.xml beschrieben, die zu den Implementierungsdateien für Plug-ins gehört. Die Manifestdatei teilt der Laufzeitumgebung der Portalanwendung die erforderlichen Informationen für die Registrierung und Aktivierung des Plug-in mit. Die Manifestdatei ist im Wesentlichen ein Vertrag zwischen der Plug-in-Komponente und der Laufzeitumgebung der Portalanwendung. Obwohl die Datei plugin.xml von WebSphere Application Server eng an die Datei für die Eclipse-Workbench angelehnt ist, weicht sie an verschiedenen Stellen von Eclipse-Workbench-Version ab.

Position

Wenn sie in der Archivdatei der Webanwendung enthalten ist, muss die Datei plugin.xml im Verzeichnis WEB-INF unter dem Kontext der Verzeichnishierarchie für eine bestimmte Webanwendung gespeichert sein. Die Datei plugin.xml muss sich im Stammverzeichnis befinden, wenn sie in einer EJB-JAR-Datei oder in der JAR-Datei einer gemeinsam genutzten Bibliothek enthalten ist. Der Registrierungsservice für Erweiterungen verwendet die Datei plugin.xml, wenn die beteiligten Komponenten in den Anwendungsserver geladen und gestartet werden.

Verwendungshinweise

  • Ist diese Datei schreibgeschützt (Read-Only)?

    Nein

  • Wird diese Datei von einer Produktkomponente aktualisiert?

    ???

  • Wenn ja, wie wird die Aktualisierung ausgelöst?

    Rational Application Developer aktualisiert die Datei web.xml, wenn Sie Webkomponenten zu einem Webmodul assemblieren oder wenn Sie die Eigenschaften der Webkomponenten oder des Webmoduls ändern.

  • Wie und wann wird der Inhalt der Datei verwendet?

    Die Funktionen von WebSphere Application Server verwenden die in dieser Datei enthaltenen Informationen in den Konfigurations- und Implementierungsphasen während der Entwicklung der Webanwendung.

  • In den Markup-Definitionen für die Manifestdatei werden verschiedene Namenstoken und -kennungen verwendet. Zur Vermeidung von Mehrdeutigkeiten sollten die folgenden Erstellungsregeln für diese Namenskonventionen beachtet werden. Im Allgemeinen muss in Kennungen die Groß-/Kleinschreibung beachtet werden.
    SimpleToken := Folge von Zeichen aus den Bereichen ('a-z','A-Z','0-9')
    ComposedToken := SimpleToken | (SimpleToken '.' ComposedToken) 
    PlugInId := ComposedToken
    PlugInPrereq := PlugInId 
    ExtensionId := SimpleToken 
    ExtensionPointId := SimpleToken 
    ExtensionPointReference := ExtensionPointId | (PlugInId '.' ExtensionPointId)

Beispieldateieintrag

Im Folgenden sehen Sie die vollständige Manifest-DTD für Plug-ins. Es wird kein XML-Schema verwendet, um das Manifest zu definieren, weil die aktuellen Eclipse-Tools für Plug-ins eine DTD voraussetzen. Das Element * in den Erstellungsregeln für die XML-DTD steht für null oder mehrere Vorkommen des Elements. Das Element ? steht für null oder ein Vorkommen des Elements, und das Element + steht für ein oder mehrere Vorkommen des Elements.

<?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
>

Unterschiede zu WebSphere Application Server

Die Datei plugin.xml lehnt sich eng an die Datei plugin.xml für die Eclipse-Workbench an. In den folgenden Elementen weicht die Datei von WebSphere Application Server jedoch ab.
Element plugin
Das Element plugin in diesem Manifest enthält kein Attribut class. Das Attribut class ist überflüssig, weil der Plug-in-Mechanismus anders als bei der Eclipse-Workbench vom Plug-in-Entwickler nicht fordert, dass bestimmte Klassen erweitert oder verwendet werden. Außerdem enthält das Element plugin kein Element runtime, da Standards wie J2EE die Position der Laufzeitbibliotheken für die Anwendungen bereits definieren.
Element import
Das Element requires enthält kein Attribut export, da für eine bessere Verwaltbarkeit eigenständige J2EE-Module bevorzugt werden. Außerdem hat das Attribut match eine Option für größer-gleich, um mehrere Versionen zu erfassen (greaterOrEqual).
Element extension-point
Im Element extension-point ist das Attribut name optional, da es in dieser J2EE-Implementierung keine echte Anwendung findet.

Details zum Plug-in-Manifest finden Sie in der Eclipse-Dokumentation unter "Platform Plug-In Developer Guide > Other reference information > Plug-in manifest".

Im Folgenden wird anhand eines Beispiels gezeigt, wie über einen Erweiterungspunkt einer vorhandenen Seite ein Link hinzugefügt werden kann. Das Plug-in-Manifest dieses Plug-in deklariert einen Erweiterungspunkt (linkExtensionPoint) und eine Erweiterung für diesen Erweiterungspunkt (linkExtension). Das Plug-in, das den Erweiterungspunkt deklariert, muss nicht das Plug-in sein, das den Erweiterungspunkt implementiert. Ein anderes Plug-in kann auch eine Erweiterung für den Linkerweiterungspunkt (linkExtensionPoint) in seinem Plug-in-Manifest definieren, indem es den Inhalt der Tags <extension> und </extension> in das Manifest einfügt.
<?xml version="1.0"?>
<!-- Die Plug-in-ID wird aus dem Domänennamen des Anbieters abgeleitet -->
<plugin
			id=”com.ibm.ws.console.core” 
			version=”1.0.0” 
			provider-name=”IBM WebSphere”>

		<!-- Deklaration vorausgesetzter Plug-ins -->
	<requires>
  		<import plugin=”com.ibm.data” version=”2.0.1” match=”compatible”/>
   	<import plugin=”com.ibm.resources” version=”3.0” match=”exact”/>
	</requires>

	<!-- Deklaration des Linkerweiterungspunkts -->
		<extension-point 
				id=”linkExtensionPoint” 
				schema=”/schemas/linkSchema.xsd”/>


	<!-- Deklaration einer Erweiterung für den Linkerweiterungspunkt -->
		<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>

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rweb_pluginxml
Dateiname:rweb_pluginxml.html