On Tue, 12 Sep 2023 13:49:41 GMT, Alexander Zvegintsev <azveg...@openjdk.org> wrote:
>>> Probably `trim()` and `toLowerCase()` could be useful here. >> >> Could be… On the other hand, in post XHTML era, the elements are usually in >> lower-case. Thus we should stick with it and use lowercase HTML elements >> anyway. >> >> I think `startsWith("<html>")` covers the scenario well. >> >> Although neither `<html>` nor `<body>` are required, I prefer to always add >> them. These two elements don't add much overhead, do they? >> >>> Do we consider adding adding one more builder method to force enable html >>> rendering? (e.g. when we just want to highlight only few words/sentences >>> with `<b>` without adding `<html>` tag) >> >> I don't think it's needed. If you want the instructions rendered as HTML, >> you'll have to format them as HTML. >> >> Forcing HTML rendering on plain text which highlights a couple of words with >> `<b>` will render the text unreadable: line ends are ignored by HTML, so >> you'll have to use `<br>` element to force line breaks. (A similar thing >> often happens in javadoc where a blank line is added as if to start a new >> paragraph, but without the explicit `<p>` element the text continues on the >> same line / paragraph.) >> >> It is possible to wrap such instructions into `<html><body><pre>` but what >> stops you from doing it explicitly if it's what you want? (Note, however, >> the `<pre>` element disables line wrapping.) >> >> I'd rather keep it simple. > >> Could be… On the other hand, in post XHTML era, the elements are usually in >> lower-case. Thus we should stick with it and use lowercase HTML elements >> anyway. > > https://www.w3schools.com/html/html_elements.asp > >> HTML is Not Case Sensitive >> >> HTML tags are not case sensitive: `<P>` means the same as `<p>`. >> >> The HTML standard does not require lowercase tags, but W3C recommends >> lowercase in HTML, and demands lowercase for stricter document types like >> XHTML. >> >> At W3Schools we always use lowercase tag names. > > So this is still a recommendation, not a requirement (we don't use XHTML). > But I agree that this can be helpful for a certain amount of consistency > across tests(they can still use other tags in uppercase). > > >> Although neither <html> nor <body> are required, I prefer to always add >> them. These two elements don't add much overhead, do they? > > It is a matter of personal taste. > Normally, I prefer to indent a content of such tags by extra spaces, andThis > can create additional formatting difficulties under the 80(120) character > limit per line. > In those cases, I would prefer to omit those tags. I know HTML is *not case sensitive*. It's just HTML tags are always in lower case in recent years. > But I agree that this can be helpful for a certain amount of consistency > across tests(they can still use other tags in uppercase). Yep! In a way, this will enforce `<html>` in lower case, and I hope all other tags in the instructions. > > Although neither nor are required, I prefer to always add them. These two > > elements don't add much overhead, do they? > > It is a matter of personal taste. Yes, it is… which could create inconsistencies. > Normally, I prefer to indent a content of such tags by extra spaces, and > This can create additional formatting difficulties under the 80(120) > character limit per line. > In those cases, I would prefer to omit those tags. I don't expect too many nesting levels in instructions. However, I agree it could be problematic… In the sample in #15661, I keep `<html><body>` and the content on the same level. Now that I looked at it again, I realised that I didn't follow the indentation consistently: first-level `<li>` aren't indented but third-level `<li>` are. I should correct this. Because `<pre>` is used to format pieces of code, I decided not to indent the first-level `<li>` elements to avoid indentation of the code inside. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/15660#discussion_r1323108124