7. 值(Values)
- 数值应该(SHOULD)是 32 位有符号整数、64 位有符号整数或 64 位 IEEE
双精度浮点数,均以十进制表示。 它们分别对应于 XML Schema 类型
xsd:int、xsd:long
和 xsd:double。
在特定情况下需要时,也可以(MAY)使用
xsd:integer(无限精度整数)值。
[理由: XML Schema
中有太多的数值类型:以上这些提供了一个合理的子集。]
\ - 不应该(SHOULD NOT)使用布尔值(应使用枚举代替)。
如果必须使用,它们必须(MUST)表示为
true 或
false,对应于 XML
Schema 类型
xsd:boolean 的子集。
禁止(MUST NOT)使用
xsd:boolean 的替代值
1 和
0。 [理由:
布尔参数不可扩展。
允许数值的额外灵活性不会被任何解析器所抽象化。]
\ - 日期应使用 RFC 3339 格式来表示,它是 ISO 8601 格式和 XML
Schema xsd:dateTime
格式的子集。 应该(SHOULD)使用 UTC 时间而非本地时间。 [理由:
日期格式和时区太多了,但也认识到有时本地时间保留了重要信息。]
\ - 不应该(SHOULD NOT)在字符内容和属性值中使用嵌入式语法。
值中的语法意味着 XML 工具基本上是无用的。 日期、URI 和 XPath
表达式等语法是例外。 [理由: 用户应该能够仅使用 XML
解析器来处理 XML
文档,而不需要额外的专用解析器,因为这些解析器很容易出错。]
\ - 注意值中的空白字符。 XML 解析器不会去除元素中的空白,但会将属性中的换行符转换为空格。 然而,应用程序框架可能会进行更激进的空白去除。 你的文档格式应该(SHOULD)给出空白去除的规则。\
\
8. 键值对(Key-value pairs)
- 简单的键值对应该(SHOULD)用一个空元素表示,其名称代表键,value
属性包含值。具有
value
属性的元素也可以(MAY)有一个
unit
属性来指定测量值的单位。 对于物理测量,应该(SHOULD)使用
国际单位制(SI system) 。
[理由: 简洁性和设计一致性。
将值保存在属性中可以将其对用户隐藏,因为只显示值而不显示键是没有用的。]
\ - 如果可能的键的数量非常大或无限制,键值对可以(MAY)由单个通用元素表示,该元素具有 key、value 以及可选的 unit 和 scheme 属性(用于区分来自不同领域的键)。 在这种情况下,还应提供(不一定在同一文档中)一个包含人类可读说明的键列表。
\
Last updated on