发布 DITA 文档
使用 Arbortext Editor 可以发布 DITA 映射和 DITA 主题。对于 DITA 映射,还可以选择部分映射并只发布所选的映射部分。
每个默认的 DITA 文档类型会附带一个 Arbortext Styler 样式表 (.style)。您可以直接使用这些样式表,或在其基础上开发您自己的增强版或自定义版样式表,以供用来发布 DITA 文档。示例样式表还会以模块化格式提供,从而使您可以将现有模块用作构建块以开发适用于您的环境的样式表。有关为 DITA 文档开发样式表的详细信息,请参阅 Arbortext Styler 联机帮助。
您可以将 DITA 文档发布到下列输出类型:
• HTML
• HTML 帮助
• 打印
• PDF
• Web
• EPUB
• RTF
您还可以在发布 DITA 文档之前,使用 > 对其进行预览。DITA 文档既支持 Arbortext Editor 配置功能又支持 DITA 标准 DITAVAL 文件,这使您能够过滤已发布输出中的内容。
发布 DITA 主题的方式与发布其他类型文档的方式类似。一旦您使用 Arbortext Editor 或 Arbortext Publishing Engine 发布 DITA 主题,系统便会根据关联的样式表对此主题进行发布并将其发布到指定的输出格式。主题的发布如同它包含在 DITA 映射中一样,以确保正确解析交叉引用和链接。但是,发布带有交叉引用和链接的单个主题实际上的结果与发布引用所有主题的 DITA 映射不同。发布主题通常在校对和审查时更为有用。通常您应该从 DITA 映射进行最终发布。
DITA 映射是对 DITA 主题和其他内容的引用集合,因此发布 DITA 映射时,发布过程首先将映射中的所有引用内容汇集到名为解析文档的中间文档中,以便定义样式。然后,系统会根据关联的样式表对这个已解析文档进行发布并将其发布到指定的输出格式。如果映射包含对正在发布的映射中不包含的 DITA 或其他文档类型的引用,发布过程将在发布期间收集这些引用的目标,以便使这些引用在输出中正确地解析。存储引用文件的文件夹的名称以输出文档为基础,并且会附加 .ditaLinks。
您也可以通过 Arbortext Editor 的 > > 菜单选项来生成用于定义样式的解析文档版本。此版本的已解析文档允许您使用 Arbortext Styler 为映射开发样式表。用于定义样式的已解析文档是仅用于样式表开发的临时文档。与用于编辑的已解析文档不同,对用于定义样式的已解析文档的任何更改在关闭已解析文档时将不会反映在关联主题中。
对于生成多个 HTML 文件的 EPUB、HTML 帮助和 Web 输出类型,默认情况下发布过程将保留 DITA 输入文件的名称和包含输入文件的任何目录结构。可以在 Arbortext Styler 中更改这些设置和其他默认设置。
使用 deliveryTarget 属性
您可以使用 DITA 映射以及主题中关于主题引用 (topicref 元素) 的 deliveryTarget 配置文件属性来控制特定输出类型中是否包括引用的主题或内容。在随附的文档类型中,deliveryTarget 属性允许使用以下值:
• print-no - 不包括打印输出中的主题
• print-only - 包括打印输出中的主题
这些值与 print 属性所允许的值相似,但是该属性已在 DITA 1.3 中弃用。对于 DITA 1.3 文档,print 属性仍受 Arbortext Editor 支持。
建议向 deliveryTarget 属性赋予的值能够反映出目标输出类型,例如,epub、pdf 或 html。
如果您正在出于此目的而使用 deliveryTarget 的值,则必须在发布过程中将所需的值选择为配置文件设置。
如果某个主题引用包含其他主题引用,则父主题引用的 deliveryTarget 属性值会控制是否在指定输出中包含所有主题引用。在这种情况下,会忽略嵌套主题引用的 deliveryTarget 属性值。
使用键引用发布
Arbortext Editor 支持使用 OASIS DITA Architectural Specification (DITA 体系结构规范) 的 Processing key references (处理键引用) 部分定义的大多数键引用处理操作来实现发布。可通过将文本插入到引用键定义的空元素和使用 conkeyref 属性来支持发布过程中的文本内容替换。
在某些情况下,conkeyref 引用可能不包含主题 ID。例如,当键定义仅包含主题的 URI 且内容键引用参考键名称以及所引用主题中的某个元素 ID 时。URL 中引用的主题可能包含其他主题,这是因为它要么是 Ditabase,要么包含嵌套主题,而这些主题可能包含具有相同 ID 的元素。在这种情况下,Arbortext Editor 假定主题中具有指定 ID 的第一个元素是内容引用的目标。如果该主题包含多个具有相同 ID 的元素,可能会导致错误的元素成为内容引用的目标。最佳做法就是确保在要用于 conkeyref 引用的所有键定义中包含主题 ID。