Tech-invite3GPPspaceIETFspace
21222324252627282931323334353637384‑5x

Content for  TS 29.500  Word version:  19.0.0

Top   Top   Up   Prev   None
1…   5…   5.2.3.2…   5.2.3.3…   5.2.4…   6…   6.3…   6.4…   6.5…   6.6…   6.7…   6.10…   6.10.3…   6.10.6…   6.10.11…   6.10.12…   6.11…   A   B   C   D…

 

D (Normative)  ABNF grammar for 3GPP SBI HTTP custom headers |R18|p. 136

D.1  Generalp. 136

This Annex contains a self-contained set of ABNF rules, comprising the re-used rules from IETF RFCs, and the rules defined by the 3GPP custom headers defined in this specification (see clause 5.2.3).
This grammar may be used as input to existing tools to help implementations to parse 3GPP custom headers.
Given that this Annex is included in relation to ABNF tooling, the following aspects should be observed:
  • The "list extension" rule definedin Section 5.6.1 of RFC 9110 is typically not supported by ABNF tooling, so rules included this syntax have been re-written with their equivalent syntax:
is re-written as:
  • The ABNF specification defined in RFC 5234 does not describe how to evaluate the "alternative" operator (i.e., "Rule1 / Rule2"), when both rules match, but one of them have a "longer" match than the other. Based on existing ABNF rules in different RFCs, it seems that the approach is to apply a "longest" match (see, for example, the "dec-octet" rule in RFC 3986); however, most existing ABNF tools apply a "left-most" match. When this occurs, the rules in this Annex have been re-written by placing the rule with a longest match on the left side, and the shortest match on the right side of the alternative operator.
For example:
is re-written as:
  • The rules containing prose text ("<…>") are typically not supported by ABNF tooling, so the rule in RFC 3986:
is re-written as:
  • Some rules in RFC 9110 ("day", "month", "year") contain the same rule names as in RFC 5322, so these clashing rule names in RFC 9110 have been renamed as "day-rfc9110", "month-rfc9110" and "year-rfc9110" respectively.
Up

D.2  ABNF definitions (Filename: "TS29500_CustomHeaders.abnf")p. 137

Up

$  Change historyp. 147


Up   Top