anchor.diff:  event({endPrefixMapping, _}, _, State) ->
      State;
   
  -event({startElement, UriS, LocalNameS, {PrefixS,_}, Attributes}, _, 
  +event({startElement, UriS, LocalNameS, {PrefixS,_} = ElementName, Attributes}, _, 
         #{doc_id := DocId,
           db := DB,
           pos := Pos,
  
positive.code:                                             curr_path := CPath1,
                                              names := NameMap1,
                                              nsps := Scp1,
                                              pos := Pos + 1}, LocalName),
     Counter2 = post_node_indexes(Writer, DocId, NodeId, NodeBin, PathId, Counter1),
     State1#{parent := NodeId,
             curr_path := CPath1,
  
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;
  