We have published ABNF rules for OData request URLs
- odataUri
- odataRelativeUri
- resourcePath
- queryOptions
which are much complicated by the fact that they produce percent-encoded URLs. Because of ODATA-1583, much of these rules must be duplicated for the context rule, which (being a URL fragment) does not use percent-encoding.
It would be much easier if we only had ABNF rules for the components of a URL:
- path segment
- search parameter name
- search parameter value
- fragment
and then assemble a URL from these components, with the necessary percent-encoding.
Consider writing an alternative set of ABNF rules with this approach.