Original text:
according to the "application/x-www-form-urlencoded parsing" section of HTMLURL, resulting in a list of ("nameString", "valueString") tuples.  The REQUIRED "name" parameter of each component identifier <del> contains the "nameString" of a single query parameter as a String value.  Several different named query parameters MAY be included in the covered components.  Single named parameters MAY occur in any order in the covered components. The component value of a single named parameter is calculated by the following process: Parse the "valueString" of the named query parameter defined by the "application/x-www-form-urlencoded parsing" section of HTMLURL, which is the value after percent-encoded octets are decoded Encode the "valueString" using the "percent-encode after encoding" process defined by the "application/x-www-form-urlencoded serializing" section of HTMLURL, which results in an ASCII string This ASCII string is the component value Note that this value does not include any leading "?" characters, equals sign "=", or separating "&" characters.  Named query parameters with an empty "valueString" have an empty string as the component value. </del>  If a query parameter is named as a covered component but it does not occur in the query parameters, this MUST cause an error in the

Reviewer comments:
Encodes query parameter names to match values, to avoid non-ascii or otherwise problematic values.
In 2.2.8: What if the query parameter contains non-ASCII characters? I think this needs to say that the name parameter needs to contain the raw (percent-encoded) name.
Good catch, I believe you're correct.

Revised text:
according to the "application/x-www-form-urlencoded parsing" section of HTMLURL, resulting in a list of ("nameString", "valueString") tuples.  The REQUIRED "name" parameter of each component identifier  <ins> contains the encoded "nameString" of a single query parameter as a String value.  The component value of a single named parameter is the encoded "valueString" of that single query parameter.  Several different named query parameters MAY be included in the covered components.  Single named parameters MAY occur in any order in the covered components, regardless of the order they occur in the query string. The value of the "name" parameter and the component value of a single named parameter are calculated by the following process: Parse the "nameString" or "valueString" of the named query parameter defined by the "application/x-www-form-urlencoded parsing" section of HTMLURL, which is the value after percent- encoded octets are decoded. Encode the "nameString" or "valueString" using the "percent-encode after encoding" process defined by the "application/x-www-form- urlencoded serializing" section of HTMLURL, which results in an ASCII string. Output the ASCII string, Note that the component value does not include any leading "?" characters, equals sign "=", or separating "&" characters.  Named query parameters with an empty "valueString" have an empty string as the component value.  Note that due to inconsistencies in implementations, some query parameter parsing libraries drop such empty values. </ins> If a query parameter is named as a covered component but it does not occur in the query parameters, this MUST cause an error in the