- From: Reitzel, Charlie <CReitzel@arrakisplanet.com>
- Date: Fri, 14 Sep 2001 14:43:58 -0400
- To: "'Fred.Bone@dial.pipex.com'" <Fred.Bone@dial.pipex.com>, Html-tidy@w3.org
Hi Fred,
Thanks for the correction on 3.2. I'm clear about overlapping block tags.
Not sure about HTML 4, tho. From
http://www.w3.org/TR/html4/struct/tables.html#h-11.2.1
<!ELEMENT TABLE - -
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
Clearly I'm no expert, but I read this as requiring at least one TBODY. But
this is a quibble.
On 14 Sep 2001 at 10:21, Allan Clark wrote:
> Does this show that the text Tidy is correcting is indeed
> non-compliant? Not just ambiguous but non-compliant, which
> requires tidy to clean it to be compliant to either 3.2 or 4.0 ?
>
> In past, I've made each row of a table into a form
> (<tr><form...>...</form></tr>) but this is illegal?
I think the approach Allan and I have used in the past can be considered
deprecated at best. I have migrated away from this approach because it has
layout problems in IE. Instead of nested tables, however, I would suggest a
single form and using a bit of Javascript to copy the data into hidden
<input> tags before calling form.submit().
take it easy,
Charlie
-----Original Message-----
From: Fred Bone [mailto:Fred.Bone@dial.pipex.com]
Sent: Friday, September 14, 2001 5:35 AM
To: Html-tidy@w3.org
Subject: RE: Tidy becomes less forgiving
On 13 Sep 2001 at 17:50, Reitzel, Charlie wrote:
> Hi Allen,
>
> You are not the first to raise this sensible point. However,
> Tidy strikes a sometimes uneasy balance between the HTML specs
> -plural- and what browsers actually do. If there is a general
> rule, it might be stated, "1) Parse any and all markup to the
> degree possible. 2) Emit spec compliant HTML that
> renders the same on most browsers as the non-compliant input."
> A bit messy, yes. But I think that's what makes Tidy useful.
>
> Further, the spec does not directly address nesting <form>
> tags within various table tags (<table>, <tr>, <td>). According
> to the HTML 3.2 DTD, <form> tags are not allowed at all within
> a table. Only <tr>'s are allowed within <table>'s and only
> text elements are allowed within a <td>.
Quote from the 3.2 reference spec:
> <!ELEMENT (th|td) - O %body.content>
That includes FORMs.
> <form> is a block level tag. HTML 4 requires an
> additional intervening TBODY tag. So we are already playing
> fast and loose w/ the spec. My only suggestion
> was to move the line over one notch - you've got to draw
> it somewhere.
TBODY is optional (implied) and has no effect on the permitted content
of TD.
In both 3.2 and 4, you can nest a TABLE in a FORM or a FORM in a TD. You
can't have one block-level element overlapping another. (And you can't have
a FORM in a TD that's inside a FORM).
Received on Friday, 14 September 2001 14:43:36 UTC