21

XML 属性中允许的最大字符数是否有标准?

我尝试研究 W3C 联盟,除了一些关于转义特殊字符的注释外,找不到任何关于字符限制的内容。

4

4 回答 4

28

我不相信每个 XML 规范都有字符限制,但最佳实践是保持属性值简短。

如果一个属性值变长了……很可能它应该是它自己的一个元素,而不是另一个元素上的一个属性。

于 2009-08-26T13:43:45.903 回答
8

属性没有最大字符长度。

您可能遇到问题的地方是您使用另一种语言读取 xml 文件的地方。

您用来操作 xml 文件的语言将决定您的限制。

例如,如果您打算将信息读入字符串,您应该将自己限制在您正在使用的语言中字符串中可以包含的最大字符数。

此外,正如其他人所说,如果这是一个问题,您可能没有遵循标准名称约定。我建议,如果您要存储大量文本,它应该是元素的值,而不是属性。

于 2009-08-28T16:28:21.670 回答
1

我认为没有标准限制,但任何特定的实现都可能在其功能上受到限制,所以我会尽量保持大小合理。

于 2009-08-26T13:43:55.823 回答
1

属性由名称和值组成。该值可以是任何长度,包括零,并且可以包含任何有效的 XML 字符,具体取决于编码。该名称可能会或可能不会被命名空间限定;如果是这样 if 将具有至少一个字符的前缀。因此,最短的属性是:

a=''
b:a=''

属性值将通过符合 XML 解析器的规范化,以便将换行符等空格规范化为单个空格。

于 2009-09-09T21:57:24.023 回答