S1000D Schema、BREX 与内容完整性校验有什么区别?

S1000D 项目通常需要同时处理三类质量问题:XML 是否符合 Schema 结构,内容是否符合项目 BREX 业务规则,以及一套手册所需的模块、引用、媒体和适用性是否完整。三者相互配合,但检查范围不同,不能把“结构通过”当成“内容正确”。

本文由北京重子科技 VizMan IETM 团队编写,最后更新:2026-09。页面用于中文学习与项目规划,不替代适用 S1000D Issue、Schema、Data Dictionary 或合同要求。

三层校验如何分工?

可以把校验想成从“文件能不能被解析”到“项目规则是否满足”,再到“交付内容能不能被完整使用”的逐层检查。不同工具的命名和报告字段可能不同,但分层思路有助于明确责任、设置质量门禁和追踪返工原因。

校验层次主要回答的问题典型问题不能替代的工作
Schema 结构校验XML 是否符合选定版本的数据结构?元素顺序错误、必填节点缺失、出现次数不符、数据类型不合法。项目业务偏好、技术正确性和现场安全判断。
BREX 与项目规则校验内容是否遵守本项目或组织的编码、字段和使用约束?代码表不一致、对象路径不允许、术语或属性值不符合约定。未配置的业务例外、工程判断和实际可操作性。
内容完整性校验交付范围内的内容是否齐全、连得上、适用得上?缺少必需数据模块、引用断链、媒体缺失、适用性覆盖不足、发布物缺页。对维修步骤、警告和型号差异的专业审核。
关键边界:Schema 通过只能说明文档满足基础结构;BREX 通过只能说明已配置的项目规则没有报错。两者都通过后,仍要验证引用、适用性、媒体、术语和工程内容。

Schema 校验主要检查什么?

Schema 是机器可读的结构约束。它帮助工具判断一个数据模块是否使用了允许的元素和属性,元素是否按规定顺序出现,必填内容是否存在,以及字段值是否符合规定的数据类型或基础格式。Schema 让 XML 在进入协同、审核和发布流程前具备可解析的一致性。

检查对象常见检查内容失败示例
元素层级与顺序父子关系、允许的子元素、元素出现顺序。把引用节点放在不允许的位置,或把内容节点放到身份区之外。
出现次数必填、可选、单次或重复出现的约束。缺少必需的标识信息,或重复出现只能单次出现的元素。
属性与数据类型属性是否存在、格式是否正确、值是否属于基础类型。日期、布尔值、标识符或枚举字段格式不符合 Schema。
版本匹配实例文档、Schema、Data Dictionary 和工具配置是否属于同一版本范围。用另一 Issue 的 Schema 校验当前项目,导致误报或漏报。

Schema 通常不负责表达完整的项目语义。例如,某个代码值在 XML 层面可能是合法字符串,但项目只允许组织术语表中的有限取值;这类要求需要由 BREX、代码表或其他项目规则补充。

BREX 如何补充 Schema?

BREX(Business Rules Exchange)用于表达项目或组织的业务规则。它可以把“某类数据模块必须使用哪些字段”“某个对象路径不允许出现某种用法”“某个属性只能取项目代码表中的值”等约定转成可执行或可提示的规则,供编辑、导入和批量校验使用。

规则概念用途设计时要写清楚
brexEntry承载一条业务规则及其说明。规则编号、来源、适用范围、严重级别和示例。
structureObjectRule对对象路径、结构或使用方式提出约束。对象路径、上下文、适用的数据模块类型和例外条件。
objectPath / objectUse定位被约束的对象,以及它在项目中的使用要求。路径是否唯一、上下文是否明确、提示能否被作者理解。
objectValue 与取值规则限制代码、属性、文本或对象的允许值。代码表版本、大小写、格式、空值和豁免处理。
规则元数据帮助管理规则的版本、来源、状态和责任人。变更审批、发布时间、影响分析和回归测试记录。
BREX 的边界:规则越具体,工具越容易执行,但也越需要维护。应区分“必须阻断发布”的错误、“需要人工确认”的警告和“仅供作者参考”的提示,避免把所有偏好都设置为阻断项。

内容完整性校验检查什么?

内容完整性校验关注的是“这套内容能否完整交付和使用”。它通常跨越多个数据模块、引用对象、媒体文件、适用性表达和出版物结构,不能只靠单个 XML 文件的 Schema 校验得出结论。

检查范围检查问题可留存的证据
模块覆盖DMRL 或项目清单要求的模块是否都已创建、审核并达到可发布状态?模块清单、状态报表、缺口和豁免记录。
引用与版本DMRef、ICN、外部对象和交叉引用是否存在、版本是否一致?引用解析报告、未解析引用列表、版本对照表。
媒体与图文图形、视频、热点、零件表与正文是否齐全,文件格式和分辨率是否满足交付要求?媒体清单、预览结果、发布包文件校验记录。
适用性与构型目标型号、批次或配置能否筛选出正确内容,是否出现空章节或冲突条件?适用性测试矩阵、构型样例、筛选前后对照。
出版物与交付PM 目录、章节顺序、页眉页脚、搜索、链接和交付包是否完整?发布验收清单、PDF/IETP/Word 抽检记录。

常见标签和对象怎么放进校验流程?

