::= '<' (|'#'|'_'|'/'|'&') ([^> ])* '>' ::= ? ':' ::= ? ':' (|)? ::= '_:' (|) ::= '_:' (|) ::= ('?'|'$') (|) ::= + ('-' ()+)? <#A2Z> ::= [a-zAZ] <#A2ZN> ::= [a-zA-Z0-9] ::= ::= [0-9]+ '.' [0-9]* ? | '.' ([0-9])+ ? | ([0-9])+ <#EXPONENT> ::= [eE] [+-]? [0-9]+ ::= "'" ( ([^'\\\n\r]) | ('\\' [^\n\r]) )* "'" ::= '"' ( ([^"\\\n\r]) | ('\\' [^\n\r]) )* '"' ::= [0-9]+ [] ::= 'base' [] ::= 'prefix' [