XML Torture Test: Parsers Fail
Richard Tobin
richard at cogsci.ed.ac.uk
Wed Apr 7 16:02:22 BST 1999
> I don't see anything in the spec that says "don't read and validate
> external parsed entities if they're not used." And in fact, the spec
> seems to say that, in order to be valid, they must (whether used or not)
> match certain productions in the grammar.
Surely the question a validating parser is supposed to answer is not
whether the external parsed entities are valid, but whether the
*document* is valid.
The definition of "valid" is (section 2.8):
An XML document is valid if it has an associated document type
declaration and if the document complies with the constraints
expressed in it.
Presumably this implies well-formedness since otherwise we wouldn't
have an "XML document".
I don't think it is reasonable to say that external parsed entities
defined but not referred to are part of the document. I think section
5.1 supports this view when it says "validating processors must read
and process the entire DTD and all external parsed entities referenced
in the document".
Though it is clearly useful to be able to check that all the entities
mentioned in a DTD are valid, I don't think it should be the default
behaviour of a validating parser. For example, there might be entities
that only make sense when other entities are included or excluded.
(A separate point: it seems to me that the definition of "valid" is
incomplete, since there are validity constraints other than "complying
with the constraints expressed in the DTD"; section 5.1 mentions this.)
-- Richard
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list