S1000D 数据模块(DM)是什么?结构、内容与常用标签
数据模块(Data Module,DM)是 S1000D 组织技术信息的基本单元。它有明确的主题边界、唯一的识别信息和可被出版物重用的内容,可用于编制操作、维修、故障隔离、零件和描述类技术资料。
数据模块解决什么问题?
传统手册通常以章节或整本文件为管理单位。S1000D 把技术信息拆成相对独立的数据模块,每个模块围绕一个可识别的主题组织内容,并通过 DMC、引用和状态信息进行管理。这样,同一份安全提示、维修步骤或零件说明可以在不同出版物中复用。
判断模块边界:如果一段内容有独立的对象、任务、适用范围和审核责任,通常可以作为候选数据模块;如果它只能依赖上一页的上下文才能理解,就需要重新检查拆分粒度。
一个数据模块通常有哪些区域?
不同 Issue 和项目 Schema 的细节会变化,但工程上经常从三部分理解数据模块:根元素和声明信息、身份与状态区、内容区。身份与状态区回答“这是什么、适用于什么、当前处于什么状态”;内容区回答“要向读者提供什么技术信息”。
| 区域 | 常见元素或标签 | 主要作用 |
|---|---|---|
| 模块根 | dmodule | 承载一个数据模块的整体结构和命名空间声明。 |
| 身份与状态 | identAndStatusSection、dmAddress、dmCode、dmTitle、dmStatus | 标识模块、标题、版本、状态、适用性和管理属性。 |
| 内容区 | content、description、procedure、faultIsolation | 承载描述、程序、故障隔离等具体技术内容。 |
| 引用与媒体 | dmRef、figure、graphic、internalRef | 连接其他数据模块、图形、媒体和正文中的交叉引用。 |
上表是项目选型时的概念索引,不是完整标签清单。最终允许的元素、顺序、属性和取值应以采用的 Schema 与 Data Dictionary 为准。
最小结构示例(仅用于理解)
下面只展示结构关系,不包含可直接交付的完整 Schema、命名空间和业务规则。实际文件必须使用项目规定的版本、编码和校验配置。
<dmodule>
<identAndStatusSection>
<dmAddress>
<dmIdent><dmCode .../></dmIdent>
<dmTitle>...</dmTitle>
</dmAddress>
<dmStatus .../>
</identAndStatusSection>
<content>
<description>...</description>
</content>
</dmodule>
编写程序类模块时,内容区可能采用 procedure、mainProcedure、proceduralStep 等结构;这些元素能否使用以及嵌套顺序,应由相应数据模块类型和 Schema 决定。
数据模块编制时检查什么?
- 主题边界:标题、任务和内容是否围绕一个稳定主题,是否把多个不同任务混在一个模块中。
- 身份状态:DMC、标题、版本、状态、责任人和适用性是否完整一致。
- 结构规则:元素顺序、必填节点、属性值和数据模块类型是否通过 Schema 与 BREX 校验。
- 引用媒体:被引用的模块、图形、表格和外部资料是否存在,编号和版本是否正确。
- 可发布性:模块脱离编辑环境后能否按出版物模块和适用性正确组合、检索和阅读。
常见问题
什么是 S1000D 数据模块?
数据模块是围绕一个明确技术主题组织的、带有身份与状态信息并可被重用的技术信息单元。
数据模块标签是否固定?
标签名称和允许的结构取决于采用的 S1000D Issue、Schema、数据模块类型和项目业务规则,应以正式数据字典和校验结果为准。