docs: def write_xml(xml_str, output_loc=None, filename=None):
      """Outputs the XML content (string) into a file.
  
      If `output_loc` is supplied and it's a file (not directory), the output
      will be saved there and the `filename` is ignored.
  
      Args:
          xml_str: string with XML document
          output_loc: file or directory for saving the file
          filename: file name that will be used if `output_loc` is directory
              If it is needed and is not supplied, it will be generated
      """
      if not xml_str:
          raise Dump2PolarionException("No data to write.")
      filename_fin = _get_filename(output_loc=output_loc, filename=filename)
  
      with io.open(filename_fin, "w", encoding="utf-8") as xml_file:
          xml_file.write(get_unicode_str(xml_str))
      logger.info("Data written to '%s'", filename_fin)