Originally Posted by DiapDealer
So far as I understand, the DOCTYPE is not a requirement of the ePub spec.
This is only correct if the file does not use named entities. The doctype is required because it specifies the dtd that defines the entities. This isn't part of the epub spec because it's part of how HTML works.
This in itself is a major issue with HTML5. Since it doesn't define a doctype (not required by the spec) you can't use named entities. In the case of HTML5 a set of named entities is required to be supported (the same entities required by XML). Other entities not being defined will cause issues.
Basically, if you use named entities (other than the ones supported by XML) you must have them declared. They're typically declared via the doctype. Hence the need in this case for a fully valid doctype for the nbsp in the file to parse correctly.