code: def build(capabilities, device_handler):
          "Given a list of capability URI's returns <hello> message XML string"
          if device_handler:
              # This is used as kwargs dictionary for lxml's Element() function.
              # Therefore the arg-name ("nsmap") is used as key here.
              xml_namespace_kwargs = { "nsmap" : device_handler.get_xml_base_namespace_dict() }
          else:
              xml_namespace_kwargs = {}
          hello = new_ele("hello", **xml_namespace_kwargs)
          caps = sub_ele(hello, "capabilities")
          def fun(uri): sub_ele(caps, "capability").text = uri
          #python3 changes
          if sys.version < '3':
              map(fun, capabilities)
          else:
              list(map(fun, capabilities))
          return to_xml(hellof build(capabilities, device_handler):
          "Given a list of capability URI's returns <hello> message XML string"
          if device_handler:
              # This is used as kwargs dictionary for lxml's Element() function.
              # Therefore the arg-name ("nsmap") is used as key here.
              xml_namespace_kwargs = { "nsmap" : device_handler.get_xml_base_namespace_dict() }
          else:
              xml_namespace_kwargs = {}
          hello = new_ele("hello", **xml_namespace_kwargs)
          caps = sub_ele(hello, "capabilities")
          def fun(uri): sub_ele(caps, "capability").text = uri
          #python3 changes
          if sys.version < '3':
              map(fun, capabilities)
          else:
              list(map(fun, capabilities))
          return to_xml(hello)
docs: Given a list of capability URI's returns <hello> message XML string