Lucene-Suchteilnehmer
Kennung:
org.eclipse.help.base.luceneSearchParticipants
Seit:
3.2
Beschreibung:
Dieser Erweiterungspunkt sollte verwendet werden, um Dokumentinhalt zum Lucene-Suchindex hinzuzufügen. Es gibt zwei Fälle, in denen das Hinzufügen eines Suchteilnehmers sinnvoll sein kann:
-
Dokumente, die im Inhaltsverzeichnis der Hilfefunktion registriert sind, jedoch nicht im HTML-Format vorhanden sind (sondern beispielsweise als XML-Datei) sollen indexiert werden. In diesem Fall muss der Teilnehmer Dateierweiterungen deklarieren, die er verarbeiten kann. Er wird aufgerufen, um jedes übereinstimmende Dokument zu indexieren. In diesem Fall hat der Teilnehmer den Geltungsbereich eines Plug-ins.
-
Dokumente, die nicht zum Inhaltsverzeichnis der Hilfefunktion gehören, sollen indexiert werden. In diesem Fall erhält der Teilnehmer die Möglichkeit, alle ihm bekannten Dokumente auf einmal zu indexieren. Außerdem wird an den Teilnehmer die Task delegiert, das Suchergebnis zu öffnen, weil die Hilfefunktion Dokumente außerhalb des Inhaltsverzeichnisses nicht öffnen kann. In diesem Fall hat der Teilnehmer einen globalen Geltungsbereich.
Suchteilnehmer sind den Plug-ins zugeordnet, in denen die Erweiterung vorkommt. Um den Teilenehmer in anderen Plug-ins wiederverwenden zu können, sollte mit einem Element binding
auf diese verwiesen werden. Diese Strategie verhindert, dass ein Plug-in seinen Teilnehmer im gesamten Produkt für die Dateierweiterungen erkennbar macht, für die er registriert ist. Durch das Hinzufügen eines expliziten Verweises deklariert das Plug-in, dass der Suchteilnehmer, auf den verwiesen wird, die Indexierung von Dokumenten mit den entsprechenden Erweiterungen vornehmen darf. Bei Dokumenten, die nicht im Inhaltsverzeichnis enthalten sind, besteht dieses Risiko nicht. Aus diesem Grund ist der Geltungsbereich global, und das Element binding
sollte nicht verwendet werden.
Konfigurationsbefehle:
<!ELEMENT extension (searchParticipant | binding)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT searchParticipant (participant?)>
<!ATTLIST searchParticipant
id CDATA #REQUIRED
name CDATA #IMPLIED
icon CDATA #IMPLIED
participant CDATA #IMPLIED
extensions CDATA #IMPLIED
headless (true | false) "false">
- id: Eindeutige Kennung dieses Suchteilnehmers.
- name: Ein optional übersetzbarer Name, mit dem der Teilnehmer als Dokumentkategorie dargestellt wird, die in die Suche einbezogen werden kann. Der Name ist nicht erforderlich, wenn der Teilnehmer für Dokumente im Inhaltsverzeichnis verwendet wird (also dann, wenn das Attribut
extensions
festgelegt ist).
- icon: Ein optionales Symbol, mit dem gefundene Suchbegriffe aus den durch diesen Teilnehmer indexierten Dokumenten zurückgegeben werden. Das Symbol wird für die Dokumente verwendet, die nicht zum Inhaltsverzeichnis der Hilfe gehören. Hierdurch wird kenntlich gemacht, dass beim Öffnen des gefundenen Suchbegriffs möglicherweise eine andere Aktion als das Anzeigen des normalen Hilfedokuments ausgeführt wird. Infolgedessen ist das Symbol nicht erforderlich, wenn der Teilnehmer für Dokumente im Inhaltsverzeichnis verwendet wird (also dann, wenn das Attribut
extensions
festgelegt ist).
- participant: Die Implementierungsklasse für den Suchteilnehmer der Hilfe (neu in 3.2). Diese Klasse muss die Schnittstelle org.eclipse.help.search.ILuceneSearchParticipant implementieren. Das Attribut kann übergangen werden und stattdessen das verschachtelte Element participant bereitgestellt werden.
- extensions: Ein optionales Feld mit der Liste der Dateitypen, die durch den Suchteilnehmer verarbeitet werden. Es handelt sich hierbei um eine Zeichenfolge mit durch Kommata abgegrenzten Dateierweiterungen (z. B. "abc, xyz"). Dieses Attribut sollte verwendet werden, wenn Dateien der Hilfefunktion im Erweiterungspunkt
org.eclipse.help.toc
explizit bekannt gegeben werden sollen. Wenn dieses Attribut nicht vorhanden ist, ist dies ein Anzeichen dafür, dass der Teilnehmer alle Dokumente, für die er zuständig ist, selbst indexiert.
Bitte beachten Sie auch, dass Teilnehmer, die für bekannte Dokumente registriert sind, den Geltungsbereich eines Plug-ins haben. Falls Sie Teilnehmer auf Dokumente in anderen Plug-ins anwenden wollen, müssen Sie den Geltungsbereich unter Verwendung des Elements binding
erweitern. Teilnehmer, die dieses Attribut nicht angeben, haben hingegen einen globalen Geltungsbereich.
- headless: Dieses Attribut gibt an, ob der Suchteilnehmer verwendet werden soll, wenn die Hilfefunktion außerhalb der Eclipse-Workbench ausgeführt wird (also entweder im eigenständigen Modus oder im Modus für das Infocenter). Der Standardwert ist
false
(= der Suchteilnehmer wird nicht verwendet).
<!ELEMENT participant (parameter*)>
<!ATTLIST participant
class CDATA #IMPLIED>
- class: Die Implementierungsklasse für den Suchteilnehmer der Hilfe. Diese Klasse muss die Schnittstelle org.eclipse.help.search.ILuceneSearchParticipant implementieren.
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
- name: Der Name eines Parameters, der an die Implementierungsklasse weitergegeben wird.
- value: Der Wert eines Parameters, der an die Implementierungsklasse weitergegeben wird.
<!ELEMENT binding EMPTY>
<!ATTLIST binding
participantId CDATA #IMPLIED>
- participantId: Ein Verweis auf den Suchteilnehmer, der an einer anderen Stelle mit dem Element
searchParticipant
deklariert ist. Mit einem Binding können Suchteilnehmer in Plug-ins wiederverwendet werden, ohne die Top-down-Richtlinie zu verletzen. Das Binding ist nur bei der Indexierung von Dokumenten erforderlich, die im Inhaltsverzeichnis enthalten sind. Andernfalls hat der Teilnehmer einen globalen Geltungsbereich.
Beispiele:
Das folgende Beispiel zeigt die Verwendung des Erweiterungspunktes:
<extension point=
"org.eclipse.help.base.luceneSearchParticipant"
>
<searchParticipant id=
"org.eclipse.myGlobalParticipant"
name=
"Global Participant"
icon=
"icons/mydoc.gif"
participant=
"org.eclipse.myPlugin.myPackage.MyGlobalParticipant"
headless=
"true"
/>
<searchParticipant id=
"org.eclipse.myXYZParticipant"
extensions=
"xyz"
participant=
"org.eclipse.myPlugin.myPackage.MyXYZParticipant"
/>
</extension>
API-Informationen:
Die bereitgestellte Klasse für den Suchteilnehmer muss die abstrakte Klasse org.eclipse.help.search.LuceneSearchParticipant erweitern.
Bereitgestellte Implementierung:
Die Hilfefunktion stellt einen Suchteilnehmer für XHTML-Dateien (Erweiterung "xhtml") zur Verfügung. Plug-ins, deren Inhaltsverzeichnis dynamische XHTML-Dokumente enthält, müssen mit dem Element binding
und der Zielteilnehmer-ID org.eclipse.help.base.xhtml
ein Binding an diesen Teilnehmer herstellen.
Copyright (c) 2005, 2006 IBM Corporation und Andere.
Alle Rechte vorbehalten. Dieses Programm und sein Begleitmaterial werden gemäß den Bedingungen der "Eclipse Public License v1.0" zur Verfügung gestellt, die dieser Lieferung beiliegt und unter
http://www.eclipse.org/legal/epl-v10.html abgerufen werden kann.