<A> content model in Cougar

     I've noticed that the Cougar DTD declares %A.content (the entity
describing the allowed content for the A element) as %text. The HTML 2.0
DTD, though, has the following declaration:

<![ %HTML.Recommended [
        <!ENTITY % A.content   "(%text)*"
        -- <H1><a name="xxx">Heading</a></H1>
                is preferred to
           <a name="xxx"><H1>Heading</H1></a>

<!ENTITY % A.content   "(%heading|%text)*">

     Since, in the published HTML 2.0 DTD, %HTML.Recommended is set to
"IGNORE", the second definintion is the one that gets used more often than
not. This means <A><H1>...</H1></A> is perfectly acceptable under most
instances of HTML 2.0, but fails under HTML 3.2. Was it a conscious decision
to remove %heading from %A.content, or would it be wiser to make HTML 3.2
backwards compatable by using the same defininition (with %HTML.Recommended
and a default %A.content) as in the HTML 2.0 DTD?


Received on Friday, 26 July 1996 17:24:21 UTC