web-dev-qa-db-ja.com

XMLでの引用。シングルかダブルか?

単一引用符を使用してXML属性値を囲むのは「悪いスタイル」だと聞いたことがあります。これは正しいです?

私はいつも書くべきです:

<element attr="value">

または、次のように記述してもかまいません。

<element attr='value'>

または、どのスタイルを使用しても問題ありませんか?

53
Sergey Metlov

両方とも合法です。いずれかを選択して、それに従ってください。関係ありません。

spec から:

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

属性ごとに要素内の2つのスタイルを混合するように、両方が有効であることを示します(ただし、単一のドキュメント/ドキュメントのセット内で一貫性を保つことをお勧めします)。

73
Oded

二重引用符はより一般的であり、特定のコミュニティが一貫性のためにハウススタイルを採用することは非常に許容できますが、それを行う1つの方法の方が良いという包括的な声明には正当化がありません。

また、実際のXMLパーサーを使用する代わりに正規表現を使用してXMLを解析しようとする「絶望的なPerlハッカー」を奨励し、常にXMLが法的に許可するサブセットのみを処理することに成功するため、このような推奨事項を作成することも危険です。

JavaアプリケーションからXMLを手動で生成する場合、便宜上、単一引用符を使用する傾向があります。ただし、XMLを手動で生成することは、それを解析します。

20
Michael Kay