Re: HTML 4.0 draft available

E. Stephen Mack (
Wed, 09 Jul 1997 18:34:22 -0700

Message-Id: <>
Date: Wed, 09 Jul 1997 18:34:22 -0700
From: "E. Stephen Mack" <>
Subject: Re: HTML 4.0 draft available
In-Reply-To: <>

At 10:22 AM 7/9/97 +0200, Arnaud Le Hors wrote
[in response to my recommendation to print the 4.0 draft using
the postscript file, and not each individual file separately]:
>Well, I just printed it out myself and it's really 250 pages now. Quite
>scary actually but I don't see how we could make it any shorter... The
>difference is due to late additions such as the "Attributes defined
>elsewhere' sections.

I agree, you probably can't make it any shorter.   However,
I think it could end up being longer once you incorporate
all of our comments...  I've enjoyed reading the various
comments that have appeared here so far.  I also have 
several comments of my own.

1. Why are the headings and ADDRESS elements dealt with in global.html 
   and not in a later section on block level elements?

The HTML 3.2 spec
does not consider headings (<H1>..<H6>) to be either block level
or text level elements:
<!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*">

The HTML 4.0 spec
considers headings and ADDRESS to be block level elements:

<!ENTITY % blocklevel
     "P | %heading | %list | %preformatted | DL | DIV | CENTER |

It made sense for the HTML 3.2 spec to deal with headings
and ADDRESSS separately, as BODY elements that weren't block level.

Several on-line HTML 3.2 references dealt with headings and
ADDRESS as block level elements (e.g.,
among others) -- and I always felt this was a logical way to
present things.

   So, now that headings and ADDRESS are considered text
containers on the same level with the paragraph element, Brian's
and Arnoud's presentation is vindicated.  I'm surprised
that heading and ADDRESS aren't discussed in text.html
with the other text containers.  It seems premature to
discuss them in global.html's Body section unless you
are also discussing the other block level elements there.

Furthermore, I can't quite understand why the discussion
on <DIV> and <SPAN> takes place in the Body section, since it would be
more appropriate to use these two elements to introduce
the text.html section and really make the distinction
between %inline and %blocklevel clear.

2. In the section on URLs, there is a separate discussion
   of mailto: URLs, but no explicit mention of other types
   of protocols, such as telnet:, gopher: and ftp:.

Because no mention is made of other protocols (other
than http:) and the wording in the MAILTO URLs section
is exclusive, it seems important to mention other
protocol types.

In particular, another small sub-section on FTP URLs
would be nice, particularly since the ftp:
protocol is in such common use.  The ability to include
password and username parts in an ftp URL is not commonly
known, so the 4.0 spec could call special attention to
the syntax for it.

3. The "Changes between HTML 3.2 and HTML 4.0" section
   should include a summary of attribute changes as well,
   at least pointing out which HTML 3.2 attributes are
   deprecated (such as the <BODY> presentation attributes)
   and which attributes are new.

4. In the "A brief SGML tutorial" section
   there is the following paragraph:

> By default, SGML requires you to delimit all attribute values using
> either double quotation marks (") or single quotation marks
> ('). Single quote marks can be included within the attribute value
> when the value is delimited by double quote marks, and vice
> versa. You may also use numeric character entities to represent
> double quotes (&#34;) and single quotes (&#39;). For double
> quotes you can also use the named character entity &quot;. 

The last two sentences employ the word "use" in a non-specific way.
The first part of the paragraph is referring to the delimiting of
attribute values; the second part of the paragraph is referring
to the content of the attribute values.  This paragraph should
be clear that the entities are only to be used in the content,
and not for the purpose of delimiting attribute values.

5. In "Basic HTML data types" (types.html), the "Notes on
   using colors" section refers to "ICC color profiles,"
   which are not referenced or defined.  (I've never heard
   of ICC color profiles personally, but perhaps this is
   a common enough reference.)

6. In "The global structure of an HTML document" (global.html),
   the "Element identifiers: the id and class attributes" section
   includes the following example:

PRE.example { background : green }
<PRE class="example" id="example-1">
...example code here...

By setting the id attribute for this example, we can (1) create
a hyperlink to it and (2) override class style information with
instance style information. 

There are three issues I have with this example:

A. The required TITLE element is missing from the HEAD section.
B. The <STYLE> and </STYLE> tags are malformed (victims of a cut
   and paste I'm sure).
C. Since you show the class style information, you should also
   show the instance style information, to make clear the point
   in the quoted paragraph.  The hyperlink may as well be shown

This is getting long enough already, so I'll save other comments
for a future e-mail.
E. Stephen Mack <>