public void create(String xliffPath,String skeletonPath,LocaleId srcLoc,LocaleId trgLoc,String dataType,String original,String message){
  if (writer != null) {
    close();
  }
  this.skeletonPath=skeletonPath;
  this.original=original;
  this.srcLoc=srcLoc;
  this.trgLoc=trgLoc;
  this.dataType=dataType;
  if (outputStream == null) {
    writer=new XMLWriter(xliffPath);
  }
 else   if (outputStream != null) {
    writer=new XMLWriter(new OutputStreamWriter(outputStream,StandardCharsets.UTF_8));
  }
  writer.writeStartDocument();
  writer.writeStartElement("xliff");
  writer.writeAttributeString("version","1.2");
  writer.writeAttributeString("xmlns",Namespaces.NS_XLIFF12);
  writer.writeAttributeString("xmlns:okp",Namespaces.NS_XLIFFOKAPI);
  if (params.getIncludeIts()) {
    writer.writeAttributeString("xmlns:" + Namespaces.ITS_NS_PREFIX,Namespaces.ITS_NS_URI);
    writer.writeAttributeString("xmlns:" + Namespaces.ITSXLF_NS_PREFIX,Namespaces.ITSXLF_NS_URI);
    writer.writeAttributeString(Namespaces.ITS_NS_PREFIX + ":version","2.0");
  }
  writeAnnotatorsRefIfNeeded();
  if (!Util.isEmpty(message)) {
    writer.writeLineBreak();
    writer.writeComment(message,false);
  }
  writer.writeLineBreak();
  itsContForUnit=new ITSContent(xliffCont.getCharsetEncoder(),false,true);
  itsContForSrcCont=new ITSContent(xliffCont.getCharsetEncoder(),false,true);
  itsContForTrgCont=new ITSContent(xliffCont.getCharsetEncoder(),false,true);
  itsContForAltTrgCont=new ITSContent(xliffCont.getCharsetEncoder(),false,true);
  annotatorsRef=new Stack<String>();
  annotatorsRef.push(null);
  needAnnotatorsRef=false;
}

public void create ( String xliffPath , String skeletonPath , LocaleId srcLoc , LocaleId trgLoc , String dataType , String original , String message ) { if ( writer != null ) { close ( ) ; } this . skeletonPath = skeletonPath ; this . original = original ; this . srcLoc = srcLoc ; this . trgLoc = trgLoc ; this . dataType = dataType ; if ( outputStream == null ) { writer = new XMLWriter ( xliffPath ) ; } else if ( outputStream != null ) { writer = new XMLWriter ( new OutputStreamWriter ( outputStream , StandardCharsets . UTF_8 ) ) ; } writer . writeStartDocument ( ) ; writer . writeStartElement ( "xliff" ) ; writer . writeAttributeString ( "version" , "1.2" ) ; writer . writeAttributeString ( "xmlns" , Namespaces . NS_XLIFF12 ) ; writer . writeAttributeString ( "xmlns:okp" , Namespaces . NS_XLIFFOKAPI ) ; if ( params . getIncludeIts ( ) ) { writer . writeAttributeString ( "xmlns:" + Namespaces . ITS_NS_PREFIX , Namespaces . ITS_NS_URI ) ; writer . writeAttributeString ( "xmlns:" + Namespaces . ITSXLF_NS_PREFIX , Namespaces . ITSXLF_NS_URI ) ; writer . writeAttributeString ( Namespaces . ITS_NS_PREFIX + ":version" , "2.0" ) ; } writeAnnotatorsRefIfNeeded ( ) ; if ( ! Util . isEmpty ( message ) ) { writer . writeLineBreak ( ) ; writer . writeComment ( message , false ) ; } writer . writeLineBreak ( ) ; itsContForUnit = new ITSContent ( xliffCont . getCharsetEncoder ( ) , false , true ) ; itsContForSrcCont = new ITSContent ( xliffCont . getCharsetEncoder ( ) , false , true ) ; itsContForTrgCont = new ITSContent ( xliffCont . getCharsetEncoder ( ) , false , true ) ; itsContForAltTrgCont = new ITSContent ( xliffCont . getCharsetEncoder ( ) , false , true ) ; annotatorsRef = new Stack < String > ( ) ; annotatorsRef . push ( null ) ; needAnnotatorsRef = false ; }
creates a new xliff document .
