docs: def node_to_xml(node, output=sys.stdout, nsmap=None):
      """
      Convert a Node object into a pretty .xml file without keeping
      everything in memory. If you just want the string representation
      use tostring(node).
  
      :param node: a Node-compatible object (ElementTree nodes are fine)
      :param nsmap: if given, shorten the tags with aliases
  
      """
      if nsmap:
          for ns, prefix in nsmap.items():
              if prefix:
                  node['xmlns:' + prefix[:-1]] = ns
              else:
                  node['xmlns'] = ns
      with StreamingXMLWriter(output, nsmap=nsmap) as w:
          w.serialize(node)