anchor.diff:      end;
   get_subtag1([], _) -> false.
   
  --spec(get_subtags/2 ::
  -(
  -  Xmlel :: xmlel(),
  -  Name  :: binary())
  -    -> [xmlel()]
  -).
  +-spec get_subtags(Xmlel :: xmlel(), Name :: binary()) -> [xmlel()].
   
   get_subtags(#xmlel{children = Els}, Name) ->
       get_subtags1(Els, Name, []).
  
positive.code:         children = remove_subtags1(Els, [], Name, Attr)}.
  
  %%
  -spec(remove_subtags1/4 ::
  (
    Els    :: [xmlel() | cdata()],
    NewEls :: [xmlel()],
    Name   :: binary(),
    Attr   :: attr())
      -> NewEls :: [xmlel()]
  ).
  
  remove_subtags1([], NewEls, _Name, _Attr) ->
      lists:reverse(NewEls);
  
negative.code:     end.
  
  %%
  -spec get_tag_attr(AttrName :: binary(), Xmlel :: xmlel()) ->
  			  {value, binary()} | false.
  
  get_tag_attr(AttrName, #xmlel{attrs = Attrs}) ->
      get_attr(AttrName, Attrs).
  
  %%
  -spec get_tag_attr_s(AttrName :: binary(), Xmlel :: xmlel()) -> binary().
  
  get_tag_attr_s(AttrName, #xmlel{attrs = Attrs}) ->
      get_attr_s(AttrName, Attrs).
  
  %%
  -spec get_subtag(Xmlel :: xmlel(), Name :: binary()) -> xmlel() | false.
  
  get_subtag(#xmlel{children = Els}, Name) ->
      get_subtag1(Els, Name).
  
  %%
  -spec get_subtag1(Els :: [xmlel() | cdata()], Name :: binary()) ->
  			 xmlel() | false.
  
  get_subtag1( [El | Els], Name) ->
      case El of
  