Контекстная справка описывается путем связывания ИД контекста, объявленного в исходном коде пользовательского интерфейса, с описанием и списком ссылок на связанные разделы электронной справки. Данные связи устанавливаются с помощью файла XML. При необходимости для каждого модуля можно создать произвольное число файлов XML, содержащих связи контекстной справки. Описание и ссылки для отдельного ИД контекста указываются в файле XML с помощью элемента <context>. Для элементов контекста можно указать дополнительные элементы <description>, применяемые для описания объектов пользовательского интерфейса, а также произвольное число элементов <topic>, содержащих ссылки на электронную документацию.
Начиная с версии 3.1, элементы контекста могут изменять заголовок, представляющий контекстную справку в панели Справка.
<contexts> <context id="panic_button" title="Заголовок аварийной кнопки"> <description>Это аварийная кнопка.</description> <topic href="tasks/pushing_the_panic_button.htm" label="Нажатие аварийной кнопки"/> <topic href="reference/panic_button.htm" label="Справочник по аварийной кнопке"/> </context> ... </contexts>
Созданные файлы XML с описанием контекстов следует добавить в манифест модуля. Обратите внимание, что ИД контекста указан не полностью. Это допустимо, поскольку файл контекста дополняет манифест модуля, в котором определен ИД контекста. Другими словами, ИД контекста преобразуется в ИД модуля, предоставляющего файл XML.
Модуль предоставляет файлы контекста с помощью точки расширения org.eclipse.help.contexts.
<extension point="org.eclipse.help.contexts"> <contexts name="myContextHelp.xml" /> </extension>
Атрибут plugin позволяет указать ссылки на файлы контекста других модулей. Такой подход позволяет сгруппировать полный набор документации, включая контекстную справку, в одном модулей и обращаться к ней из модуля исходного кода пользовательского интерфейса или других связанных модулей.
<extension point="org.eclipse.help.contexts"> <contexts name="myContextHelp.xml" plugin="com.example.helpExample" /> </extension>
Обратите внимание на гибкость организации контекстной справки в нескольких файлах, входящих в состав разных модулей. Главная особенность - это правильное преобразование ИД контекстов. Если ИД контекста указаны не полностью, то файлы XML контекста должны входить в состав модуля, объявляющего ИД контекста. Указав в файле XML контекста полные идентификаторы, вы обеспечиваете гибкость выбора расположений файлов XML, а также модулей дополняющих контексты.
Кроме того, дополнительная гибкость обеспечивается за счет возможности добавления контекстной справки для одного и того же ИД контекста из разных модулей. Например, такой подход эффективен для работы с несколькими наборами модулей документации, не все из которых можно установить в конфигурации пользователя. В этом случае каждый модуль документации может объявлять контексты независимо от других. Конечному пользователю будет предоставлена объединенная контекстная справка из всех модулей, добавивших контексты для ИД управляющего элемента.
Обратите внимание, что для управляющих элементов следует указывать полные ИД контекстов, поскольку модули документации не объявляют ИД контекстов. Если контекстная справка для одного ИД контекста предоставляется несколькими модулями, то в первую очередь отображается содержимое модуля, в котором указано объявление контекста (модуль пользовательского интерфейса). Дополнительные описания и ссылки добавляются в произвольном порядке.