RFR: 8321500: javadoc rejects '@' in multi-line attribute value
Jonathan Gibbons
jjg at openjdk.org
Fri Nov 1 16:01:29 UTC 2024
On Tue, 15 Oct 2024 10:41:43 GMT, Hannes Wallnöfer <hannesw at openjdk.org> wrote:
> Please review the removal of code in `DocCommentParser` that created an error when encountering a spurious "@" character in an HTML attribute value after a line break.
>
> The removed code (which was added in its current form in 2012) seemed to assume that such a "@" character was part of a block tag and therefore an indication of an unclosed attribute value. However, both line breaks and "@" are valid characters in HTML attributes. Note that valid content for HTML attributes in `DocCommentParser` is [text and entities as per HTML5][html5-attributes] as well as JavaDoc inline tags, but not block tags.
>
> [html5-attributes]: https://html.spec.whatwg.org/multipage/syntax.html#syntax-attribute-value
>
> The change adds two doctree tests, one to make sure HTML attributes with mixed values (text, line breaks, entities, inline tags, "@") are parsed correctly, and a second one to make sure actual unclosed attribute values are still recognized as errors.
As a (very) general comment, it is not a requirement that the standard doclet (or `DocCommentParser`) should support a maximal applicable subset of HTML. It is reasonable for there to be restrictions, preferably as long as they are (better) documented. The goal is to be able to support all "reasonable" doc comments.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21520#issuecomment-2452122384
More information about the compiler-dev
mailing list