public function createWorkflowDefinition(WorkflowDefinitionContainer $parent, $name, $naming_behavior, $xml) { if (trim($name) == "") { throw new e\CreationErrorException(S_SPAN . c\M::EMPTY_BLOCK_NAME . E_SPAN); } if (trim($xml) == "") { throw new e\CreationErrorException(S_SPAN . c\M::EMPTY_XML . E_SPAN); } if (!c\NamingBehaviorValues::isNamingBehaviorValue($naming_behavior)) { throw new e\UnacceptableValueException(S_SPAN . "The naming behavior {$naming_behavior} is unacceptable. " . E_SPAN); } $asset = AssetTemplate::getWorkflowDefinition(); $asset->workflowDefinition->name = $name; $asset->workflowDefinition->parentContainerPath = $parent->getPath(); $asset->workflowDefinition->siteName = $parent->getSiteName(); $asset->workflowDefinition->xml = $xml; $asset->workflowDefinition->namingBehavior = $naming_behavior; $asset->workflowDefinition->copy = true; return $this->createAsset($asset, WorkflowDefinition::TYPE, $this->getPath($parent, $name), $parent->getSiteName()); }