動態主題

除了 doc.zip 或外掛程式目錄下的檔案系統中的靜態 HTML 檔,說明可以顯示由文件外掛程式動態產生的文件。這類的外掛程式需要包含能夠產生內容的 Java 程式碼,這有別於說明系統從靜態檔案讀取。如果實作 org.eclipse.help.IHelpContentProducer 的類別是由外掛程式使用 org.eclipse.help.contentProducer 延伸點提供給說明系統,從這個外掛程式存取每份文件時,說明系統都會呼叫 getInputStream。 如果產生非空值的 InputStream,則會傳送給瀏覽器顯示。如果 IHelpContentProdcuer 傳回空值,說明系統預設會在 doc.zip 和外掛程式目錄搜尋文件。

內容產生器範例

例如,IHelpConentProducer 的實作,如下所示:

package com.my.company.doc;
public class DynamicTopics implements IHelpContentProducer {
public InputStream getInputStream(
String pluginID,
String name,
Locale locale) {
if (name.indexOf("dynamic") >= 0)
return new ByteArrayInputStream(
("<html><body>Content generated "
+ new Date().toString()
+ ".</body></html>")
.getBytes());
else
return null;
}
}

由 plugin.xml 檔中的延伸識別為︰

<extension point="org.eclipse.help.contentProducer"
    name="dynamicTopics"
    id="my.company.doc.dynamicTopics">
    <contentProducer producer="com.my.company.doc.DynamicTopics" />
</extension>


將產生 HTML 文件內容給路徑或檔名中含有 "dynamic" 單字的所有文件參照。

限制

外掛程式對於用來產生內容的方法或基礎組織架構有完全的自由。 但是應該確保產生正確語言和編碼的內容,讓瀏覽器可以顯示出來。 使用者使用的語言環境會提供給 getInputStream 方法。 如果不能提供可翻譯的內容,應該預設為平台的預設語言環境的內容。