This includes:
- creation of the datatype object
- calling the setters for attributes
- adding the type to the target object if any
- adding a reference to the task (if id attribute is given)
public init ( $propType, $attrs ) |
/** * Handles start elements within the <project> tag by creating and * calling the required handlers for the detected element. * * @param string the tag that comes in * @param array attributes the tag carries * @throws ExpatParseException if a unxepected element occurs * @access public */ function startElement($name, $attrs) { $project = $this->configurator->project; $types = $project->getDataTypeDefinitions(); if ($name == "target") { $tf = new TargetHandler($this->parser, $this, $this->configurator); $tf->init($name, $attrs); } elseif (isset($types[$name])) { $tyf = new DataTypeHandler($this->parser, $this, $this->configurator); $tyf->init($name, $attrs); } else { $tf = new TaskHandler($this->parser, $this, $this->configurator); $tf->init($name, $attrs); } }
/** * Checks for nested tags within the current one. Creates and calls * handlers respectively. * * @param string the tag that comes in * @param array attributes the tag carries */ function startElement($name, $attrs) { // shorthands $project = $this->configurator->project; $types = $project->getDataTypeDefinitions(); if (isset($types[$name])) { $th = new DataTypeHandler($this->parser, $this, $this->configurator, $this->target); $th->init($name, $attrs); } else { $tmp = new TaskHandler($this->parser, $this, $this->configurator, $this->target, null, $this->target); $tmp->init($name, $attrs); } }