anchor.diff:  %% source directory because files are addressed relative to it
   -spec read_xml (list(), list()) -> tuple().
   read_xml (_Conf, XmlFile) ->
  -    log("Reading XML for ~p\n", [XmlFile]),
  +    ?log("Reading XML for ~p", [XmlFile]),
       DocgenDir = code:priv_dir(erl_docgen),
       Opts = [ {fetch_path, [ filename:join(DocgenDir, "dtd")
                             , filename:join(DocgenDir, "dtd_html_entities") ]}
  
positive.code:         {Xml, _Rest} ->
              xmerl_lib:simplify_element(Xml);
          Error ->
              log("Error in read_xml File ~p Erro ~p\n", [XmlFile, Error]),
              throw({error_in_read_xml, XmlFile, Error})
      end.
  
  %% lazy shorthand
  fmt (Format, Args) ->
      lists:flatten(io_lib:format(Format, Args)).
  
  log (Str) ->       ?LOG(Str).
  log (Str, Args) -> ?LOG(Str, Args).
  
  %% @doc shorthand for lists:keyfind
  -spec kf (term(), list()) -> term().
  
negative.code:     Diff = timer:now_diff(erlang:now(), Start),
      Mins = trunc(Diff * 1.667e-8),
      Secs = trunc(Diff * 1.000e-6 - Mins * 60),
      ?log("Woot, finished in ~p Minutes ~p Seconds", [Mins, Secs]).
  
  
  %% @doc Build everything
  