Innholdsavhengig hjelp beskrives ved å knytte kontekst-IDen som er deklarert i brukergrensesnittkoden, til en beskrivelse og liste over linker til beslektede emner i hjelpen. Tilknytningene utføres i en XML-fil. For hver plugin-modul kan du opprette et ubegrenset antall XML-filer med konteksthjelptilknytninger. Beskrivelsene og linkene for hver enkelt kontekst-ID angis i <context>-elementer i XML-filen. Hvert kontekstelement kan ha et valgfritt <description>-element som beskriver brukergrensesnittobjektet, og et ubegrenset antall <topic>-elementer med link til dokumentasjonen.
Fra og med versjon 3.1 er det mulig å la kontekstelementer overstyre standardtittelen som presenterer konteksthjelpinformasjonen i Hjelp-visningen.
<contexts> <context id="panic_button" title="Panic Button Title"> <description>This is the panic button.</description> <topic href="tasks/pushing_the_panic_button.htm" label="Pushing the panic button"/> <topic href="reference/panic_button.htm" label="Panic Button Reference"/> </context> ... </contexts>
Når konteksten er beskrevet i XML-filen (eller filene), kan du referere til kontekstfilene i plugin-manifestet. Merk at kontekst-IDen ovenfor ikke er fullstendig. Dette er tillatt så lenge kontekstfilen oppgis i manifestet for plugin-modulen som definerte kontekst-IDen. Kontekst-IDen tilordnes med andre ord IDen for plugin-modulen som oppgav XML-filen.
En plugin-modul oppgir kontekstfiler ved hjelp av utvidelsespunktet org.eclipse.help.contexts.
<extension point="org.eclipse.help.contexts"> <contexts name="myContextHelp.xml" /> </extension>
Du kan referere til kontekstfiler fra andre plugin-moduler ved å bruke attributtet plugin. Med dette attributtet kan du gruppere hele dokumentasjonen (inkludert innholdsavhengig hjelp) i en plugin-modul og referere til den fra plugin-modulen for brukergrensesnittkoden eller fra en annen beslektet plugin-modul.
<extension point="org.eclipse.help.contexts"> <contexts name="myContextHelp.xml" plugin="com.example.helpExample" /> </extension>
Som du ser har du stor grad av fleksibilitet til å organisere konteksten i en eller flere filer som inngår i en eller flere plugin-moduler. Det viktigste er at kontekst-IDene i filene tilordnes på riktig måte. Hvis du ikke bruker fullstendig kvalifiserte kontekst-IDer, må du oppgi XML-filene for konteksten, i plugin-modulen som deklarerte kontekst-IDene. Hvis du bruker fullstendig kvalifiserte kontekst-IDer i XML-filen for kontekst, har du full fleksibilitet når det gjelder plassering av XML-filene og hvilken plugin-modul som skal oppgi kontekst.
Fleksibiliteten forbedres ytterligere ved at det er mulig å oppgi kontekstavhengig hjelp for samme kontekst-ID, fra ulike plugin-moduler. Dette er nyttig hvis det for eksempel er ulike sett med plugin-moduler for dokumentasjon som eventuelt er eller ikke er installert i en brukerkonfigurering. Dermed kan hver plugin-modul for dokumentasjon deklarere konteksten fritt. Sluttbrukeren vil se kontekstavhengig hjelp som er sammenslått for alle plugin-moduler med kontekst for widget-IDen.
Merk at her må den fullstendig kvalifiserte kontekst-IDen for widgeten brukes, siden ingen av plugin-modulene for dokumentasjon deklarerte kontekst-IDen. Når flere plugin-moduler oppgir kontekstavhengig hjelp for samme kontekst-ID, vises først innholdet som er definert i plugin-modulen som deklarerte konteksten (plugin-modul for brukergrensesnitt). Øvrige beskrivelser og linker tilføyes i uspesifisert rekkefølge.
Dynamisk innhold
Dynamisk innhold er tilgjengelig for konteksthjelpen i form av filtre for linker i konteksthjelpemner. Du ønsker kanskje at en emnelink bare skal vises i konteksthjelpen når du kjører et bestemt operativsystem.