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

时间:2011-07-23 12:50:13

标签: xml formatting

我听说使用单引号来包围XML属性值是一种“糟糕的风格”。这是对的吗?

我应该总是写:

<element attr="value">

或者可以写:

<element attr='value'>

或者我使用哪种风格无关紧要?

2 个答案:

答案 0 :(得分:69)

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

来自spec

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

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

答案 1 :(得分:19)

双引号更常见,任何特定社区为了保持一致而采用房屋风格是完全可以接受的,但是一种说明,即一种做法更好的说法是没有理由的。

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

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