anchor.diff:      list_to_atom(P ++ ":" ++ N).
   
   %%----------------------------------------------------------------------
  -%% Function  : find_and_remove_attribute(Key, Data, Default) -> Result
  -%% Parameters: 
  -%% Result    : 
  -%% Description: 
  +%% Function  : convert_to_expanded_name/2
  +%%----------------------------------------------------------------------
  +convert_to_expanded_name([], LocalName) ->
  +    list_to_atom(LocalName);
  +convert_to_expanded_name(Uri, LocalName) ->
  +    {list_to_atom(Uri), list_to_atom(LocalName)}.
  +
  +%%----------------------------------------------------------------------
  +%% Function  : find_and_remove_attribute/3
   %%----------------------------------------------------------------------
   find_and_remove_attribute(Key, Data, Default) ->
       case lists:keysearch(Key, 1, Data) of
  
positive.code: %%----------------------------------------------------------------------
  %% Error handling
  %%----------------------------------------------------------------------
  -define(error(Reason), 
  	throw({xmerl_sax_old_dom_error, Reason})).
  
  %%======================================================================
  
negative.code: 	    State#xmerl_sax_old_dom_state{dom=[Decl, Current#xmlElement{
  						 content=lists:reverse(C)
  						}]};
  	_ ->
              %% endDocument is also sent by the parser when a fault occur to tell
              %% the event receiver that no more input will be sent
  	    State
      end;
  
  %%----------------------------------------------------------------------
  %% Element
  build_dom({startElement, Uri, LocalName, QName, Attributes},
  	  #xmerl_sax_old_dom_state{tags=T, cno=CN, namespaces=NS0, dom=D} = State) ->
  
      {Num, NewCN} =
  	case CN of
  	    [] ->
  