User variable name characters

User variables are variables defined by the user from within the context of a tag mapping . A user variable name is a token beginning with an upper-case letter and followed by one or more user variable name characters.

A variable name that contains a ‘%’ that is not followed by two hexadecimal digits is invalid.

Name ::= StartChar (NameChar)*
StartChar ::= [A-Z]
NameChar ::= Letter | Digit | PEseq | '.' | '-' | '_' | ':' | '[' | ']' | '#'
Letter ::= [A-Za-z]
Digit ::= [0-9]
HexDigit ::= [0-9A-Fa-f]
PEseq ::= '%' HexDigit HexDigit