anchor.diff:            C2 ++ [erl_syntax:clause(
                      [erl_syntax:underscore()], none, [abstract(false)])])])].
   
  -make_top_encoders(TaggedSpecs) ->
  +make_top_encoders(TaggedSpecs, Opts) ->
  +    IgnoreXMLNS = proplists:get_bool(ignore_xmlns, Opts),
       RecNames = lists:foldl(
                    fun({Tag, #elem{result = Result}}, Acc) ->
                            try
  
positive.code:     Types = get_types(TaggedElems),
      AST = lists:flatmap(
              fun({Tag, Elem}) ->
                      Elem1 = prepare_elem(Elem, KnownFuns, TaggedElems),
                      elem_to_AST(Elem1, Tag, TaggedElems, Types, ModName)
              end, TaggedElems),
      Module = erl_syntax:attribute(
                 erl_syntax:atom("module"),
                 [erl_syntax:atom(list_to_atom(ModName))]),
      Decoders = make_top_decoders(TaggedElems, ModName),
      Encoders = make_top_encoders(TaggedElems),
      Printer = make_printer(TaggedElems),
      AuxFuns = make_aux_funs(),
      NewAST = Decoders ++ Encoders ++ AuxFuns ++
  
negative.code:                    erl_syntax:variable("_els"))|
                   CDataVars ++ ElemVars ++ SubElVars ++ XmlElVars],
                  none,
                  case proplists:get_bool(ignore_xmlns, Opts) of
                      true ->
                          [make_function_call(
                             FunName,
                             [_ElsVar|CDataVars ++ NewElemVars
                              ++ SubElVars ++ XmlElVars])];
                      false ->
                          [XMLNSMatch,
                           erl_syntax:if_expr(
                             [erl_syntax:clause(
                                [], IfGuard,
                                [make_function_call(
                                   FunName,
                                   [_ElsVar|CDataVars ++ NewElemVars
                                    ++ SubElVars ++ XmlElVars])]),
                              erl_syntax:clause(
                                [], none,
                                [make_function_call(
                                   FunName,
                                   [_ElsVar|CDataVars ++ ElemVars
                                    ++ SubElVars ++ XmlElVars])])])]
                  end)
        end, Refs).
  
  make_els_dec_fun(_FunName, _CData, false, [], [], [], _Tag,
                   _TopXMLNS, _AllElems, _Result, _Types, _ModName, _Opts) ->
      [];
  make_els_dec_fun(FunName, CData, HaveCData, SubElVars, XmlElVars, Refs, Tag,
                   TopXMLNS, AllElems, Result, Types, ModName, Opts) ->
      CDataVars = if HaveCData ->
                          [label_to_var(CData#cdata.label)];
                     true ->
  