我听说使用单引号来包围XML属性值是一种"糟糕的风格".它是否正确?
我应该总是写:
<element attr="value">
Run Code Online (Sandbox Code Playgroud)
或者可以写:
<element attr='value'>
Run Code Online (Sandbox Code Playgroud)
或者我使用哪种风格无关紧要?
Ode*_*ded 73
两者都是合法的.选择一个并坚持下去.没关系.
从规格:
AttValue ::= '"' ([^<&"] | Reference)* '"'
| "'" ([^<&'] | Reference)* "'"
Run Code Online (Sandbox Code Playgroud)
显示两者都是有效的,就像在元素中混合两个样式一样,每个属性(尽管我建议在任何单个文档/文档集中保持一致).
Mic*_*Kay 21
双引号更常见,对于任何特定社区而言,为了保持一致性而采用房屋风格是完全可以接受的,但是一种全面的说法是,一种做法更好的做法没有任何理由.
提出这样的建议也很危险,因为它鼓励那些尝试使用正则表达式而不是使用真正的XML解析器来解析XML的"绝望的黑客",并且总是只能成功处理XML合法允许的子集.
如果我从Java应用程序手动生成XML,我倾向于使用单引号 - 尽管我越来越倾向于认为手工生成XML几乎和手工解析它一样危险.