Okay. To address some of your points (not in order):

- I do not interpret "no end tags" as a strict prohibition on self-closing 
elements. I think many people agree with me. I think the fact that browsers 
barf at <br></br> but not <br /> reinforces this interpretation.

- HTML5 does allow self-closing elements ... but ONLY for void elements (not 
empty elements that allow content).

- So you say -Xdoclint for JavaDoc was meant to be the analog to -Xlint for 
JavaC, and I buy that ... except that it wasn't implemented that way. -Xlint 
produces /warnings/. -Xdoclint produces /errors/ and causes JavaDoc to fail. If 
-Xlint produces warnings and -Werror makes those warnings errors, then IMO 
-Xdoclint should also produce warnings and -Werror (or possibly something like 
-Wdocerror) should make those warnings errors. After all, the <br /> problem 
that the W3 validator points out is a WARNING, not an ERROR.

- Somewhat off topic, every JavaDoc page produced by Java 8 right now has at 
least one W3 validator warning, because they're all missing a character 
encoding declaration (assumed to be UTF-8 for validation, but that's not 
portable).

Nick

On Jul 25, 2013, at 3:46 PM, Jonathan Gibbons wrote:

> First, as was pointed out earlier[1] in the original thread, the HTML 4 spec
> does not mention the existence of self-closing elements, and in that message,
> David makes a good point that <br> is defined to not have an end tag,
> making the <br/> syntax doubly questionable.
> 
> So what does "doclint" stand for?  Read it as "doc lint" meaning it is to
> javadoc comments what -Xlint is to javac and lint is to C code. In other
> words, it is intended to be used to point out questionable (or erroneous)
> input.   The ";" in "for (Item i: list);" is totally legal, the cast in 
> "String s =
> (String) "abc"; are both legal, but we do not think it unreasonable to
> highlight them in code, along with all the other -X lint warnings.  So
> too with -Xdoclint messages regarding javadoc comments.
> 
> Yes, you can say that all the browsers (now) accept this syntax -- but
> the design intent of -Xdoclint was to highlight issues that might cause
> a validator to give comments.  For far too long, the javadoc tool itself
> has generated bad code, and so the general goal in the ongoing javadoc
> TLC has been that given valid input, javadoc should generate valid output,
> where "valid" means "conforms to the published DOCTYPE" and accepted
> by a standard recognized validator, such as the one I cited at w3c.org.
> 
> I would /strongly/ prefer that we not revert back to "is the output from 
> javadoc
> accepted by all browsers?".
> 
> Should -Xdoclint be opt-in or opt-out?  For what its worth, this was
> always a controversial decision, because of the potential for discussions like
> this. We've ended up with a compromise.  It is opt-in at javac time, which is
> when I'd expect most interested developers to want to use it -- as a 
> developer,
> I want to see the doclint feedback at the time I'm writing my doc comments,
> when I'm in the compile-edit-test cycle.   But it is not enabled by default 
> for
> javac.   But it is enabled by default in javadoc at doc-generation time.
> When you're generating docs, it is good for folk to know that the docs do
> not conform to the declared standard (i.e. HTML 4.01)  If you're not 
> interested
> in the feedback, you can disable it easily enough. If you are interested,
> a global replace of <br/> to <br> should not be an onerous task in any
> modern IDE.
> 
> Finally, another message [2] in the thread mentioned HTML 5.  That is 
> definitely
> on the upcoming radar.  I would also like to see javadoc more forgiving in
> its input while still generating conformant output. Yes, that might mean 
> fixing
> up minor transgressions.   But not today.
> 
> -- Jon
> 
> 
> [1] http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-July/019262.html
> [2] http://mail.openjdk.java.net/pipermail/core-libs-dev/2013-July/019264.html
> 
> On 07/25/2013 01:22 PM, Nick Williams wrote:
>> Jonathan, I don't see the "confirmation that this is not legal HTML" that 
>> you reference. I see a warning that some browsers may not interpret it 
>> correctly. But IE 5+ and all Firefox, Chrome, Netscape, Opera, etc. versions 
>> interpret it correctly.
>> 
>> I understand your point about the spec not specifically allowing it. 
>> HOWEVER, I promise you there are TENS OF THOUSANDS of existing JavaDoc'd 
>> classes that will break JavaDoc generation as a result of this change.
>> 
>> Maybe doclint (what does that stand for, by the way?) could be a default-off 
>> feature instead of a default-on feature?
>> 
>> Nick
>> 
>> On Jul 25, 2013, at 1:59 PM, Jonathan Gibbons wrote:
>> 
>>> The message about "self-closing element not allowed" is because 
>>> self-closing elements are not allowed in HTML 4. The message is generated 
>>> by the new "doclint" feature available in javac and javadoc, which is 
>>> specifically intended to detect issues in javadoc comments.  If you do not 
>>> wish to use the new doclint feature, you can disable it with -Xdoclint:none.
>>> 
>>> 
>>> As confirmation that this is not legal HTML, try typing a code fragment 
>>> such as the following into the W3c validator at 
>>> http://validator.w3.org/check
>>> 
>>>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
>>>> "http://www.w3.org/TR/html4/loose.dtd";>
>>>> <head>
>>>> <title>test</title>
>>>> </head>
>>>> <body>
>>>> <br/>
>>>> </body>
>>>> </html>
>>> You will get the following warning:
>>> 
>>>> 1. /Line 6 <http://validator.w3.org/check#line-6>, Column 4/:
>>>>    NET-enabling start-tag requires SHORTTAG YES
>>>>    |<br*/*>|
>>>> 
>>>>    For the current document, the validator interprets strings like
>>>>    |<FOO />| according to legacy rules that break the expectations of
>>>>    most authors and thus cause confusing warnings and error messages
>>>>    from the validator. This interpretation is triggered by HTML 4
>>>>    documents or other SGML-based HTML documents. To avoid the
>>>>    messages, simply remove the "/" character in such contexts. NB: If
>>>>    you expect |<FOO />| to be interpreted as an XML-compatible
>>>>    "self-closing" tag, then you need to use XHTML or HTML5.
>>>> 
>>>>    This warning and related errors may also be caused by an unquoted
>>>>    attribute value containing one or more "/". Example: |<a
>>>>    href=http://w3c.org>W3C</a>|. In such cases, the solution is to
>>>>    put quotation marks around the value.
>>>> 
>>> -- Jon
>>> 
>>> 
>>> 
>>> On 07/25/2013 11:14 AM, Alan Bateman wrote:
>>>> Re: Invalid "self-closing element not allowed" JavaDoc error.eml
>>>> 
>>>> Subject:
>>>> Re: Invalid "self-closing element not allowed" JavaDoc error
>>>> From:
>>>> "David M. Lloyd" <david.ll...@redhat.com>
>>>> Date:
>>>> 07/25/2013 10:41 AM
>>>> 
>>>> To:
>>>> core-libs-dev@openjdk.java.net
>>>> 
>>>> 
>>>> 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
>>>> 
>>>> Re: Invalid "self-closing element not allowed" JavaDoc error.eml
>>>> 
>>>> Subject:
>>>> Re: Invalid "self-closing element not allowed" JavaDoc error
>>>> From:
>>>> Stephen Colebourne <scolebou...@joda.org>
>>>> Date:
>>>> 07/25/2013 10:59 AM
>>>> 
>>>> To:
>>>> core-libs-dev@openjdk.java.net
>>>> 
>>>> 
>>>> 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).
>>>>>> 
>>>>>> Seehttp://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
> 

Reply via email to