引用XML。 单人或双人?

我听说用单引号来包围XML属性值是一种“不好的风格”。 它是否正确?

我应该总是写:

<element attr="value"> 

或者可以写下:

 <element attr='value'> 

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

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

从规格 :

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

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

双引号是比较平常的,任何一个特定的社区为了一致性而采用房屋风格是完全可以接受的,但是总体上来说,一种做法更好的方法是没有道理的。

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

如果我从Java应用程序中手工生成XML,我倾向于使用单引号,尽pipe我越来越倾向于认为手工生成XML几乎和手parsing一样危险。