xmlformatting

Quotes in XML. Single or double?


I've heard that using single quotes to surround XML attribute values is a "bad style". Is this correct?

Should I always write:

<element attr="value">

Or is it acceptable to write:

<element attr='value'>

Or does it not matter which style I use?


Solution

  • Both are legal. Choose one and stick with it. It doesn't matter.

    From the spec:

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

    Showing that both are valid, as is mixing the two styles within an element, per attribute (though I suggest being consistent within any single document/set of documents).