Re: SGMLS and HTML+ (Was Re: Toward Closure on HTML)

Dave Raggett ([email protected])
Wed, 6 Apr 94 16:46:34 BST


Paul,

> <HTMLPLUS>
> <HEAD>
> <TITLE>This is a HTML+ test file!</TITLE>
> <ISINDEX>
> </HEAD>
> <BODY>
> <H1>This is some text</H1>
> </BODY>
> </HTMLPLUS>

You need to look at the DTD in greater detail, as you have left out the
DIV1 element which is expected around the H1 header, e.g.

<DIV1>
<H1>This is some text</H1>
</DIV1>

Remember that the DTD is intended for use with SGML authoring tools or
document conversion tools. HTML+ browsers on the other hand have no
difficulty in automatically inferring missing DIVn elements as they
need to handle legacy documents correctly. So *DON'T* worry, if you
want to continue typing HTML into a good old text editor, you won't be
forced into typing in all these funny elements as the browser can figure
them out for itself. My HTML+ browser does all this and will be on show
at WWW'94.

> Assuming that all the AVERSION, ACHARSET, AID implied stuff is okay
> (ideas?)

This is how sgmls reports on #IMPLIED attributes when they are missing.

> <BODY>this is some text</BODY>

This is miles off! The DTD expects you to supply a document HEAD and
then to include the text within a suitable container. Try instead:

<HEAD>
<BODY>
<PROLOGUE>
<P>this is some text

The PROLOGUE and EPILOGUE elements are used for stuff without headers
which you want at the start or end of the document respectively. If the
text starts with a header then use the corresponding DIVn element instead.
Note that an HTML+ browser will work ok with just:

"this is some text"

by using the DTD to guide error recovery.

Best wishes,

Dave Raggett