HTTP-EQUIV, NAME, attributes of META _not_ CDATA

Daniel W. Connolly (connolly@hal.com)
Mon, 14 Nov 94 16:11:02 EST

Dan> * HTTP-EQUIV and NAME attributes of META were changed from NAME to CDATA.
Dan> Why?

Roy> > Someone told me that NAME was just plain wrong, and I did as I was told.
Roy> > Anyone remember who it was?
Roy>
Roy> Probably me. Terry (I think) brought up the question regarding whether
Roy> or not the same name could appear in both HTTP-EQUIV and NAME, e.g.
Roy>
Roy> <META http-equiv="owner" name="owner" content="fred">
Roy>
Roy> and that such a thing would not be legal if the attribute values were
Roy> both NAME. However, I may have misunderstood.

I think you misunderstood. Enumerated attribute value declarations can't
overlap; i.e. you can't say:

<!ATTLIST META
http-equiv (last-modified|owner|reply-to) #IMPLIED
name (last-modified|owner|reply-to) #IMPLIED
content CDATA #REQUIRED>

But, as you found out, this doesn't apply to the instance markup; i.e.
you _can_ say:

Roy> <HEAD>
Roy> <TITLE><!-- your title here --></TITLE>
Roy> <META http-equiv="owner" name="owner" content="fred">
Roy> <META http-equiv="owner" name="owner" content="fred">
Roy> </HEAD>
Roy>
Roy> <BODY>
Roy> <!-- your HTML test data -->Testing
Roy> </BODY>

Roy> but the parsed output seems kind of strange. Is it correct, Dan?

What's strange about it? sgmls output is a little funky in that the
attributes come before the (TAG, but other than that, it looks fine
to me!

Roy> and the "Elements found" list does not include META.

Bug in the validator service script. Oops!

Roy> In any case, I asked that the attribute values be returned
Roy> to CDATA (as I defined them originally) because I did not want
Roy> the syntax of SGML to dictate the syntax of the META names.
Roy> However, I could very well be wrong in that regard, and will
Roy> agree with whatever the SGML gurus decide is best.

As an "SGML guru," I'd say that the SGML NAME syntax is The Right
Thing to use for the META NAME syntax. For example, RFC-822 header name
syntax is consistent witht the SGML name syntax. As usual, evidence to
the contrary is welcome.

Dan