On 17 Jul 98, Kathy E. Gill wrote:

> NO - do NOT put a <body> tag anywhere Inside a frameset! The frameset
> tag is a *substitution* for the body tag.
> 
> You just put copy & links inside the <noframes> </noframes> tags.
> 
> While I do not doubt that there are browsers that will render this code
> as written -- hell, MSIE doesn't require that you close table rows or
> even the damn table itself -- it's not spec code.
> 

Sorry Kathy, but you're wrong here. It is indeed 4.0-compliant, has been
for awhile.  It even has its own w3.org DTD:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"
    "http://www.w3.org/TR/REC-html40/frameset.dtd"> 

>From htmlhelp.com, which is a reference site maintained by various w3.org
types:

* * *

Syntax:  <NOFRAMES>...<NOFRAMES>

Contents:   

    In HTML 4.0 Transitional: inline elements, block-level elements 

    In HTML 4.0 Frameset: one BODY element that must not contain any
    NOFRAMES elements 

    Contained in: APPLET, BLOCKQUOTE, BODY, BUTTON, CENTER, DD, DEL,
    DIV, FIELDSET, FORM, FRAMESET, IFRAME, INS, LI, MAP, NOSCRIPT,
    OBJECT, TD, TH 

    The NOFRAMES element contains content that should only be
    rendered when frames are not displayed. 

    NOFRAMES is typically used in a Frameset document to provide
    alternate content for browsers that do not support frames or
    have frames disabled. 

    When used within a FRAMESET, NOFRAMES must contain a BODY
    element. There must not be any NOFRAMES elements contained
    within this BODY element. 

    A meaningful NOFRAMES element should always be provided in a
    Frameset document and should at the very  least contain links to
    the main frame or frames. **NOFRAMES should not contain a
    message telling the user to upgrade his or her browser.** Some
    browsers support frames but allow the user to disable them. 

* * *

There has been some ambiguity about this in the specs for quite awhile,
because in various places within the official HTML 4.0 documentation you
will find the phrase:  "In a Frameset document, the outermost FRAMESET
element takes the place of BODY and immediately follows the HEAD."  This
is correct; but it does not imply that <body> is forbidden inside
<noframes>).

(On the other hand, some pages at w3.org also show samples of 
<noframes> code without <body>, rather confusingly. What with the 
various DTD flavours of 4.0 co-existing presently -- Strict, Transitional,
Frameset -- I'm not surprised there's some inconsistency in the
documentation.)

But to say "do NOT put a <body> tag anywhere Inside a frameset!" is 
incorrect.

See http://www.htmlhelp.com/reference/html40/frames/frameset.html for more
information.  Also, try running the code sample I provided to Suz through
either WebTech or w3.org's own validator; it will pass error-free:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"
            "http://www.w3.org/TR/REC-html40/frameset.dtd">
<html>
         <head>
         <title>whatever</title>
         </head>

      <frameset rows="*,*">

         <frame src="one.html" name=one>
         <frame src="two.html" name=two>

         <noframes>

         <body>
         normal body stuff goes here
         </body>

         </noframes>

      </frameset>
</html>
-----------
Brent Eades, Almonte, Ontario
   E-mail: [EMAIL PROTECTED]
           [EMAIL PROTECTED]
   Town of Almonte site: http://www.almonte.com/
   Business site: http://www.federalweb.com

____________________________________________________________________
--------------------------------------------------------------------
 Join The Web Consultants Association :  Register on our web site Now
Web Consultants Web Site : http://just4u.com/webconsultants
If you lose the instructions All subscription/unsubscribing can be done
directly from our website for all our lists.
---------------------------------------------------------------------

Reply via email to