anchor.diff:  	    scan_document(Str2, S#xmerl_scanner{encoding="iso-10646-utf-1"});
   	{undefined,undefined,Str2} -> %% no auto detection
   	    scan_document(Str2, S);
  -	{external,ExtCharset,Str2} -> 
  +	{external,ExtCharset,Str2} ->
   	    %% no auto detection, ExtCharset is an explicitly provided
   	    %% 7 bit,8 bit or utf-8 encoding
   	    scan_document(Str2, S#xmerl_scanner{encoding=atom_to_list(ExtCharset)})
  
positive.code: validation_value(F) ->
      F.
  
  %% Used for compacting (some) indentations. 
  %% See also fast_accumulate_whitespace().
  common_data() ->
      {comdata(lists:duplicate(60, $\s), []),
  
negative.code:     end.
  
  
  %% Optimization:
  %% - avoid building list of spaces or tabs;
  %% - avoid reverse;
  %% - compact two common indentation patterns.
  %% Note: only to be called when a \n was found.
  fast_accumulate_whitespace(" " ++ T, S, _) ->
  