The XML encoding of X3D scenes is specified in ISO/IEC 19776-1.2:2009. X3D fields are represented by XML attributes. The rules for SFString and MFString say that the attribute representing a field of type SFString must be enclosed in double quotes, for example name="Alpha"; and that representing a field of type MFString must be enclosed in single quotes, with the constituent strings enclosed in double quotes, for example names=' "Alpha" "Beta" '.
I am writing a program which will generate XML encodings of X3D scenes. I am using Cocoa, which supplies an XML document type, and can write out the document to a file. I can control whether all attributes in the file are enclosed in single or double quotes; but without duplicating a lot of Cocoa code I do not see how to get more fine-grained control.
Those rules seem discordant with the way things are done in XML. Are they in fact enforced in the X3D community? Is there an X3D forum in which to raise this question? I know of http://www.web3d.org/message_boards/ , but I am not sure it is active: there seem to have been no new messages posted there since March 2011, as if everybody has gone somewhere else.
Sadly, this point is a free for all: on one hand, you have the self-proclaimed most used viewer doing whatever it wants regardless of the standard as usual (e.g. no double-quote around each value), and on the other hand, the other viewers who follow the standard (double-quotes around each value).
So it depends on what viewer(s) you target.
If you want to avoid headaches, you may want to stick to classic encoding instead of XML encoding if you have a choice in the matter.