Pomoc kontekstowa jest opisywana przez powiązanie identyfikatora kontekstu zadeklarowanego w kodzie interfejsu użytkownika z opisem oraz listą odsyłaczy do tematów pomocy elektronicznej dotyczących danego elementu. Te powiązania są zapisywane w pliku XML. Dla każdego modułu dodatkowego można utworzyć dowolną liczbę plików XML zawierających powiązania pomocy kontekstowej. Opis i odsyłacze dla każdego identyfikatora kontekstu są tworzone wewnątrz elementów <context> w pliku XML. Każdy element kontekstu może zawierać opcjonalny element <description> używany do opisywania obiektu interfejsu użytkownika oraz dowolną liczbę elementów <topic>, które odsyłają do dokumentacji w postaci elektronicznej.
Od wersji 3.1 elementy kontekstu mogą opcjonalnie przesłaniać domyślny tytuł używany do wyświetlania pomocy kontekstowej w widoku pomocy.
<contexts> <context id="panic_button" title="Tytuł przycisku alarmu"> <description>To jest przycisk alarmu.</description> <topic href="tasks/pushing_the_panic_button.htm" label="Naciskanie przycisku alarmu"/> <topic href="reference/panic_button.htm" label="Informacje o przycisku alarmu"/> </context> ... </contexts>
Gdy konteksty zostały już opisane w plikach XML można się do nich odwoływać w pliku manifestu modułu dodatkowego. Należy zwrócić uwagę, że w powyższym przykładzie identyfikator kontekstu nie był pełny. Jest to dopuszczalne w sytuacji, gdy plik kontekstu jest dostarczany w manifeście modułu dodatkowego definiującego ten identyfikator kontekstu. Inaczej mówiąc, identyfikator kontekstu jest tłumaczony na identyfikator modułu dodatkowego zawierającego plik XML.
Moduł dodatkowy dodaje pliki kontekstu przy użyciu punktu rozszerzenia org.eclipse.help.contexts.
<extension point="org.eclipse.help.contexts"> <contexts name="myContextHelp.xml" /> </extension>
Do plików kontekstu można się odwoływać z innych modułów dodatkowych, korzystając z atrybutu plugin. Pozwala to na zgrupowanie całej dokumentacji wraz z pomocą kontekstową w jednym module dodatkowym, do którego można się odwoływać z modułu dodatkowego kodu interfejsu użytkownika lub innego związanego z nim modułu.
<extension point="org.eclipse.help.contexts"> <contexts name="myContextHelp.xml" plugin="com.example.helpExample" /> </extension>
Jak widać istnieje spora elastyczność w podejściu do organizowania kontekstów, które mogą znajdować się w jednym lub wielu plikach zawartych w jednym lub wielu modułach dodatkowych. Najważniejsze jest, aby identyfikatory kontekstu były prawidłowo interpretowane w plikach. Jeśli stosowane identyfikatory kontekstu nie są pełne, należy dodać pliki XML kontekstu do modułu dodatkowego deklarującego identyfikatory kontekstu. Jeśli w pliku XML kontekstu zawarte są pełne identyfikatory kontekstu, to nie ma znaczenia, gdzie są położone pliki XML, ani który moduł dodatkowy udostępnia konteksty.
Kolejnym stopniem elastyczności jest możliwość wnoszenia pomocy kontekstowej dla tego samego identyfikatora kontekstu z różnych modułów dodatkowych. To może być przydatne w sytuacji, gdy istnieją różne zestawy modułów dodatkowych dokumentacji, zarówno zainstalowanych, jak i niezainstalowanych w konfiguracji użytkownika. Każdy moduł dodatkowy dokumentacji może dzięki temu zadeklarować niezależnie własne konteksty. Użytkownik końcowy zobaczy treść scalonej pomocy kontekstowej dla wszystkich modułów dodatkowych wnoszących konteksty dla danego identyfikatora widgetu.
Należy zwrócić uwagę, że dla widgetu musi być zastosowany pełny identyfikator kontekstu, ponieważ żaden z modułów dodatkowych dokumentacji nie deklarował identyfikatora kontekstu. Gdy wiele modułów dodatkowych wnosi pomoc kontekstową dla tego samego identyfikatora kontekstu, treść zdefiniowana w module dodatkowym deklarującym kontekst (moduł dodatkowy interfejsu użytkownika) zostanie wyświetlona jako pierwsza. Dodatkowe opisy i odsyłacze są dodawane w dowolnej kolejności.