private void Parse(string workflowSchemeUri, XmlReaderSettings settings) { CodeContract.Requires(!string.IsNullOrEmpty(workflowSchemeUri)); _workflowSchemaUri = workflowSchemeUri; _xmlReaderSettings = settings; var fileInfo = new FileInfo(_workflowSchemaUri); FileName = fileInfo.Name; if (!fileInfo.Exists) throw new WorkflowSchemeParserException(string.Format("Файл {0} не найден", FileName)); Scheme = new WorkflowScheme(); ReadDone = false; using (_reader = XmlReaderEx.Create(_workflowSchemaUri, settings)) { ReadScheme(); ReadDone = true; if (!MainParser) return; EvaluateNextActivities(); ValidateNextActivities(); EvaluateEventHandlerActivities(); EvaluateReferencedActivities(); BindParameters(); EvaluateParameterEvaluators(); EvaluateEventHolders(); CheckParametersNames(); ValidateScheme(); AddExitActivity(); } }
public RegionDiver(XmlReaderEx reader) { _reader = reader; }