diff --git a/src/edown_doclet.erl b/src/edown_doclet.erl
index cc3bc92b387fa06b6acbf7ead3f9ba7a8e7ab54b..cc70ed4f6a3dd0472e6aec1c292c3c9c8113dbd5 100644
--- a/src/edown_doclet.erl
+++ b/src/edown_doclet.erl
@@ -137,8 +137,7 @@ gen(Sources, App, Packages, Modules, FileMap, Ctxt) ->
 	Overview
 	 ++ lists:concat([packages_frame(Packages) || Packages =/= []])
 	 ++ lists:concat([modules_frame(Modules1) || Modules1 =/= []]),
-
-    Text = xmerl:export_simple_content(Data, edown_xmerl),
+    Text = edown_lib:export(Data, Options),
     write_file(Text, Dir, right_suffix(?INDEX_FILE, Options), '', ''),
     edoc_lib:write_info_file(App, Packages, Modules1, Dir),
     copy_stylesheet(Dir, Options),
@@ -175,8 +174,7 @@ make_top_level_README(Data, Options) ->
 	{Path, BaseHRef, Branch} ->
             Dir = filename:dirname(Path),
             Filename = filename:basename(Path),
-	    make_top_level_README(Data, Dir, Filename, BaseHRef, Branch,
-                                  target(Options))
+	    make_top_level_README(Data, Dir, Filename, BaseHRef, Branch, Options)
     end.
 
 target(Options) ->
@@ -186,7 +184,8 @@ target(Options) ->
 %%     Branch = get_git_branch(),
 %%     make_top_level_README(Data, Dir, F, BaseHRef, Branch).
 
-make_top_level_README(Data, Dir, F, BaseHRef, Branch, Target) ->
+make_top_level_README(Data, Dir, F, BaseHRef, Branch, Options) ->
+    Target = target(Options),
     Exp = [xmerl_lib:expand_element(D) || D <- Data],
     New = [xmerl_lib:mapxml(
 	     fun(#xmlElement{name = a,
@@ -200,7 +199,7 @@ make_top_level_README(Data, Dir, F, BaseHRef, Branch, Target) ->
 		(Other) ->
 		     Other
 	     end, Exp1) || Exp1 <- Exp],
-    Text = xmerl:export_simple_content(New, edown_xmerl),
+    Text = edown_lib:export(New, Options),
     write_file(Text, Dir, F).
 
 redirect_href(Attrs, Branch, BaseHRef, Target) ->
diff --git a/src/edown_layout.erl b/src/edown_layout.erl
index 55e289e4f079cb2ae541ad2d12db5d71b373556f..1a850bd1e75319af4dd588a09a02838bae6f2077 100644
--- a/src/edown_layout.erl
+++ b/src/edown_layout.erl
@@ -90,9 +90,7 @@
 
 module(Element, Options) ->
     XML = layout_module(Element, init_opts(Element, Options)),
-    Export = proplists:get_value(xml_export, Options,
-				 ?DEFAULT_XML_EXPORT),
-    xmerl:export_simple(XML, Export, []).
+    edown_lib:export(XML, Options).
 
 % Put layout options in a data structure for easier access.
 
@@ -1060,8 +1058,7 @@ type(E) ->
 
 type(E, Ds) ->
     Opts = [],
-    xmerl:export_simple_content(t_utype_elem(E) ++ local_defs(Ds, Opts),
-                                ?HTML_EXPORT).
+    edown_lib:export(t_utype_elem(E) ++ local_defs(Ds, Opts), Opts).
 
 package(E=#xmlElement{name = package, content = Es}, Options) ->
     Opts = init_opts(E, Options),
@@ -1083,7 +1080,7 @@ package(E=#xmlElement{name = package, content = Es}, Options) ->
 	    ++ FullDesc),
     %% XML = xhtml(Title, stylesheet(Opts), Body),
     XML = markdown(Title, stylesheet(Opts), Body),
-    xmerl:export_simple_content(XML, ?HTML_EXPORT).
+    edown_lib:export(XML, Options).
 
 overview(E=#xmlElement{name = overview, content = Es}, Options) ->
     Opts = init_opts(E, Options),
diff --git a/src/edown_lib.erl b/src/edown_lib.erl
index 7f82996a0aa40a5080eefd22979d062592c9065d..2fd66f74354cb75c76401f7c9815681245dbe767 100644
--- a/src/edown_lib.erl
+++ b/src/edown_lib.erl
@@ -23,14 +23,18 @@
 
 -module(edown_lib).
 
--export([export/1, redirect_uri/1, get_attrval/2]).
+-export([export/2, redirect_uri/1, get_attrval/2]).
 
 -include_lib("xmerl/include/xmerl.hrl").
 
+-define(HTML_EXPORT, edown_xmerl).
+-define(DEFAULT_XML_EXPORT, ?HTML_EXPORT).
 
-export(Data) ->
-    xmerl:export_simple_content(Data, edown_xmerl).
+export(Data, Options) ->
+    xmerl:export_simple(Data, export_module(Options)).
 
+export_module(Options) ->
+    proplists:get_value(xml_export, Options, ?DEFAULT_XML_EXPORT).
 
 redirect_uri(#xmlElement{} = E) ->
     redirect_uri(get_attrval(href, E), get_attrval(name, E), E);
diff --git a/src/edown_xmerl.erl b/src/edown_xmerl.erl
index aa01c23820b88f08b88fe3cf39d12f38863c592f..abd872956104bab4bd5c13cc663fc0b7c6984f61 100644
--- a/src/edown_xmerl.erl
+++ b/src/edown_xmerl.erl
@@ -267,7 +267,6 @@ no_nl(S) ->
 
 replace_edown_p(Data) ->
     Data1 = binary_to_list(iolist_to_binary(Data)),
-    io:fwrite("Data1 = ~p~n", [Data1]),
     replace_edown_p(Data1, []).
 
 replace_edown_p("<edown_p>" ++ Data, Acc) ->