컨텍스트 도움말 목차 설명 및 패키징

UI 코드에 선언된 컨텍스트 ID와 온라인 도움말의 관련 항목으로의 링크 목록 및 설명을 연관시켜 컨텍스트 도움말을 설명합니다. 이러한 연관은 XML 파일 내에서 작성됩니다. 각 플러그인에 대한 컨텍스트 도움말 연관을 포함하는 임의 수의 XML 파일을 작성할 수 있습니다. 각 컨텍스트 ID에 대한 설명 및 링크는 XML 파일의 <context> 요소 내에서 작성됩니다.  각 컨텍스트 요소는 UI 오브젝트를 설명하는 데 사용되는 선택적 <description> 요소 및 온라인 문서에 연결하는 임의 수의 <topic> 요소를 가질 수 있습니다.

3.1부터 context 요소는 도움말 보기에 컨텍스트 도움말 정보를 제공하는 데 사용되는 기본 제목을 선택적으로 대체할 수 있습니다.

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

XML 파일에 컨텍스트가 설명되어 있으면 플러그인 Manifest에서 컨텍스트 파일을 참조할 준비가 된 것입니다. 위에서 컨텍스트 ID는 완전한 ID가 아닙니다. 컨텍스트 파일이 컨텍스트 ID를 정의하는 플러그인의 Manifest로 제공되는 한 이것이 허용됩니다. 즉, 컨텍스트 ID는 XML 파일을 제공하는 플러그인의 ID로 해석됩니다.  

플러그인에서는 org.eclipse.help.contexts 확장점을 사용하여 컨텍스트 파일을 제공합니다.  

   <extension point="org.eclipse.help.contexts">
      <contexts name="myContextHelp.xml"  />
   </extension>

plugin 속성을 포함시켜 다른 플러그인에서 컨텍스트 파일을 참조할 수 있습니다. 이렇게 하면 컨텍스트 도움말을 포함한 모든 문서를 하나의 플러그인으로 그룹화하고, 이를 UI 코드 플러그인이나 관련된 일부 다른 플러그인에서 참조할 수 있습니다.

   <extension point="org.eclipse.help.contexts">
      <contexts name="myContextHelp.xml" plugin="com.example.helpExample"  />
   </extension>

알다시피 컨텍스트를 하나 이상의 플러그인에 포함된 하나 이상의 파일로 구성할 때 상당히 유연성이 있습니다. 주요 고려사항은 파일에 있는 컨텍스트 ID를 올바로 분석하는 것입니다. 컨텍스트 ID가 완전하지 않은 경우에는 컨텍스트 ID를 선언한 플러그인의 컨텍스트 XML 파일을 제공해야 합니다. 컨텍스트 XML 파일에서 완전한 컨텍스트 ID를 사용하는 경우에는 XML 파일 위치 및 컨텍스트를 제공하는 플러그인에 완벽한 유연성을 갖게 됩니다.

다중 플러그인의 컨텍스트 도움말

또 다른 레벨의 유연성은 서로 다른 플러그인에서 동일한 컨텍스트 ID에 대한 컨텍스트 도움말을 제공하는 기능입니다. 이는 예를 들어 사용자의 구성에 설치되었거나 설치되지 않을 수 있는 서로 다른 문서 플러그인 세트가 있는 경우에 유용합니다. 이를 통해 각 문서 플러그인이 해당 컨텍스트를 독립적으로 선언할 수 있습니다. 일반 사용자에게 위지트(widget)의 ID에 컨텍스트를 제공한 모든 플러그인의 병합된 컨텍스트 도움말 목차가 표시됩니다.

문서 플러그인에서 컨텍스트 ID를 선언하지 않았기 때문에 위지트(widget)에 완전한 컨텍스트 ID를 사용해야 합니다. 다중 플러그인이 동일한 컨텍스트 ID에 대한 컨텍스트 도움말을 제공하는 경우, 컨텍스트(UI 플러그인)를 선언한 플러그인에 정의된 컨텐츠가 먼저 표시됩니다. 추가 설명 및 링크는 정해지지 않은 순서로 추가됩니다.