That is what I said. Every word is technically a valid TLD, and a TLD is a valid URL (if one ignores the scheme).

Your TLD is wrong because | has highest precedence in BNF.

Your domain is also wrong because a domainlabel cannot begin or end with a hyphen.

Your host is wrong because domain (i.e., the aggregate of domainlabels) is optional.

I forgot to mention in my last comment that your IPADDR also doesn't suppprt IPv6.