anchor.diff:      Elements = [publish_element(NodeName, undefined)],
       pubsub_iq(<<"set">>, User, Id, NodeAddr, Elements).
   
  +-spec publish(escalus_utils:jid_spec(), exml:element(), binary(), pubsub_node_id()) ->
  +                     exml:element().
  +publish(User, ContentElement, Id, {NodeAddr, NodeName}) ->
  +    ItemElement = item_element(ContentElement),
  +    Elements = [publish_element(NodeName, ItemElement)],
  +    pubsub_iq(<<"set">>, User, Id, NodeAddr, Elements).
  +
   -spec publish(escalus_utils:jid_spec(), binary(), exml:element(), binary(), pubsub_node_id()) ->
                        exml:element().
   publish(User, ItemId, ContentElement, Id, {NodeAddr, NodeName}) ->
  
positive.code:     #xmlel{name = <<"items">>,
             attrs = [{<<"node">>, NodeName}]}.
  
  item_element(ItemId, ContentElement) ->
      #xmlel{name = <<"item">>,
             attrs = [{<<"id">>, ItemId}],
  
negative.code:          get_node_subscriptions/3,
           set_subscriptions/4,
  
           publish/3, publish/4, publish/5,
           retract/4,
           get_items/4,
           get_all_items/3,
           get_item/4,
           purge_all_items/3
  