anchor.diff:                       paths := Paths1,
                        nsps := Scp1,
                        counter := Counter1}, 
  -              ElementLocalName);
  +              ElementName);
   att_events([],State,_) ->
      State.
   
  
positive.code:           paths := Paths1,
            counter := Counter1};
  
  event({attributeDecl, ElementNameS, AttributeNameS, Type, _Mode, _Value}, _, 
        #{att_dec := AttDec} = State) ->
     Key = {?u2b(ElementNameS), ?u2b(AttributeNameS)},
     AttDec1 = case Type of
                  "ID" ->
                     AttDec#{Key => ?att_id};
  
negative.code:                    AttDec#{Key => ?att_str}
               end,
     State#{att_dec := AttDec1};
  % non-tuple: is string from xmerl before event change to qualified name
  event({attributeDecl, ElementName, AttributeName, Type, Mode, Value}, L, State) ->
     ElementName1 = 
        case string:split(ElementName, ":") of
           [P, L] -> {P, L};
           [L] -> {[], L}
        end,
     AttributeName1 = 
        case string:split(AttributeName, ":") of
           [AP, AL] -> {AP, AL};
           [AL] -> {[], AL}
        end,
     event({attributeDecl, ElementName1, AttributeName1, Type, Mode, Value}, L, State);
  
  % base uri sent from constructors and updates
  event({baseUri, _},_,State) -> State;
  