anchor.diff:        (SEMICOLON|COMMA|MINUS|PLUS|'\''|'"'|'\\'|';'|'='|BRACECLOSE|BLOCKCLOSE)*       // Trailing garbage
       ;
   
  -rootElements:
  -            keyValue | siteUrl | emailAddress | uuId | rootText ;
  +rootElements
  +    : keyValue
  +    | siteUrl
  +    | emailAddress
  +    | uuId
  +    | rootText
  +    ;
   
   rootText
       : VERSION
  
positive.code: fragment UrlPath     :  [a-zA-Z0-9\-_~=?&%+.:/#]*;
  fragment BasicURL    :  ('http'|'ftp') 's'? '://' BareHostname UrlPath ;
  fragment HTMLURL     :  '<a href="' BasicURL '">'~[<]+'</a>';
  URL         :        ( '<'? ('www.'BareHostname UrlPath|BasicURL) '>'? |HTMLURL | 'index.htm' UrlPath);
  
  GIBBERISH   : '@'(~[ ;])*;
  
  
negative.code: 
  // HexWord is 4 hex digits long
  fragment HexDigit: [a-fA-F0-9];
  fragment HexWord : HexDigit HexDigit HexDigit HexDigit ;
  UUID        :        // 550e8400-e29b-41d4-a716-446655440000
                       HexWord HexWord '-' HexWord '-' HexWord '-' HexWord '-' HexWord HexWord HexWord;
  
  