/** * Returns all (nested) parameters of the element as an associative array. * * @param array $default array to be used as default * @param boolean $literalize whether or not to literalize values like 'true'/'false' by default * * @return array of associative nested parameters (numerical keys where a 'name' attribute is missing) */ public function getParameters(array $default = array(), $literalize = true) { $offset = 0; if ($this->ownerDocument->isEnvironautDocument()) { $elements = $this->get('parameters'); foreach ($elements as $element) { $name = null; if (!$element->hasAttribute('name')) { $name = $offset++; $default[$name] = null; } else { $name = $element->getAttributeValue('name'); } if ($element->hasParameters()) { $default[$name] = isset($default[$name]) && is_array($default[$name]) ? $default[$name] : array(); $default[$name] = $element->getParameters($default[$name], $literalize); } else { $default[$name] = $this->getLiteralValue($element); } } } return $default; }