docs: def emit_dcp(self, event, **context):
          """Emit a event(with dcp) and gets the dynamic join point data(html code).
  
          :param event: str,unicode: A unique identifier name for dcp.
  
          :param context: dict: Keyword parameter, additional data passed to the template
  
          :returns: html code with :class:`~jinja2.Markup`.
  
          .. versionadded:: 2.1.0
          """
          if event and isinstance(event, string_types) and event in self._dcp_funcs:
              results = []
              for f in self._dcp_funcs[event]:
                  rv = f(**context)
                  if rv is not None:
                      results.append(rv)
              del self._dcp_funcs[event]
              return jinja2.Markup(TemplateEventResult(results))
          else:
              return jinja2.Markup()