docs: def write(nodes, output=sys.stdout, fmt='%.7E', gml=True, xmlns=None):
      """
      Convert nodes into a NRML file. output must be a file
      object open in write mode. If you want to perform a
      consistency check, open it in read-write mode, then it will
      be read after creation and validated.
  
      :params nodes: an iterable over Node objects
      :params output: a file-like object in write or read-write mode
      :param fmt: format used for writing the floats (default '%.7E')
      :param gml: add the http://www.opengis.net/gml namespace
      :param xmlns: NRML namespace like http://openquake.org/xmlns/nrml/0.4
      """
      root = Node('nrml', nodes=nodes)
      namespaces = {xmlns or NRML05: ''}
      if gml:
          namespaces[GML_NAMESPACE] = 'gml:'
      with floatformat(fmt):
          node_to_xml(root, output, namespaces)
      if hasattr(output, 'mode') and '+' in output.mode:  # read-write mode
          output.seek(0)
          read(output)