>All this seems to deal with the situation where an entity *is* declared,
>and what to do with it. Are there XML parsers which will let the
><?xml version="1.0" encoding="utf-8"?>
>The ones I have tried all barf on it.
This XML document does not cover the controversial case. The point in
question is what applies to a document that has a DTD with an external
<!DOCTYPE hello SYSTEM "hello.dtd">
This document is well-formed (it might be invalid depending on the contents
of hello.dtd, though).
A remark to my first reply in this threat:
SR >> b) XML processors are not obliged to read the
SR >> external DTD, so having entities in the DTD only
SR >> can cause your documents to be invalid
DK > Validating XML processors must read the complete DTD.
DK > Non-validating processors may fail to detect the
DK > reference to an undeclared entity, but this can not
DK > cause the documents to be invalid.
I wanted to emphasize that the difference using a validating vs. a
non-validating processor is important here. The parallelism to "only can
cause" in your posting that I introduced by writing "can not cause" was
somewhat clumsy, because I did not want to make an antitheses to yours, but
only a supplementation of the sort: As long as one uses a validating
processor, which is obliged to read the external DTD, one is on the safe
side to detect any missing entity declaration, and if one parses the
document with a non-validating processor the mere fact of doing so will not
render a valid document invalid. I did not intent to claim that this view
is contrary to your statement.