S1000D BREX 是什么?业务规则、结构校验与常用标签

BREX 用于表达项目或组织的业务规则,让 Schema 之外的项目约束可以被工具检查。它可以约束元素路径、字段取值、对象使用方式和项目禁用项,但 BREX 不能替代专业人员对技术内容、安全性和完整性的审核。

本文由北京重子科技 VizMan IETM 团队编写,最后更新:2026-09。页面用于中文学习与项目规划,不替代 S1000D 正式规范。

BREX 解决什么问题?

Schema 主要描述 XML 的结构、元素顺序、数据类型和基本允许范围;项目还会有更细的约定,例如某个节点必须使用哪些代码、某类模块不能出现某个对象、某个字段要采用组织术语。BREX 把这类规则集中表达,使编辑、导入和批量检查有一致依据。

边界:BREX 能检查“结构和规则是否符合约定”,不能证明维修步骤在真实设备上安全,也不能替代工程师、语言专家和配置管理人员的审核。

BREX 常见标签和作用

元素或概念作用检查重点
brexBREX 数据模块的根结构。采用的 Schema、版本和模块身份。
brexEntry承载一条或一组业务规则。规则说明、适用范围和唯一标识。
structureObjectRule针对对象路径表达结构和使用约束。对象路径是否准确、规则是否可执行。
objectPath、objectUse定位被约束的对象及其使用要求。路径、上下文和模块类型是否匹配。
objectValue、断言或取值规则约束属性、代码、文本或对象的允许值。代码表、大小写、格式和例外处理。

不同 Issue 的 BREX 模型和元素细节可能不同。实施时必须以对应 Data Dictionary、Schema 和正式样例为准,不要把其他版本的标签直接复制到当前项目。

如何设计可维护的 BREX?

  1. 先把合同、型号规范、术语表和项目管理要求整理成规则清单。
  2. 区分强制规则、推荐规则和仅用于提示的规则,避免把所有偏好都做成阻断项。
  3. 每条规则写明来源、目的、适用范围、责任人和示例。
  4. 用正例和反例验证规则,确认编辑器提示能被作者理解。
  5. 为 BREX 本身建立版本、审批、变更影响和回归测试记录。

BREX 校验的常见结果

结果含义处理方式
通过当前对象满足已配置的结构与业务规则。仍需继续做内容、引用和专业审核。
警告发现推荐项或需要人工确认的例外。补充理由、记录豁免或修改内容。
错误违反强制结构、字段或取值规则。修订模块,重新校验并保留修订记录。
规则未覆盖当前项目没有对该情况配置规则。不要误认为“未报错”等于“符合要求”。

常见问题

BREX 是 Schema 吗?

不是。Schema 主要定义结构和数据类型,BREX 表达项目或组织的业务规则,两者通常配合使用。

BREX 能自动判断技术内容正确吗?

不能。BREX 可以检查结构、字段和规则,但不能替代工程技术审核、现场验证和安全评审。

相关页面