/** * Marshall a VariableDeclaration object into a DOMElement object. * * @param \qtism\data\QtiComponent $component An OutcomeDeclaration object. * @return \DOMElement The according DOMElement object. */ protected function marshall(QtiComponent $component) { $element = static::getDOMCradle()->createElement($component->getQtiClassName()); self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier()); self::setDOMElementAttribute($element, 'cardinality', Cardinality::getNameByConstant($component->getCardinality())); if ($component->getBaseType() != -1) { self::setDOMElementAttribute($element, 'baseType', BaseType::getNameByConstant($component->getBaseType())); } // deal with default value. if ($component->getDefaultValue() != null) { $defaultValue = $component->getDefaultValue(); $defaultValueMarshaller = $this->getMarshallerFactory()->createMarshaller($defaultValue, array($component->getBaseType())); $element->appendChild($defaultValueMarshaller->marshall($defaultValue)); } return $element; }
/** * Marshall a BaseValue object into a DOMElement object. * * @param \qtism\data\QtiComponent $component A BaseValue object. * @return \DOMElement The according DOMElement object. */ protected function marshall(QtiComponent $component) { $element = static::getDOMCradle()->createElement($component->getQtiClassName()); self::setDOMElementAttribute($element, 'baseType', BaseType::getNameByConstant($component->getBaseType())); self::setDOMElementValue($element, $component->getValue()); return $element; }
/** * Marshall a Value object into a DOMElement object. * * @param \qtism\data\QtiComponent $component A Value object. * @return \DOMElement The according DOMElement object. */ protected function marshall(QtiComponent $component) { $element = static::getDOMCradle()->createElement($component->getQtiClassName()); $fieldIdentifer = $component->getFieldIdentifier(); $baseType = $component->getBaseType(); self::setDOMElementValue($element, $component->getValue()); if (!empty($fieldIdentifer)) { static::setDOMElementAttribute($element, 'fieldIdentifier', $fieldIdentifer); } if ($component->isPartOfRecord() && $baseType >= 0) { static::setDOMElementAttribute($element, 'baseType', BaseType::getNameByConstant($baseType)); } return $element; }