Neredbojias wrote:
> On 13 Jan 2009, "Beauregard T. Shagnasty"
> <> wrote:
>
>>> Neredbojias wrote:
>>> I really don't follow this. Iframe is _not_ valid "in Frameset"
>>> although in can be valid within a framed page if that's what you
>>> mean.
>>
>> I believe what I am saying is, that using an <iframe> element within
>> a Strict doctype page is not valid, per w3c. Using an <iframe> in a
>> document that has the Frameset doctype, the <iframe> is not shown as
>> an error.
>
> Okay, but according to the html 4.01 spec, iframe is only valid in
> transitional.
>
> http://www.w3.org/TR/REC-html40/index/elements.html
That page is just an informal summary. It is very useful, but in a dispute
or uncertainty, the formal definitions and normative prose should be
checked.
The DTD column there is partly misleading, since some (actually, most)
elements that have L there should have both L and F. Moreover, the empty
cells should be read "this element appears in all DTDs", which is not
immediately obvious from the page.
The Frameset DTD is just a variant of the Transitional DTD, as you can see
from
http://www.w3.org/TR/REC-html40/sgml/framesetdtd.html
which really says that the DTDs are identical except for
<!ENTITY % HTML.Frameset "INCLUDE">
which makes some parts of the Transitional DTD enabled in Frameset variant
(only).
In particular, the FRAMESET element may contain the NOFRAMES part (commonly
used to demonstrate the author's cluelessness, such "This page requires
frames"), which in turn contains a BODY element, which may contain anything
that the BODY of a Transitional document may contain. This of course
includes IFRAME.
On the other hand, it would be "somewhat" weird to have IFRAME inside an
element whose content is ignored on any frames-enabled browser. (It is
remotely possible that some odd browser somewhere has a mode where "normal"
frames are disabled but inline frames are enabled. I never saw one... but
actually I think one could easily turn a normal browser into such an oddity,
by using simple CSS that sets frame { display: none; }. But why?)
--
Yucca,
http://www.cs.tut.fi/~jkorpela/