BS ISO IEC 19757——信息技术文档模式定义语言(DSDL)标准系列

Information Technology — Document Schema Definition Languages (DSDL)(2009–2016 版,共 4 部分)

📄 BS ISO/IEC 19757 是英国标准协会(BSI)采用的 ISO/IEC 19757 国际标准系列,由技术委员会 IST/41(文档描述与处理语言)归口制定,ICS 分类号为 35.240.30。该系列针对 DSDL(文档模式定义语言)框架下的多种文档验证与描述语言进行了标准化,涵盖基于规则的验证(Schematron)、可扩展数据类型、字符集描述语言(CRDL)与模式关联等部分,是 XML 及结构化文档验证与互操作的重要标准基础。

💡 DSDL 的核心理念是”多种互补的模式语言协同验证文档”:语法结构(如 RELAX NG)、规则约束(Schematron)、数据类型与字符集约束各司其职,为文档验证提供比单一模式更全面的能力。

一、系列概述 📌

BS ISO/IEC 19757 系列由多个部分组成,本批材料收录了第 3、5、7、11 部分。第 3 部分规定基于规则的验证——Schematron;第 5 部分规定可扩展数据类型;第 7 部分规定字符集描述语言(CRDL,Character Repertoire Description Language);第 11 部分规定模式关联(Schema association)。该系列各自独立成篇,分别解决文档验证的不同方面问题。

标准主要服务于:XML 与结构化文档标准制定者、内容管理系统与出版系统开发者、电子政务与行业数据交换格式设计者、文档校验工具与验证管线开发者,以及从事数据结构化与互操作研究的机构。

二、系列构成与技术要点 📋

标准号中文标题核心内容
BS ISO/IEC 19757-3:2016基于规则的验证——SchematronSchematron 规则语言:基于断言的规则验证、抽象模式、查询语言与报告机制,取代 2006 版
BS ISO/IEC 19757-5:2011可扩展数据类型(Extensible Datatypes)基于 XPath 数据类型定义模式中的数据类型约束,含同名数据类型与简化规则
BS ISO/IEC 19757-7:2009字符集描述语言(CRDL)描述文档允许使用的字符集与字符属性和约束(扫描版本,依据公开领域知识撰写)
BS ISO/IEC 19757-11:2011模式关联(Schema association)在文档实例中关联模式的方式:通过处理指令或属性指定验证所使用的模式
⚠️ 本材料中 BS ISO/IEC 19757-7 部分为扫描版本,相关描述依据该标准公开领域知识撰写,具体条款请以 BSI 官方发布版本为准。

三、关键技术要求 🔧

BS ISO/IEC 19757 系列的关键技术要求体现在各类模式语言的功能设计上:

  • Schematron(第 3 部分):以规则(rule)与断言(assert/report)为核心,用 XPath 表达约束条件,支持跨元素约束与上下文相关验证,如”若某元素出现则另一元素必须出现”。
  • 可扩展数据类型(第 5 部分):基于 XPath 数据类型定义模式的类型约束,支持派生类型、同名数据类型复用与类型简化,提升模式表达能力。
  • 字符集描述语言(第 7 部分):定义文档允许的字符集、字符属性与字符约束,用于国际化文本与多语言文档验证。
  • 模式关联(第 11 部分):规定文档实例如何声明其使用的模式(如通过处理指令或属性),便于验证器自动定位模式。
🚨 模式语言的表达能力各有侧重:Schematron 的规则验证与语法模式(如 RELAX NG)是互补而非替代关系。仅用单一语言往往无法覆盖全部约束,建议按 DSDL 理念组合使用多种模式语言进行分层验证。

四、工程实践应用 🛠️

在工程实践中,BS ISO/IEC 19757 系列主要应用于以下场景:

  • 🔍 行业数据交换格式验证:电子政务、出版、出版等行业以 Schematron 实现业务规则验证(如必填字段、字段间一致性),补充语法模式。
  • 🔧 内容管理系统校验管线:在 CMS 与出版系统中集成验证管线,先做语法验证再做规则验证,确保文档质量。
  • 📊 多语言与国际化文档:利用 CRDL 约束文档字符集,保证国际文档在不同语言环境下的可处理性。
  • 📋 模式染色与版本管理:通过模式关联机制在文档实例中标记所使用的模式版本,实现模式变更的兼容与追溯。
✅ 建议文档规范制定者采用 DSDL 的组合验证思路:以 RELAX NG 或 XSD 约束结构,以 Schematron 表达业务规则,以数据类型语言与 CRDL 约束数据类型与字符集,形成全面的文档验证体系。

五、常见问题解答 ❓

❓ 问:Schematron 与 XML Schema(XSD)有什么区别?
答:XSD 侧重描述文档的结构(元素顺序、出现次数、嵌套关系),属语法模式;Schematron 侧重表达基于 XPath 的断言规则(如跨字段约束、条件必填),两者互补,常配合使用。
❓ 问:为什么需要”可扩展数据类型”这种模式语言?
答:语法模式在数据类型约束方面能力有限,扩展数据类型语言基于 XPath 数据类型提供更丰富的类型定义与派生能力,使模式能表达更精细的数据语义约束。
❓ 问:字符集描述语言(CRDL)在实际中如何使用?
答:CRDL 用于声明文档允许使用的字符集及字符属性(如只允许某语言字符、禁止控制字符),常用于多语言出版与国际数据交换,保证文档在目标环境中可正确显示与处理。
❓ 问:”模式关联”有什么作用?
答:模式关联规定文档实例声明使用哪个模式的方法,避免验证器猜测或配置错误模式,简化文档验证流程并支持同一种文档实例应用不同模式版本的情形。
❓ 问:BS ISO/IEC 19757 各部分是独立的吗?
答:是的,各部分在 DSDL 框架下各自独立成篇,可单独使用,也可组合使用。组织可按自身需求选择需要的部分,无需实现整个系列。
🔒
正在加载下载地址,请稍候 10 秒

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注