Oxygen XML Author将DITA开发所需的编辑、验证、转换和发布功能整合在同一个工作区中,用户不需要离开编辑器就能完成从创建DITA map到输出PDF的完整流程。其核心优势在于实时验证XML结构、智能提示可用元素以及内置的DITA Open Toolkit发布引擎。对于需要维护多版本产品文档或大型技术手册的团队,掌握Oxygen中的DITA工作流可以显著降低内容重复和维护成本。

一、创建DITA项目与地图结构
在Oxygen中,DITA开发通常从一个项目目录开始。建议先创建一个专门的文件夹存放所有DITA源文件,然后在Oxygen中选择文件菜单中的新建来创建DITA Map或DITA Topic。DITA Map是组织多个主题的容器,它通过<topicref>元素引用各个主题文件。创建完成后,Oxygen会生成带有标准命名空间和基础结构的XML文件。例如,一个简单的DITA Map文件内容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"> <map> <title>产品用户手册</title> <topicref href="topics/introduction.dita" navtitle="介绍"/> <topicref href="topics/installation.dita" navtitle="安装指南"/> </map>
在Oxygen的可视化地图管理器中,可以直接拖拽主题文件到地图中,编辑器会自动生成对应的<topicref>元素并维护相对路径。为了防止路径错误,建议在项目设置中启用严格引用检查,这样当主题文件被移动或重命名时,Oxygen会提示更新引用。此外,DITA Map还支持在<topicmeta>中设置导航标题、短描述等元数据,这些信息在生成输出时会显示在目录和页面头部。
创建DITA Topic时,需要选择合适的主题类型,如概念(concept)、任务(task)、参考(reference)等。Oxygen会根据所选类型提供不同的模板结构。例如,任务主题要求包含<steps>和<step>元素来组织操作步骤,而概念主题则使用<conbody>承载段落内容。选择正确的主题类型有助于后续的内容管理和发布样式统一。
二、内容编写与重用机制
DITA的核心价值之一是内容重用。Oxygen提供了对conref和keyref的完整支持。conref允许一个主题引用另一个主题中的元素,例如在多个任务主题中重复使用同一个警告信息。使用方式是在元素上添加conref属性,指向目标文件的特定ID。例如:
<note id="warn_save" type="warning">保存前请确认数据已备份。</note>
在另一个主题中引用:
<note conref="../common/warnings.dita#warn_save"/>
Oxygen会在编辑器中实时解析conref引用,将引用的内容以灰色背景显示,并允许通过快捷键Ctrl+Enter跳转到源元素。对于需要基于不同产品版本切换内容的情况,可以使用keyref结合DITA Map中的键定义。在Map中定义<keydef>元素,将键名映射到具体主题或元素,然后在主题中使用keyref属性引用。这样在发布时只需修改Map中的键定义,即可批量切换所有引用位置的内容,而不必修改每个主题文件。
条件处理是另一个重要功能。通过在元素上设置audience、product、platform等属性,可以在发布时过滤内容。Oxygen提供了条件处理配置文件(DITAVAL文件)来定义哪些条件值应该包含或排除。例如,创建一个product属性值为pro的条件规则,然后在发布场景中引用该DITAVAL文件,就能生成只包含专业版功能描述的文档。编辑器中的应用条件处理预览功能可以即时查看过滤后的效果,极大提高了多版本文档的维护效率。
三、验证与发布输出定制
Oxygen XML Author内置了DITA文档类型验证,在编辑过程中会实时检查元素顺序、必需属性以及交叉引用的有效性。当引用路径错误或使用未定义的键时,编辑器右下角会显示错误标记,点击可定位到具体位置。强烈建议在每次提交前运行一次完整验证,以确保所有主题和Map都符合DITA规范。验证通过后,就可以进行发布输出。
发布操作通过文档菜单中的转换子菜单完成。Oxygen内置了多种预定义的转换场景,包括DITA Map to PDF、DITA Map to HTML5、DITA Map to WebHelp等。选择场景后,Oxygen会调用集成的DITA Open Toolkit执行转换。如果需要定制输出样式,可以编辑转换场景的参数,例如设置args.css来指定自定义CSS文件,或者设置args.filter来关联DITAVAL条件文件。以下是一个典型的PDF转换场景中设置参数的示例配置(在Oxygen中通过界面设置,此处展示底层Ant参数):
<property name="args.input" value="document.ditamap"/> <property name="output.dir" value="out/pdf"/> <property name="transtype" value="pdf2"/> <property name="args.filter" value="conditions/professional.ditaval"/> <property name="args.css" value="styles/custom.css"/>
对于团队协作,Oxygen支持将DITA项目与Git、Subversion等版本控制系统集成。可以在项目视图中直接进行提交、更新和查看历史记录。当多人同时编辑不同主题时,使用版本控制可以避免冲突,并通过分支管理不同版本的产品文档。此外,Oxygen还支持WebDAV和SharePoint连接,方便集中管理DITA源文件。通过这些集成,DITA开发从单人写作扩展到团队级的内容生产流程。
如果希望实现自动化发布,可以在Oxygen外部通过命令行调用DITA-OT。Oxygen安装目录下包含了DITA-OT的完整副本,可以在构建服务器上使用相同的参数执行转换,保证本地预览和最终发布结果一致。命令行示例:
dita --input=document.ditamap --format=pdf2 --filter=professional.ditaval --output=out/pdf
这条命令可以在持续集成环境中运行,每次代码提交后自动生成最新文档。利用Oxygen XML Author进行DITA开发,关键在于理解Map和Topic的结构、熟练运用conref与keyref实现内容重用、通过条件处理管理多版本内容,并配置合适的发布场景。掌握这些技能后,可以显著提升结构化文档的开发效率和质量。
Oxygen XML AuthorDITA开发结构化写作修改时间:2026-08-26 13:03:25