/** * Marshall a TestFeedbackRef object to its XML counterpart. * * @param \qtism\data\QtiComponent $component * @return \DOMElement */ public function marshall(QtiComponent $component) { $element = self::getDOMCradle()->createElement('testFeedbackRef'); self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier()); self::setDOMElementAttribute($element, 'outcomeIdentifier', $component->getOutcomeIdentifier()); self::setDOMElementAttribute($element, 'access', TestFeedbackAccess::getNameByConstant($component->getAccess())); self::setDOMElementAttribute($element, 'showHide', ShowHide::getNameByConstant($component->getShowHide())); self::setDOMElementAttribute($element, 'href', $component->getHref()); return $element; }
/** * Marshall a TestFeedback object into a DOMElement object. * * @param QtiComponent $component A TestFeedback object. * @return DOMElement The according DOMElement object. */ protected function marshall(QtiComponent $component) { $element = static::getDOMCradle()->createElement($component->getQtiClassName()); $access = $component->getAccess() == TestFeedbackAccess::AT_END ? 'atEnd' : 'during'; $showHide = $component->getShowHide() == ShowHide::SHOW ? 'show' : 'hide'; self::setDOMElementAttribute($element, 'access', $access); self::setDOMElementAttribute($element, 'outcomeIdentifier', $component->getOutcomeIdentifier()); self::setDOMElementAttribute($element, 'showHide', $showHide); self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier()); $title = $component->getTitle(); if (!empty($title)) { self::setDOMElementAttribute($element, 'title', $title); } $flowStatic = static::getDOMCradle()->createDocumentFragment(); $flowStatic->appendXML($component->getContent()); $element->appendChild($flowStatic); return $element; }