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

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).

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

    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.