ISO/IEC 19757-3:2020
Information technology — Document Schema Definition Languages (DSDL) — Part 3: Rule-based validation using Schematron
发布时间:2020-06-03 实施时间:


在XML文档中,我们可以使用DTD、XML Schema等方式来定义文档的结构和内容。但是,这些方式都无法满足所有的验证需求。例如,我们需要验证一个元素的值是否符合某个特定的格式,或者需要验证一个元素的值是否在某个范围内。这些需求无法通过DTD或XML Schema来实现,因此需要使用其他的验证方式。

Schematron是一种基于规则的验证方式,它可以对XML文档进行更加灵活和精细的验证。Schematron使用XPath表达式来定义验证规则,可以验证元素的值、属性的值、元素之间的关系等等。Schematron还支持自定义函数和变量,可以实现更加复杂的验证逻辑。

ISO/IEC 19757-3:2020规定了使用Schematron进行基于规则的验证的方法和规则。该标准定义了Schematron验证规则的语法和语义,以及如何将Schematron验证规则与XML文档进行关联。该标准还定义了Schematron验证引擎的行为和结果,以及如何处理验证错误和警告。

使用ISO/IEC 19757-3:2020进行Schematron验证,可以实现更加灵活和精细的XML文档验证。Schematron验证规则可以根据具体的需求进行定义,可以验证文档的任意部分,可以实现复杂的验证逻辑。Schematron验证引擎可以提供详细的验证结果,包括错误和警告信息,可以帮助开发人员快速定位和解决问题。

相关标准
- ISO/IEC 19757-2:2016 Information technology — Document Schema Definition Languages (DSDL) — Part 2: Regular-grammar-based validation — RELAX NG
- ISO/IEC 19757-4:2016 Information technology — Document Schema Definition Languages (DSDL) — Part 4: Namespace-based Validation Dispatching Language (NVDL)
- ISO/IEC 19757-11:2019 Information technology — Document Schema Definition Languages (DSDL) — Part 11: Schema association
- ISO/IEC 19757-12:2019 Information technology — Document Schema Definition Languages (DSDL) — Part 12: Document schemas — XML schema subset
- ISO/IEC 19757-15:2019 Information technology — Document Schema Definition Languages (DSDL) — Part 15: Namespace-based Validation Dispatching Language (NVDL) — Amment 1: NVDL for Schematron