Let me try to revisit the example that Eric Bina gave:
1. <!-- select doctype above... -->
2. <HEAD>
3. <TITLE><!-- your title here --></TITLE>
4.
5. <METADATA>abc</METADATA>
6. <!-- your HTML test data -->
7. </BODY>
8.
Now lets pretend for a minute that I'm a parser that doesn't understand
<METADATA>. So I have no idea if <METADATA> is a HEAD tag or a BODY tag. If
<METADATA> is in the BODY I would ignore the METADATA tag (not understanding
it) and just display abc normally. But if METADATA is in HEAD, I would just
ignore the whole thing.
This is I think where SGML does not work always for the WWW. SGML assumes
that it always has a correct DTD, whereas we need to build an application
that can be libreal with what we receive (And hopefully strict with what we
send out...) Disclaimer: I am not saying SGML is bad or anything of the
sort. I just think we need to keep in mind that we need to only use those
constructs that will actually work without the exact DTD that was used to
create the document being available.
Alex Hopmann
ResNova Software, Inc.
hopmann@holonet.net