RFR: 8248001: javadoc generates invalid HTML pages whose ftp:// links are broken
Daniel Fuchs
dfuchs at openjdk.java.net
Fri Aug 20 11:44:25 UTC 2021
On Fri, 20 Aug 2021 11:22:07 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
>> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java line 1703:
>>
>>> 1701: return text;
>>> 1702: }
>>> 1703: if (text.matches("^[^:/?#]+:.+$")) {
>>
>> Why not use `java.net.URI` API to determine if the link contains a scheme?
>
> I assume the link is in an HTML document and goes in an HTML document. If you wanted to use java.net.URI, depending on where from `text` comes from and whereto it goes, you might need first to decode it using URLDecoder, and then you might need to re-encode it before spitting it out... That's a lot of operations where things could go wrong, especially if the link contains a query string.
That said a stricter regexp (unless I'm mistaken) could be: `^[a-zA-Z][a-zA-Z0-9+-.]*:.*$`
[ from RFC 2396: scheme = alpha *( alpha | digit | "+" | "-" | "." ) ]
-------------
PR: https://git.openjdk.java.net/jdk/pull/5198
More information about the javadoc-dev
mailing list