anchor.diff:    {$link_category_val = $TOKEN.text;}
   ;
   
  -link_attributes_attr:
  -  (CAT_ATTR_SEP attribute_attr)+
  -;
  -attribute_attr:
  -  attribute_attr_name VAL_ASSIGN attribute_attr_val
  -;
  -attribute_attr_name returns[String attribute_name]
  +link_attributes_attr returns [String link_attributes_attr]
  +  : CAT_ATTR_SEP single_attr = attribute_attr
  +    {$link_attributes_attr = $single_attr.attribute_attr;}
  +
  +  |
  +    CAT_ATTR_SEP multi_attr1 = attribute_attr
  +    {$link_attributes_attr = $multi_attr1.attribute_attr;}
  +    (
  +      CAT_ATTR_SEP multi_attr2 = attribute_attr
  +      {$link_attributes_attr += ", " + $multi_attr2.attribute_attr;}
  +    )+
  +;
  +attribute_attr returns [String attribute_attr]
  +  : attribute_attr_name VAL_ASSIGN attribute_attr_val
  +    {$attribute_attr = $attribute_attr_name.attribute_name + ":" + $attribute_attr_val.attribute_attr_val;}
  +;
  +attribute_attr_name returns [String attribute_name]
     : ATTRIB_NAME
  -  {$attribute_name = $ATTRIB_NAME.text;}
  -;
  -attribute_attr_val:
  -  (QUOTE attribute_attr_string_val QUOTE) | attribute_attr_int_val
  +    {$attribute_name = "\""+$ATTRIB_NAME.text+"\"";}
  +;
  +attribute_attr_val returns [String attribute_attr_val]
  +  : (
  +      QUOTE attribute_attr_string_val QUOTE
  +      {$attribute_attr_val = "\""+$attribute_attr_string_val.attr_str+"\"";}
  +    )
  +  | attribute_attr_int_val
  +    {$attribute_attr_val = $attribute_attr_int_val.attr_int;}
   ;
   attribute_attr_string_val returns [String attr_str]
     : TOKEN
  
positive.code:   X-OCCI-Attribute: occi.compute.architechture="x86_64"
    X-OCCI-Attribute: occi.compute.architechture="x86_64", occi.compute.cores=2
  */
  //TODO output attribute header as JSON
  attribute_header:
    ATTR_HEADER attribute_attrs
  ;
  attribute_attrs:
    attribute_attr (COMMA attribute_attr)*
  ;
  
  // ----------------------------------------
  
negative.code: ;
  attributes_names returns[String attributes]
    : single_attr = attribute_attr_name
      {$attributes = $single_attr.attribute_name;}
  
    | {$attributes="";}
      multi_attr1 = attribute_attr_name
      {$attributes = $multi_attr1.attribute_name;}
  
      ( multi_attr2 = attribute_attr_name
        {$attributes += ", " + $multi_attr2.attribute_name;}
      )+
  ;
  action_attr returns [String actions]
  