Thomas 'PointedEars' Lahn said:
I see. HTML 2.0 is obsolete since June 2000 (RFC 2854);
I kind of hoped that it was self-evident that this statement is
too dated even if it ever had any technical relevance. ;-)
however
interesting that both HTML 3.2 and HTML 4.01 do impose a 64k
characters limit on the length of an attribute value after entity and
character references within it are interpreted (LITLEN):
The longest posible attribute value literal is shorter of course, since
the maximum attribute specification length is equal to the maximum
literal length.
Fair question, I should have said mainstream user agents (before Mosaic
there was a browser with support for inline graphics, scripting and
stylesheets; no web developer I know in real life knows that
.
Here we go…
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title/foo/
<ul>
<li>asd
<>bar</>
</>
No, we don't have a winner here.
OK, so there are applications of SGML that limit the length of
attribute values. However, there is no limit defined in SGML per se,
is there?
In absence of an explicit SGML declaration, there is the reference
concrete syntax, that limits attribute specification lengths to 960 and
literal lengths to 240 characters.
In particular, section 7.2 smells very funny.
<
http://www.w3.org/TR/html401/struct/global.html>
“The document type declaration names the document type definition (DTD)
in use for the document (see [ISO8879]).â€
That’s the product of wild imagination, day dreaming or drugs, and
consequently there’s nothing to see in ISO 8879 in this respect.
It goes on saying “authors must include one of the following document
type declarations in their documents†which is supposed to mean
“restrict the document type declaration to this *notation*â€. Obviously,
this is an extension of the aforementioned misbelief that document type
declarations have a ‘meta’ reference mechanism of sorts (like, say,
HyTime architectures).
As to the first error, I can’t quote something from a document that is
not present in it, as to the second, ISO 8879 clause 15.2.2 “Conformance
of Documents†says:
“A conforming SGML application […] shall not prohibit any markup that
this International Standard would allow in such documents.â€
And that’s exactly what section 7.2 is trying to do (and doctype
sniffing is fundamentally based on).
As mentioned before in this group, the prose and the normative syntax
conflict for the ID attribute. If HTML was parsed according to its SGML
rules, the attribute value literal and the attribute value would be
different if the literal was not uppercase. Needless to say, that is not
exactly “case sensitiveâ€, and would break at least page anchors and
getElementById.
The SGML Web TC (Annex K) is from 1997; had anybody cared about all this
arcane SGML stuff, one would think they would have found the time to
throw the dusty quantity and capacity stuff over board, unbundle the
shorttag feature, and do some other housekeeping for at least HTML 4.01.
I have the feeling we’ve been here before.