in reply to Re: Arrays with CGI perl help (More fundamental issues)
in thread Arrays with CGI perl help

You have been greatly misinformed. Under strict HTML4,

Of course, the OP gave no indication he was interested in issuing strict HTML4.

Replies are listed 'Best First'.
Re^3: Arrays with CGI perl help (More fundamental issues)
by ww (Archbishop) on Jun 26, 2009 at 00:00 UTC

    Given your cite, I stand corrected on my statement re the DOCTYPE being optional; I can't even recall which 'authority' put that notion in my head.

    However, I would continue to hold that the <head>...</head> is required (*1 qualifier below) because <title>...</title> is required and §7.4 of w3c's html 4 documentation says:

    "Every HTML document must have a TITLE element in the HEAD section." (emphasis in the original at 7.4.3)

    *1 And yes, that directly contradicts the w3c cite you provided ...suggesting that:

    1. w3c needs to get its act together
      or
    2. I'm mis-reading something, or failing to distinguish properly between its "normative" and "informative" documentation.

    So, while I'm uncertain which citation governs here, I think each of us has an arguably sound basis for our assertions (at least re <head>...<head>).

    Moving on to into calculations of how many angels can dance on the head of a pin...

    §7.3, "The HTML element," appears to me to be directive and thus to offer some support for my notion that the <html ...> is required:

    "After document type declaration, the remainder of an HTML document is contained by the HTML element."

    But, I must also concede that the quote above does not quite offer explicit contradiction of the earlier indication that the <html> element is optional... and I cannot re-find the (vividly/spuriously?) remembered 'authority' which -- as I recall it -- asserted that tags like <p>, <h#>, <ol>, <table>, <div> and company can appear only inside a <body>...</body> pair.

    That said, I belatedly noticed (and only after your msg re the doubled <!DOCTYPE> for which, thanks!) that CGI.pm produced an XHTML <!DOCTYPE>, making the example pretty much irrelevant to the thrust of my comment ((or irrelevant, confusing and stupid: ie, I forgot to include -no_xhtml in the use CGI line).

      I would continue to hold that the <head>...</head> is required (*1 qualifier below) because <title>...</title>

      You seem to be confusing elements and tags.

      A HEAD element must be present in an HTML element, and the HEAD element must be the HTML element's first child. A HEAD element will be created in the DOM, and any content required by the HEAD element must be present as well. I think you agree with this.

      The representation of the element in the document is a separate matter. Neither tags of the HEAD element (<head> and </head>) are required. Due to the requirement of the presence of a HEAD element, the element is still present even if the tags are omitted.

      Just like the closing of the P element is implied in <div><p></div>, the opening and closing of the HEAD element is implied in <html><title>Title</title><body>

      Update: Improved wording.