code: function(datastr){
  		var puzzle = this.puzzle, bd = puzzle.board, pzl = pzpr.parser.parseFile(datastr, puzzle.pid);
  		var filetype = this.currentType = pzl.type;
  
  		bd.initBoardSize(pzl.cols, pzl.rows);
  
  		this.filever = pzl.filever;
  		if(filetype!==pzl.FILE_PBOX_XML){
  			this.lineseek = 0;
  			this.dataarray = pzl.body.split("\n");
  		}
  		else{
  			this.xmldoc = pzl.body;
  		}
  
  		// メイン処理
  		switch(filetype){
  		case pzl.FILE_PZPR:
  			this.decodeData();
  			if((this.readLine()||'').match(/TrialData/)){ this.lineseek--; this.decodeTrial();}
  			break;
  
  		case pzl.FILE_PBOX:
  			this.kanpenOpen();
  			break;
  
  		case pzl.FILE_PBOX_XML:
  			this.kanpenOpenXML();
  			break;
  		}
  
  		puzzle.metadata.update(pzl.metadata);
  		if(pzl.history && (filetype===pzl.FILE_PZPR)){
  			puzzle.opemgr.decodeHistory(pzl.history);
  		}
  
  		bd.rebuildInfo();
  
  		this.dataarray = null;
  	}
docs: --------------------------------------------------------------------------- fio.filedecode()  ファイルデータ(文字列)からのデコード実行関数 ---------------------------------------------------------------------------