def consider_tag

      tag = attribute(:tag)

      return unless tag && tag.strip.size > 0

      h.tagname = tag
      h.full_tagname = applied_workitem.tags.join('/')

      return if h.trigger
        #
        # do not consider tags when the tree is applied for an
        # on_x trigger

      h.full_tagname = (applied_workitem.tags + [ tag ]).join('/')

      set_variable(h.tagname, h.fei)
      set_variable('/' + h.full_tagname, h.fei)

      applied_workitem.send(:add_tag, h.tagname)

      @context.storage.put_msg(
        'entered_tag',
        'tag' => h.tagname,
        'full_tag' => h.full_tagname,
        'fei' => h.fei,
        'workitem' => h.applied_workitem)
    end
def consider_tag

      tag = attribute(:tag)

      return unless tag && tag.strip.size > 0

      h.tagname = tag
      h.full_tagname = applied_workitem.tags.join('/')

      return if h.trigger
        #
        # do not consider tags when the tree is applied for an
        # on_x trigger

      h.full_tagname = (applied_workitem.tags + [ tag ]).join('/')

      set_variable(h.tagname, h.fei)
      set_variable('/' + h.full_tagname, h.fei)

      applied_workitem.send(:add_tag, h.tagname)

      @context.storage.put_msg(
        'entered_tag',
        'tag' => h.tagname,
        'full_tag' => h.full_tagname,
        'fei' => h.fei,
        'workitem' => h.applied_workitem)
    end
Called to check if the expression has a :tag attribute. If yes,
 will register the tag in a variable (and in the workitem).