docs: protected Element openExportFile(ExportMode exportMode) throws IOException, SAXException {
  
          // create the export writer
          m_exportWriter = new CmsExportHelper(
              getExportFileName(),
              m_parameters.isExportAsFiles(),
              m_parameters.isXmlValidation());
          // initialize the dom4j writer object as member variable
          setSaxWriter(m_exportWriter.getSaxWriter());
  
          // the node in the XML document where the file entries are appended to
          String exportNodeName = getExportNodeName();
          // the XML document to write the XMl to
          Document doc = DocumentHelper.createDocument();
          // add main export node to XML document
          Element exportNode = doc.addElement(exportNodeName);
          getSaxWriter().writeOpen(exportNode);
  
          // add the info element. it contains all infos for this export
          Element info = exportNode.addElement(CmsImportExportManager.N_INFO);
          if (!exportMode.equals(ExportMode.REDUCED)) {
              info.addElement(CmsImportExportManager.N_CREATOR).addText(
                  getCms().getRequestContext().getCurrentUser().getName());
              info.addElement(CmsImportExportManager.N_OC_VERSION).addText(OpenCms.getSystemInfo().getVersionNumber());
              info.addElement(CmsImportExportManager.N_DATE).addText(
                  CmsDateUtil.getHeaderDate(System.currentTimeMillis()));
          }
          info.addElement(CmsImportExportManager.N_INFO_PROJECT).addText(
              getCms().getRequestContext().getCurrentProject().getName());
          info.addElement(CmsImportExportManager.N_VERSION).addText(CmsImportExportManager.EXPORT_VERSION);
  
          // write the XML
          digestElement(exportNode, info);
  
          return exportNode;
      }