code: def parse_data_types_from_doc_ref(api, doc, namespace_context, ignore_missing_entries=False):
      
      output = []
      data_types, routes_by_ns = parse_data_types_and_routes_from_doc_ref(
          api, doc, namespace_context, ignore_missing_entries=ignore_missing_entries)
      for d in data_types:
          output.append(d)
      for ns_name, routes in routes_by_ns.items():
          try:
              ns = api.namespaces[ns_name]
              for r in routes:
                  for d in ns.get_route_io_data_types_for_route(r):
                      output.append(d)
          except KeyError:
              if not ignore_missing_entries:
                  raise
      return output
docs: Given a documentation string, parse it and return all references to other
      data types. If there are references to routes, include also the data types of
      those routes.
  
      Args:
      - api: The API containing this doc ref.
      - doc: The documentation string to parse.
      - namespace_context: The namespace name relative to this documentation.
      - ignore_missing_entries: If set, this will skip references to nonexistent data types instead
                                of raising an exception.
  
      Returns:
      - a list of referenced data types