//解析xml 生成ProcessDefinitionEntity protected internal override IList <ProcessDefinitionEntity> TransformDefinitions(DeploymentEntity deployment, ResourceEntity resource, Core.Model.Properties properties) { byte[] bytes = resource.Bytes; System.IO.MemoryStream inputStream = new System.IO.MemoryStream(bytes); BpmnParse bpmnParse = bpmnParser.CreateBpmnParse().SourceInputStream(inputStream).Deployment(deployment).SetName(resource.Name); if (!deployment.IsValidatingSchema) { bpmnParse.SchemaResource = null; } //执行实际解析 bpmnParse.Execute(); //TODO 解析后续行为 if (!properties.Contains(JobDeclarationsProperty)) { properties.Set(JobDeclarationsProperty, new Dictionary <string, IList <IJobDeclaration> >()); } var oldProperties = properties.Get(JobDeclarationsProperty); foreach (var item in bpmnParse.GetJobDeclarations()) { oldProperties[item.Key] = item.Value; } //foreach (var item in oldProperties) //{ // bpmnParse.JobDeclarations[item.Key] = item.Value; //} //properties.Set<string, IList<IJobDeclaration>>(JobDeclarationsProperty, bpmnParse.JobDeclarations); return(bpmnParse.ProcessDefinitions); }