XML 中的引号。单人还是双人?

问题描述 投票:0回答:3

我听说使用单引号括住 XML 属性值是一种“糟糕的风格”。这是正确的吗?

我应该总是写:

<element attr="value">

或者可以这样写:

<element attr='value'>

或者我使用哪种风格并不重要?

xml formatting
3个回答
109
投票

两者都是合法的。选择一个并坚持下去。没关系。

来自规格

AttValue       ::=      '"' ([^<&"] | Reference)* '"'
                     |  "'" ([^<&'] | Reference)* "'"

显示两者都是有效的,就像在元素中混合两种样式一样,每个属性(尽管我建议在任何单个文档/文档集中保持一致)。


33
投票

双引号更常见,对于任何特定社区来说,为了一致性而采用一种内部风格是完全可以接受的,但是笼统地声明一种方法更好是没有道理的。

提出这样的建议也是危险的,因为它会鼓励“绝望的 Perl 黑客”尝试使用正则表达式而不是使用真正的 XML 解析器来解析 XML,并且总是只能成功处理 XML 合法允许的子集。

如果我从 Java 应用程序手动生成 XML,为了方便起见,我倾向于使用单引号 - 尽管我越来越倾向于认为手动生成 XML 几乎与手动解析 XML 一样危险。


0
投票

更喜欢双引号的一个原因是 Canonical XML 使用双引号而不是单引号。引用建议:

XML 文档的“规范形式”是通过本规范中描述的方法生成的文档的物理表示。以下列表总结了这些更改:

[...]

    属性值分隔符设置为引号(双引号)
  • [...]
© www.soinside.com 2019 - 2024. All rights reserved.