anchor.diff:      -> xmlel() | false
   ).
   
  -get_subtag1([El | Els], Name) ->
  +get_subtag1( [El | Els], Name) ->
       case El of
         #xmlel{name = Name} -> El;
         _ -> get_subtag1(Els, Name)
       end;
   get_subtag1([], _) -> false.
  +
  +-spec(get_subtags/2 ::
  +(
  +  Xmlel :: xmlel(),
  +  Name  :: binary())
  +    -> [xmlel()]
  +).
  +
  +get_subtags(#xmlel{children = Els}, Name) ->
  +    get_subtags1(Els, Name, []).
  +
  +get_subtags1([], _Name, Acc) ->
  +    lists:reverse(Acc);
  +get_subtags1([El | Els], Name, Acc) ->
  +    case El of
  +        #xmlel{name = Name} -> get_subtags1(Els, Name, [El|Acc]);
  +        _ -> get_subtags1(Els, Name, Acc)
  +    end.
   
   %%
   -spec(get_subtag_with_xmlns/3 ::
  
positive.code: 	 crypt/1, make_text_node/1, remove_cdata/1,
  	 remove_subtags/3, get_cdata/1, get_tag_cdata/1,
  	 get_attr/2, get_attr_s/2, get_tag_attr/2,
  	 get_tag_attr_s/2, get_subtag/2, get_subtag_cdata/2,
           get_subtag_with_xmlns/3,
  	 append_subtags/2, get_path_s/2,
  	 replace_tag_attr/3, to_xmlel/1]).
  
  
negative.code: get_subtag_with_xmlns1([], _, _) ->
      false.
  
  -spec(get_subtags_with_xmlns/3 ::
  (
    Xmlel :: xmlel(),
    Name  :: binary(),
    XMLNS :: binary())
      -> [xmlel()]
  ).
  
  get_subtags_with_xmlns(#xmlel{children = Els}, Name, XMLNS) ->
      get_subtags_with_xmlns1(Els, Name, XMLNS, []).
  
  get_subtags_with_xmlns1([], _Name, _XMLNS, Acc) ->
      lists:reverse(Acc);
  get_subtags_with_xmlns1([El | Els], Name, XMLNS, Acc) ->
      case El of
  	#xmlel{name = Name, attrs = Attrs} ->
              case get_attr(<<"xmlns">>, Attrs) of
                  {value, XMLNS} ->
                      get_subtags_with_xmlns1(Els, Name, XMLNS, [El|Acc]);
                  _ ->
                      get_subtags_with_xmlns1(Els, Name, XMLNS, Acc)
              end;
  	_ ->
  	    get_subtags_with_xmlns1(Els, Name, XMLNS, Acc)
      end.
  
  %%
  -spec(get_subtag_cdata/2 ::
  (
  