2. 模式(Schemas)
- 文档格式应该(SHOULD)使用模式语言来表达。
[*理由:*清晰性和机器可检查性。]
\ - 模式语言应该(SHOULD)使用
RELAX NG
紧凑语法(compact syntax) 。
可以(MAY)在模式中嵌入
Schematron 规则以实现更精细的控制。
[理由: RELAX NG 是最灵活的模式语言,对设计几乎没有任意限制。
紧凑语法非常易于阅读和学习,可以与 XML 语法进行一对一的相互转换。
Schematron 能够很好地处理任意的跨元素和跨属性约束。]
\ - 模式应该(SHOULD)使用
“萨拉米切片”风格(Salami Slice style) (每个元素一条规则)。
如果模式简短且简单,可以(MAY)使用
“俄罗斯套娃”风格(Russian Doll style) (模式类似于文档)。
“威尼斯百叶窗”风格(Venetian Blind style) (每种元素类型一条规则)不适合 RELAX
NG,不应该(SHOULD NOT)使用。
\ - 应该(SHOULD)提供正则表达式以辅助验证复杂的值。
\ - 可以(MAY)为了与现有产品、工具或用户的兼容性而提供 DTD 和/或 W3C XML Schema。 [理由: 我们不能一次改变整个世界。]\
\
Last updated on