/** * @see \qtism\data\storage\xml\marshalling\OperatorMarshaller::marshallChildrenKnown() */ protected function marshallChildrenKnown(QtiComponent $component, array $elements) { $element = self::getDOMCradle()->createElement($component->getQtiClassName()); self::setDOMElementAttribute($element, 'toleranceMode', ToleranceMode::getNameByConstant($component->getToleranceMode())); $tolerance = $component->getTolerance(); if (!empty($tolerance)) { self::setDOMElementAttribute($element, 'tolerance', implode(" ", $tolerance)); } if ($component->doesIncludeLowerBound() === false) { self::setDOMElementAttribute($element, 'includeLowerBound', false); } if ($component->doesIncludeUpperBound() === false) { self::setDOMElementAttribute($element, 'includeUpperBound', false); } foreach ($elements as $elt) { $element->appendChild($elt); } return $element; }
public function createFakeExpression($toleranceMode, array $tolerance = array(), $includeLowerBound = true, $includeUpperBound = true) { $tm = $toleranceMode != ToleranceMode::EXACT ? 'tolerance="' . implode(' ', $tolerance) . '"' : ''; $toleranceMode = ToleranceMode::getNameByConstant($toleranceMode); $iL = $includeLowerBound === true ? 'true' : 'false'; $iU = $includeUpperBound === true ? 'true' : 'false'; $str = ' <equal toleranceMode="' . $toleranceMode . '" ' . $tm . ' includeLowerBound="' . $iL . '" includeUpperBound="' . $iU . '"> <baseValue baseType="integer">10</baseValue> <baseValue baseType="integer">10</baseValue> </equal> '; return $this->createComponentFromXml($str); }