code: private void writeManifest( File manifestFile, Document doc ) throws IOException, TransformerException
      {
          TransformerFactory xfactory = TransformerFactory.newInstance();
          Transformer xformer = xfactory.newTransformer();
          xformer.setOutputProperty( OutputKeys.OMIT_XML_DECLARATION, "yes" );
          Source source = new DOMSource( doc );
  
          OutputStreamWriter writer = null;
          try
          {
              manifestFile.getParentFile().mkdirs();
  
              String encoding = doc.getXmlEncoding() != null ? doc.getXmlEncoding() : "UTF-8";
              writer = new OutputStreamWriter( new FileOutputStream( manifestFile, false ), encoding );
              if ( doc.getXmlEncoding() != null && doc.getXmlVersion() != null )
              {
                  String xmldecl = String
                      .format( "<?xml version=\"%s\" encoding=\"%s\"?>%n", doc.getXmlVersion(), doc.getXmlEncoding() );
                  writer.write( xmldecl );                
              }
              Result result = new StreamResult( writer );
  
              xformer.transform( source, result );
          }
          finally
          {
              IOUtils.closeQuietly( writer );
          }
      }
docs: Write manifest using JAXP transformer