- From: Paul Grosso <paul@arbortext.com>
- Date: Thu, 24 Oct 96 15:51:46 CDT
- To: w3c-sgml-wg@w3.org
> From w3c-sgml-wg-request@w3.org Thu Oct 24 15:11:24 1996 > Date: Thu, 24 Oct 96 14:08:08 CDT > > D.1 What behavior should XML systems exhibit if no DTD, or only a > partial DTD, is given with a document? In particular, should there > be a way to distinguish a document instance for which a DTD exists > but is not given from an instance for which no DTD exists? > First, I assume that the question is talking about a way to say "a DTD does exist" (i.e., a boolean), rather than a way to say "the DTD for this instance is ..." (where ... provides enough information to access the wayward DTD). (For the latter, I'd use a doctype declaration with a reference to the DTD, in other words, a valid 8879 doctype decl.) First of all, it seems to me that there is no qualitative difference between a partial and no DTD. The options seem to be (1) being in possession of a set of declarations (henceforth called DTD) that cover all of the markup in the document instance in question, (2) being in possession of the best DTD (if any) available that, however, still leaves some markup in the instance in question undeclared, (3) being in possession of the fact that some DTD exists, but you don't have it. Being in possession of no DTD because there is none available is a degenerate case of (2). What one does about declarations missing from a partial DTD and what one does about a completely missing DTD seem to be the same problem. The above issue doesn't ask what to do when given a complete DTD, so we're down to whether XML should define some way for an XML document user/tool to distinguish between a subset of (2) above (the degenerate case of there being no DTD available) and case (3). What are the possible responses in those two cases: 1. the tool/user doesn't need a DTD. In this situation, there is no difference in the response in the two cases. 2. to tool/user needs a DTD. Then we have: a. the tool/user has the capacity to create/intuit a DTD so it does so. In this situation, there is no difference in the response in the two cases. b. the tool/user doesn't have the capacity to create/intuit a DTD so it would need to access the DTD before it can continue. Only in this situation would the response be different in the two cases: if there is a DTD, it would access it, and if not, it would give an apologetic error message and quit. Only in case 2b is there a difference in behavior, and this only if it can, in fact, access the existing DTD which it currently does not possess. But, it can only access the DTD if it's told where it is, and by my initial assumption, the original question is only talking about a boolean which does not give enough information for the tool to be able to access the DTD. So I end up saying that there is no reason to distinguish an instance with no DTD from one with an absent DTD, because with only the knowledge that an absent DTD exists (but without a pointer to it), there can be no difference in tool behavior.
Received on Thursday, 24 October 1996 17:18:45 UTC