code: def export_subprocess_info(bpmn_diagram, subprocess_params, output_element):
          
          output_element.set(consts.Consts.triggered_by_event, subprocess_params[consts.Consts.triggered_by_event])
          if consts.Consts.default in subprocess_params and subprocess_params[consts.Consts.default] is not None:
              output_element.set(consts.Consts.default, subprocess_params[consts.Consts.default])
  
          # for each node in graph add correct type of element, its attributes and BPMNShape element
          subprocess_id = subprocess_params[consts.Consts.id]
          nodes = bpmn_diagram.get_nodes_list_by_process_id(subprocess_id)
          for node in nodes:
              node_id = node[0]
              params = node[1]
              BpmnDiagramGraphExport.export_node_data(bpmn_diagram, node_id, params, output_element)
  
          # for each edge in graph add sequence flow element, its attributes and BPMNEdge element
          flows = bpmn_diagram.get_flows_list_by_process_id(subprocess_id)
          for flow in flows:
              params = flow[2]
              BpmnDiagramGraphExport.export_flow_process_data(params, output_element)
docs: Adds Subprocess node attributes to exported XML element
  
          :param bpmn_diagram: BPMNDiagramGraph class instantion representing a BPMN process diagram,
          :param subprocess_params: dictionary with given subprocess parameters,
          :param output_element: object representing BPMN XML 'subprocess' element.