Στοιχεία συμμετοχής σε αναζήτηση του Lucene

org.eclipse.help.base.luceneSearchParticipants

3.2

Αυτό το σημείο επέκτασης πρέπει να χρησιμοποιείται για την προσθήκη περιεχομένου εγγράφων στο ευρετήριο αναζήτησης Lucene. Υπάρχουν δύο περιπτώσεις που θα θέλατε να προσθέσετε ένα στοιχείο συμμετοχής αναζήτησης:
  1. Για την ευρετηριοποίηση των εγγράφων που έχουν καταχωρηθεί με το TOC του συστήματος βοήθειας και δεν έχουν μορφή HTML (π.χ. XML). Στην περίπτωση αυτή, το στοιχείο συμμετοχής πρέπει να δηλώσει τις επεκτάσεις αρχείου που μπορεί να χειριστεί. Θα κληθεί για την ευρετηριοποίηση κάθε εγγράφου που συμφωνεί. Στην περίπτωση αυτή, το στοιχείο συμμετοχής διαθέτει την εμβέλεια της πρόσθετης λειτουργίας.
  2. Για την ευρετηριοποίηση εγγράφων εκτός του TOC του συστήματος βοήθειας. Στην περίπτωση αυτή, θα δοθεί στο στοιχείο συμμετοχής η ευκαιρία ταυτόχρονης ευρετηριοποίησης όλων των εγγράφων που γνωρίζει. Επιπλέον, θα ανατεθεί στο στοιχείο συμμετοχής η εργασία ανοίγματος του αποτελέσματος αναζήτησης, επειδή το σύστημα βοήθειας δε θα γνωρίζει τον τρόπο ανοίγματος εγγράφων εκτός του TOC. Στην περίπτωση αυτή, το στοιχείο συμμετοχής διαθέτει καθολική εμβέλεια.

Τα στοιχεία συμμετοχής αναζήτησης συσχετίζονται με την πρόσθετη λειτουργία, στην οποία εμφανίζεται η επέκταση. Για να χρησιμοποιηθεί εκ νέου το στοιχείο συμμετοχής σε άλλες πρόσθετες λειτουργίες, πρέπει να χρησιμοποιηθεί το binding, το οποίο θα παραπέμπει σε αυτές. Αυτή η στρατηγική εμποδίζει μια πρόσθετη λειτουργία να επιβάλει το στοιχείο συμμετοχής σε ολόκληρο το προϊόν για τις επεκτάσεις αρχείου με τις οποίες καταχωρήθηκε. Με την προσθήκη μιας απόλυτης παραπομπής, η πρόσθετη λειτουργία δηλώνει ότι επιτρέπει στο στοιχείο συμμετοχής αναζήτησης, στο οποίο έγινε η παραπομπή, να χειριστεί την ευρετηριοποίηση εγγράφων με αυτές τις επεκτάσεις. Για έγγραφα που δεν αποτελούν τμήμα του TOC, δεν υπάρχει τέτοιος κίνδυνος. Για αυτό το λόγο, είναι καθολικά και δεν πρέπει να χρησιμοποιηθεί το binding.

<!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">


<!ELEMENT participant (parameter*)>

<!ATTLIST participant

class CDATA #IMPLIED>


<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>


<!ELEMENT binding EMPTY>

<!ATTLIST binding

participantId CDATA #IMPLIED>


Παρακάτω δίνεται ένα παράδειγμα χρήσης του σημείου επέκτασης:

  

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

Η παρεχόμενη κλάση του στοιχείου συμμετοχής αναζήτησης πρέπει να επεκτείνει την αφηρημένη κλάση org.eclipse.help.search.LuceneSearchParticipant.

Το σύστημα βοήθειας παρέχει στοιχείο συμμετοχής αναζήτησης για αρχεία XHTML (επέκταση xhtml). Οι πρόσθετες λειτουργίες που έχουν δυναμικά έγγραφα XHTML ως τμήμα του TOC πρέπει να συνδέονται με αυτό το στοιχείο συμμετοχής χρησιμοποιώντας το στοιχείο binding και το org.eclipse.help.base.xhtml ως ταυτότητα του στοιχείου συμμετοχής προορισμού.