Re: <XMP> and <LISTING>, declared content (Was Re: HTML 2.0 LAST CALL: ...)

Daniel W. Connolly (connolly@beach.w3.org)
Sat, 3 Jun 95 10:06:52 EDT

In message <9506030109.AA16555@trystero.art.com>, Joe English writes:
[a nice explanation of how evil CDATA declared content is]

>> > [joe@art.com wrote:]
>> > CDATA declared content is PURE EVIL, and I'd like to
>> > see <XMP> and <LISTING> pushed as far away as possible
>> > from the other more respectable block elements.
>> >
>> > Calling them "deprecated" is not strong enough for me.
>> > They were "obsolete" as of May 31, and I *strongly urge* that
>> > they stay that way until HTML 2.1, when they should
>> > be eliminated altogether.

Before this change (moving XMP/LISTING from appendix to normative but
deprecated), the DTD was inconsistent with the prose of the spec. So
my choices were: change the DTD, or change the prose.

Dilemma: WG members have read and agreed to the prose, but the DTD has
lots of testing behind it -- XMP and LISTING _was_ an issue in
feedback from the HTML validation service. They _do_ occur in lots of
documents on the web. All browsers support them.

For example, if you built the search service that you mentioned, you
_would_ have to deal with XMP and LISTING somehow: fact of life. If
the 2.0 spec said they were obsolete, you'd have an argument for
treating them as a failure mode. Do you think that would make your
customers happy? Imagine this sequence:

User searches database like lycos with this software,
search engine returns "error: can't do highlighting: invalid document"
user complains to service provider
servide provider complains to search engine vendor
search engine vendor says "we just coded to the spec"
Nobody is happy.

So (1) I believe changes to the DTD at this point are horrendously
expensive, and (2) I think deprecating, rather than obsoleting
XMP/LISTING is actually the Right Thing To Do at this point.

Forward thinking authors won't use them, and administrators can
validate that their author/users aren't using them by using the Strict
DTD. Authoring tools shouldn't generate them.

Dan