因为我们已经根据内容文件定义了主题,所以我们将创建信息集。信息集(infoset)是文档 Web 或书籍。平台可以显示任意数目的信息集。
一个信息集包含一个或多个信息视图。信息视图提供在信息集内的高级语义分组。信息视图可以用来在文档 Web 上创建多个视图。例如,可以使用它们来创建由许多组件提供的文档的集成视图。还可以使用信息视图来为各种帮助主题创建单独的视图。或者,正如我们即将做的那样,可以创建一个信息视图来显示所有帮助主题。术语信息视图用来避免与平台的用户界面中的术语视图发生冲突/混淆。
每个信息视图都包含主题的集合。有时,较高级别的组件或产品小组负责将它的一些组件小组提供的文档和主题组织在一起。现在,假定我们的插件应该同时提供主题和集成了主题的书籍。
以下信息集具有标识 infoset_SampleGuide, 并且声明了一个标识为 view_Contents 的信息视图。当我们在信息视图的高级结构中开始布线,以及在我们先前定义的主题中进行基本布线时, 信息视图的标识就变得很重要。
<infoset id="infoset_SampleGuide" label="Online Help Sample" href="doc/splash.html">
<infoview label="Content" id="view_Contents" />
</infoset>
当用户选择称为“联机帮助样本”的书籍时, 他/她将看到一个可能称为“内容”的信息视图。还会显示 splash.html 中包含的闪动页面。
现在,需要定义“内容”信息视图中用户将会看见的顶级结构。我们从为顶级主题创建下列主题文件开始:
<topics id="topics_view_Contents">
<topic id="conceptsRoot" label="Concepts" />
<topic id="tasksRoot" label="Tasks" />
<topic id="funRoot" label="Fun Things" />
<topic id="refRoot" label="Reference" />
</topics>
现在,需要将这些主题“安排”到“内容”信息视图中。一旦完成之后,就可以继续将所有其他主题安排到上述顶级主题下面。我们开始使用下列操作文件来安排顶级主题。
<actions infoview="com.example.helpexample.view_Contents">
<insert
from="com.example.helpexample.topics_view_Contents"
to="com.example.helpexample.view_Contents"
as="child"/>
</actions>
在上述主题文件中的主题元素“topics_view_Contents” 的全限定主题标识为 com.example.helpexample.topics_view_Contents。在上述操作文件中,我们采用此主题元素, 并将它安排到信息视图中,标识为 com.example.helpexample.view_Contents。
下图显示在安排了这些顶级主题之后我们的信息集(联机帮助样本)看起来是什么样子。仅当有多个信息集时,信息集的标题(标号)才会显示在组合框中。