- From: <lee@sq.com>
- Date: Thu, 29 May 97 22:33:12 EDT
- To: w3c-sgml-wg@w3.org
I think there are three separate uses of Parameter Entities that must be considered. (1) to guard marked sections -- these have values of IGNORE or INCLUDE. Marked sections are *much* less useful without these. (2) to make a DTD easier to read: <!Entity % RunningText "(#PCDATA|italic|emphasis|blink|morse|baudot)"> AAP lovers can use p.zz instead of RunningText for clarity :-) (3) to allow customisation of a DTD. All of these uses can be achieved with a preprocessor such as M4 if you like, but then people can't easily exchange DTDs unless they are all using M4. In the case of marked sections, you'd have a problem exchanging documents too. A preprocessor such as M4 is a much, much cleaner way of handling all of these things, I think, and does not in any way break SGML compliance as long as the preprocessed document is an SGML document. So since there are other ways to do these things, I would say that sensible positions seem to me [A] require support of (1) only. Author/Editor makes these a special case, and it's proved useful. [B] get rid of them all. If you're going to have a macro pre-processor, say so up front instead of intertwingling it with the language. [C] retain PEs. In all cases, any PE that occurs in the document must obviously have been declared at the start of the document in its prolog, so that the document can be processed with or without a DTD. [D] An alternative is to allow <![ %unknown; [stuff]]> to be treated by default as if %unknown; had expanded to INCLUDE. That way, a conforming XML processor would at least see the data. Lee
Received on Thursday, 29 May 1997 22:33:16 UTC