Some members of the first generation of XML processors actually are both validating and non-validating. Usually, they have some way to turn the validating behavior on and off. Nothing in the spec rules this out, and it seems to be useful.
In a similar vein, note that while a non-validating processor doesn't have to read anything but the document entity, nothing forbids this, and in fact, it's pretty easy to do it, from the programming point of view. So many of those first-generation processors will read external entities, even if not validating; the good ones also include a switch so you can turn this behavior on and off; sometimes you absolutely don't want to read external entities, for performance reasons.
Back-link to specCopyright © 1998, Tim Bray. All rights reserved.