下面列出项目中经常需要一起检查的代表性标签。具体元素名称、允许组合和层级取决于采用的 S1000D Issue、Data Dictionary、Schema 以及数据模块类型,实施时必须以项目正式配置为准。

标签或对象所在环节常见检查重点
dmIdent、dmAddress数据模块身份与地址DMC、版本、语言、状态和模块身份是否一致可追溯。
content、descr描述类内容内容边界、术语、引用和必需段落是否满足项目规则。
proceduralStep、warning、caution、note程序与安全信息步骤顺序、前置条件、安全信息位置和人工审核状态。
dmRef、refs引用与重用被引用模块是否存在、版本是否正确、循环或断链是否可控。
graphic、figure、ICN图形与媒体文件、编号、格式、替代文本、热点和发布包是否对应。
applic、PM、pmEntry适用性与出版物组织构型筛选、目录顺序、模块覆盖和最终交付物是否一致。
brexEntry、structureObjectRule业务规则规则路径、严重级别、取值约束、来源和适用范围是否明确。

建议的校验实施流程

把自动化校验嵌入创作、审核和发布流程,重点是让每一次失败都能回到明确的责任和证据,而不是在最终发布时集中人工排查。

  1. 锁定版本:明确 S1000D Issue、Schema、Data Dictionary、BREX、代码表和项目规则的版本。
  2. 建立规则基线:把合同、型号规范、术语表、DMRL 和交付要求整理成可追踪的规则清单。
  3. 先做 Schema 校验:在模块进入协同审核前拦截结构、顺序、必填项和数据类型错误。
  4. 再做 BREX 校验:检查项目编码、字段、对象使用和术语约束,并区分错误、警告和提示。
  5. 执行完整性检查:解析引用、媒体、适用性、模块覆盖和出版物关系,形成缺口清单。
  6. 完成专业审核:由技术、维修、安全、语言和配置管理人员确认内容可执行、可理解、可追溯。
  7. 发布前回归:抽取新增、修订、复用和带适用性过滤的模块,验证变更能正确传递到 PDF、IETP 或其他交付物。
质量门禁建议:把“Schema 错误”“强制 BREX 错误”“未解析引用”和“缺失必需模块”设为发布阻断项;把可解释的规则例外和推荐项进入人工确认队列,并保留豁免依据。

项目检查清单

检查项完成标准责任角色
版本基线Issue、Schema、Data Dictionary、BREX 和代码表版本已登记并锁定。项目负责人、配置管理员
结构校验目标模块通过对应 Schema,失败项已修订或有批准的例外。数据模块编写人员、工具管理员
业务规则强制规则无未处理错误,警告和豁免均有理由与责任人。标准工程师、审核人员
引用完整性DMRef、ICN、图形、外部对象和交叉引用可解析,版本关系清晰。内容管理员、配置管理员
适用性每个目标构型都有测试样例,筛选结果无空章节、冲突或错误复用。系统工程师、验收人员
专业内容程序步骤、警告、注意、术语、图文一致性和现场可执行性已审核。技术专家、维修专家、安全人员
发布验收目录、搜索、链接、媒体、页面版式和交付包在指定环境中抽检通过。发布人员、客户验收人员

常见校验结果应该怎么处理?

结果含义建议动作
通过当前检查层的规则没有发现问题。继续下一层检查,不要把单层通过当作整套内容验收通过。
错误违反结构或强制项目规则,可能阻断后续处理。定位到模块、对象路径和规则编号,修订后重新校验。
警告发现需要人工确认的推荐项、例外或风险。补充说明、批准豁免,或调整内容与规则。
未覆盖当前 Schema、BREX 或完整性规则没有描述该情况。不能按“未报错”处理;评估是否新增规则或安排人工审核。

常见问题

Schema 校验通过,是否代表数据模块内容正确?

不代表。Schema 主要检查 XML 结构、元素顺序、出现次数和数据类型;技术内容、步骤安全性、图文一致性和型号适用性仍需 BREX、完整性检查和专业人员审核。

BREX 能替代 Schema 吗?

不能。Schema 提供基础结构和数据类型约束,BREX 表达项目或组织的业务规则,两者通常按先结构、后规则的方式配合使用。

内容完整性校验通常检查哪些内容?

通常检查必需模块是否齐全、引用对象和媒体是否存在、DMC 与版本是否一致、适用性是否覆盖目标构型、发布物是否缺页,以及关键步骤、警告和术语是否完成审核。

三类校验应该按什么顺序做?

建议先做 Schema 结构校验,再做 BREX 与项目规则校验,然后检查引用、适用性和内容完整性,最后由技术、维修、安全和语言人员完成专业审核。

不同 S1000D Issue 可以共用同一套规则吗?

不能直接假定共用。数据模型、Schema、Data Dictionary 和 BREX 规则可能随 Issue、项目和组织约定变化,规则应绑定明确的版本并经过正例、反例和回归测试。

VizMan 与三层校验

VizMan IETM 面向 S1000D Issue 5.0 与 GJB 6600 场景,提供结构编辑、实时校验、项目规则管理、协同审核、适用性发布和交互阅读能力。具体项目仍需根据合同、业务规则、Schema 版本和交付环境确认校验范围。

进一步核对标准版本与规范原文,请参阅 S1000D 官方网站。本文是面向项目规划的说明,不替代适用 Issue 的正式规范。