Correction: I see now that we're using Frameset doctype for the parent page and 
Transitional for the pages within frames. I misunderstood that. My bad.

On Jul 25, 2013, at 3:19 PM, Nick Williams wrote:

> Point of interest: JavaDoc uses the HTML 4 "Loose" specification, not the 
> HTML 4 "Strict" specification. By using frames, JavaDoc is in violation of 
> the HTML 4.01 Loose specification (see below).
> 
> There are void elements and there are empty elements.
> 
> Void elements are elements that ARE NOT ALLOWED to have content. They are: 
> area, base, br, col, command, embed, hr, img, input, keygen, link, meta, 
> param, source, track, wbr, and some foreign/extension elements.
> 
> Empty elements are elements that ARE ALLOWED to have content but don't, for 
> whatever reason. This is any element not listed above.
> 
> In HTML (all versions), empty elements CANNOT be self-closing, they MUST have 
> start and end tags (like <script scr="foo"></script>) because they MAY have 
> content. Void elements MUST NOT have start and end tags because they MAY NOT 
> have content. Browsers MAY permit self-closing void tags, and all browsers 
> do. There is no syntax difference between Strict, Transitional (Loose), and 
> Frameset. Strict prohibits frame sets, presentational elements (like <font>), 
> and deprecated elements. Transitional (Loose) allows presentational elements 
> and deprecated elements but prohibits frame sets. Frameset allows 
> presentational elements, deprecated elements, and frame sets. /If/ the 
> motivation behind "self-closing element not allowed" is abiding by the spec, 
> then we should get rid of frames, too.
> 
> In XHTML (all versions), both empty elements and void elements MUST EITHER 
> have a start and an end tag OR be self-closing 
> (http://www.w3.org/TR/xhtml1/#h-4.6). Furthermore, the spec recommends for 
> compatibility reasons that you always put a space before the forward slash in 
> a self-closing element (http://www.w3.org/TR/xhtml1/#C_2).
> 
> Special Note: In HTML5, the SVG and MathML elements MUST EITHER have a start 
> and an end tag OR be self-closing.
> 
> Nick
> 
> On Jul 25, 2013, at 1:13 PM, David M. Lloyd wrote:
> 
>> It all hinges on whether the tool is generating HTML 4 or HTML 5.  If 4, 
>> then the output should be HTML 4 "strict" and this kind of input should 
>> either be translated or forced to be valid.
>> 
>> If the output is going to be HTML 5 - which I suspect is going to be 
>> considered "premature" given the usual glacial pace of these kinds of 
>> changes - then perhaps it's time to revisit some other crustiness, like the 
>> use of frames.
>> 
>> On 07/25/2013 12:59 PM, Stephen Colebourne wrote:
>>> Its complicated, see for example:
>>> http://stackoverflow.com/questions/3558119/are-self-closing-tags-valid-in-html5
>>> 
>>> The key point here is not whether its in the standard or not, but what
>>> people actually *do*.
>>> 
>>> There is no doubt in my mind that <br /> br space slash is very common
>>> indeed. Its certainly my default. The javadoc validator should be as
>>> lenient as browsers are in this case.
>>> 
>>> Stephen
>>> 
>>> 
>>> On 25 July 2013 18:41, David M. Lloyd <david.ll...@redhat.com> wrote:
>>>> On 07/25/2013 12:27 PM, Nick Williams wrote:
>>>>> 
>>>>> My apologies if this is not the right place to address this. If so, please
>>>>> forgive and direct me to the correct list.
>>>>> 
>>>>> There are a lot of people/projects complaining about Java 8's new
>>>>> "self-closing element not allowed" error when compiling JavaDoc that has
>>>>> legal <br /> tags in it (just google "self-closing element not allowed" in
>>>>> quotes). Some (including myself) are asking, "Why should we fix this? The
>>>>> problem is not in the JavaDoc, it's in the JavDoc compiler." However, I
>>>>> haven't been able to find anyone who has actually broached the subject on
>>>>> any mailing lists.
>>>>> 
>>>>> <br /> is completely legal. While it is not strictly required by the HTML
>>>>> standard (unless you're using XHTML), using self-closing tags is 
>>>>> /preferred/
>>>>> because it's more obvious what the intention is. Perhaps most importantly,
>>>>> <br /> is supported on 100% of browsers and is used throughout JavaDoc all
>>>>> over the place. I have a feeling that once more projects start compiling 
>>>>> on
>>>>> a released Java 8, this is going to make a fair number of people angry 
>>>>> that
>>>>> hey have to "fix" (read: needlessly change) potentially thousands of
>>>>> classes' worth of JavaDoc.
>>>>> 
>>>>> What was the motivation behind the new "self-closing element not allowed"
>>>>> check and how can we make it go away?
>>>> 
>>>> 
>>>> Not really having a stake in this, I just want to observe a couple things.
>>>> First, from what I can see, the HTML 4.x specifications make no reference 
>>>> to
>>>> self-closing elements or their syntactical realization.  As far as I can
>>>> tell (not being any kind of SGML expert), self-closing elements are not
>>>> valid or meaningful HTML according to its SGML definition.
>>>> 
>>>> Finally, even if they were allowed, the BR tag is explicitly defined to
>>>> forbid an end tag; self-closing elements imply an end tag (at least they do
>>>> in XML, which appears to be the next-nearest concrete specification that 
>>>> has
>>>> anything to say on the matter).
>>>> 
>>>> See http://www.w3.org/TR/html401/struct/text.html#edef-BR for more info.
>>>> 
>>>> So I'm curious when you say "using self-closing tags is /preferred/", do 
>>>> you
>>>> have any sources to cite?
>>>> --
>>>> - DML
>> 
>> 
>> -- 
>> - DML
> 

Reply via email to