anchor.diff:  			disk_log:close(Log),
   			{error, Reason}
   	end;
  -ipdr_xml(Log, IoDevice, Cont, [#ipdrDocEnd{}]) ->
  +ipdr_xml(Log, IoDevice, {Cont, [#ipdrDocEnd{}]}) ->
   	Trailer = <<>>,
   	case file:write(IoDevice, Trailer) of
   		ok ->
  -			ipdr_file3(Log, IoDevice, xml, Cont);
  +			ipdr_file3(Log, IoDevice, xml, {Cont, []});
   		{error, Reason} ->
   			error_logger:error_report([file:format_error(Reason),
   					{error, Reason}]),
   			file:close(IoDevice),
   			disk_log:close(Log),
   			{error, Reason}
  -	end.
  -
  -%% @hidden
  -ipdr_xdr(Log, IoDevice, Cont, [#ipdrDoc{} = I | T]) ->
  +	end;
  +ipdr_xml(Log, IoDevice, {Cont, []}) ->
  +	ipdr_file3(Log, IoDevice, xml, {Cont, []}).
  +
  +%% @hidden
  +ipdr_xdr(Log, IoDevice, {Cont, [#ipdrDoc{} = I | T]}) ->
   	Header = [],
   	case file:write_file(IoDevice, Header) of
   		ok ->
  -			ipdr_xdr(Log, IoDevice, Cont, T);
  +			ipdr_xdr(Log, IoDevice, {Cont, T});
   		{error, Reason} ->
   			error_logger:error_report([file:format_error(Reason),
   					{error, Reason}]),
  
positive.code: 	end.
  
  %% @hidden
  ipdr_xml(Log, IoDevice, Cont, [#ipdrDoc{} = I | T]) ->
  	Header = [],
  	case file:write_file(IoDevice, Header) of
  		ok ->
  			ipdr_xml(Log, IoDevice, Cont, T);
  		{error, Reason} ->
  			error_logger:error_report([file:format_error(Reason),
  					{error, Reason}]),
  
negative.code: 			disk_log:close(Log),
  			{error, Reason}
  	end;
  ipdr_xdr(Log, IoDevice, {Cont, [#ipdr{} = I | T]}) ->
  	IPDR = <<>>,
  	case file:write_file(IoDevice, IPDR) of
  		ok ->
  			ipdr_xdr(Log, IoDevice, {Cont, T});
  		{error, Reason} ->
  			error_logger:error_report([file:format_error(Reason),
  					{error, Reason}]),
  