Re: What's allowed in table cells?

Murray Altheim (
Tue, 24 Sep 1996 19:30:13 -0500

Message-Id: <v02140b08ae6e2aac3524@[]>
Date: Tue, 24 Sep 1996 19:30:13 -0500
To: Stephanos Piperoglou <>
From: (Murray Altheim)
Subject: Re: What's allowed in table cells?

Stephanos Piperoglou <> writes:
>I passed this through a parser (WebTechs validation service using the strict
>HTML 3.2 DTD) and it definetely choked:
>This is a BIT confusing to me. I understand that the DTD implies no markup
>between TABLE tags and TR, TD and TH blocks, but WHY?

TR is a row container, not meant for document content. It contains header
cells (TH) and regular cells (TD). All document content needs to be within
a header or cell. Think of an Excel spreadsheet: nothing exists between the

>And a second query:
>The following validated fine:
>Now my question: is the text "Foobar" in an implied paragraph? If not, where
>is it contained?

From the HTML 2.0 DTD (RFC1866):
    <!ENTITY % body.content "(%heading | %text | %block |
                                 HR | ADDRESS)*">

BODY contains %body.content, which contains %heading;, %text;, etc. These
are declared earlier in the DTD:

    <!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font">
    <!ENTITY % block "P | %list | DL | %preformatted | %block.forms">

P is contained within BODY (in the declaration of %block), text (#PCDATA)
not contained within another element is contained in BODY (as per the
declaration of %text).


     Murray Altheim, Program Manager
     Spyglass, Inc., Cambridge, Massachusetts
     email: <>
     http:  <>
            "Give a monkey the tools and he'll eventually build a typewriter."