anchor.diff:    ;
   
   fragment IRIREF_INNER_CHAR
  -  :  (PN_CHARS | '.' | ':' | '/' | '\\' | '#' | '@' | '%' | '&' | '=' | '?' | ';' | UCHAR)
  +  :  (PN_CHARS | '.' | ':' | '/' | '\\' | '#' | '@' | '%' | '&' | ';' | UCHAR)
     ;
   
   fragment IRIREF_INNER_CHAR_EXT
  
positive.code:   ;
  
  PN_CHARS
    : PN_CHARS_U | '-' | [0-9] | '\u00B7' | [\u0300-\u036F] | [\u203F-\u2040]
    ;
  
  // extends PN_LOCAL to allow curly brackets, and force at least one (opening) curly bracket
  
negative.code:   ;
  
  fragment RIGHT_PART_CHAR
    : (PN_CHARS | '.' | ':' | '/' | '#' | ';' | PLX)
    ;
  
  fragment RIGHT_PART_CHAR_EXT
  