XML中的引号.单张或双张



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

我应该总是写:

<element attr="value">

或者可以这样写:

<element attr='value'>

或者我用什么样式并不重要吗?

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

从规格:

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

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

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

提出这样的建议也是危险的,因为它鼓励了"绝望的perl黑客",他们试图使用正则表达式而不是使用真正的XML解析器来解析XML,并且总是只能成功处理XML合法允许的一部分。

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

最新更新