anchor.diff:        attributes="occi.storage.size occi.storage.state";
         actions="http://schemas.ogf.org/occi/infrastructure/storage/action#resize ...";
   */
  -multiple_category_header returns [String category]
  -  : CATEGORY_HEADER multi_cat1 = category_header_val
  -    {$category = "["+$multi_cat1.category;}
  +category_header returns [String category]
  +  : CATEGORY_HEADER category_header_val
  +    {$category = "\"category\":{" + $category_header_val.category + "}"; }
  +
  +  | CATEGORY_HEADER multi_cat1 = category_header_val
  +    {$category = "\"category\" : [{"+$multi_cat1.category + "}";}
       (
         COMMA multi_cat2 = category_header_val
  -      {$category += ", "+$multi_cat2.category;}
  +      {$category += ", {"+$multi_cat2.category + "}";}
       )+
       {$category += "]";}
  -;
  -category_header returns [String category]
  -  : CATEGORY_HEADER category_header_val
  -    {$category = "{\"category\":{" + $category_header_val.category + "}}"; }
   ;
   category_header_val returns [String category]
     : term_attr scheme_attr class_attr (title_attr | rel_attr | location_attr | cat_attributes_attr | action_attr)*
  
positive.code: occi_headers returns [String header]
    :
    (
  	  //Nice-to-have: merge these 2 rules
  	    multiple_category_header {$header = $multiple_category_header.category;}
  
  	  | category_header {$header = $category_header.category;}
  
  	  | link_header {$header = $link_header.link_header;}
  
  
negative.code: //        grammar so that it utilises more direct means of in-memory/domain specific model creation.
  
  //Idea: using a OVF library make the intermediatry output format OVF :-)
  
  //TODO: split into seperate grammar files (Category, Link, Attribute, Location)
  
  options {
    //Change me: if you want a different targetted language for the parser/lexer generation
  