/** * Marshall a Br object into a DOMElement object. * * @param \qtism\data\QtiComponent $component A Br object. * @return \DOMElement The according DOMElement object. * @throws \qtism\data\storage\xml\marshalling\MarshallingException */ protected function marshall(QtiComponent $component) { $element = self::getDOMCradle()->createElement('br'); if ($component->hasXmlBase() === true) { self::setXmlBase($element, $component->setXmlBase()); } $this->fillElement($element, $component); return $element; }
/** * @see \qtism\data\storage\xml\marshalling\RecursiveMarshaller::marshallChildrenKnown() */ protected function marshallChildrenKnown(QtiComponent $component, array $elements) { $element = self::getDOMCradle()->createElement($component->getQtiClassName()); if (($cite = self::getDOMElementAttributeAs($element, 'cite')) !== null) { $component->setCite($cite); } if (($xmlBase = self::getXmlBase($element)) !== false) { $component->setXmlBase($xmlBase); } foreach ($elements as $e) { $element->appendChild($e); } $this->fillElement($element, $component); return $element; }
/** * Marshall a TextEntryInteraction/ExtendedTextInteraction object into a DOMElement object. * * @param \qtism\data\QtiComponent $component A TextEntryInteraction/ExtendedTextInteraction object. * @return \DOMElement The according DOMElement object. * @throws \qtism\data\storage\xml\marshalling\MarshallingException */ protected function marshall(QtiComponent $component) { $element = self::getDOMCradle()->createElement($component->getQtiClassName()); $version = $this->getVersion(); self::setDOMElementAttribute($element, 'responseIdentifier', $component->getResponseIdentifier()); if ($component->getBase() !== 10) { self::setDOMElementAttribute($element, 'base', $component->getBase()); } if ($component->hasStringIdentifier() === true) { self::setDOMElementAttribute($element, 'stringIdentifier', $component->getStringIdentifier()); } if ($component->hasExpectedLength() === true) { self::setDOMElementAttribute($element, 'expectedLength', $component->getExpectedLength()); } if ($component->hasPatternMask() === true) { self::setDOMElementAttribute($element, 'patternMask', $component->getPatternMask()); } if ($component->hasPlaceholderText() === true) { self::setDOMElementAttribute($element, 'placeholderText', $component->getPlaceholderText()); } if ($component->hasXmlBase() === true) { self::setXmlBase($element, $component->setXmlBase()); } if ($element->localName === 'extendedTextInteraction') { if ($component->hasMaxStrings() === true) { self::setDOMElementAttribute($element, 'maxStrings', $component->getMaxStrings()); } if (Version::compare($version, '2.1.0', '>=') === true && $component->getMinStrings() !== 0) { self::setDOMElementAttribute($element, 'minStrings', $component->getMinStrings()); } if ($component->hasExpectedLines() === true) { self::setDOMElementAttribute($element, 'expectedLines', $component->getExpectedLines()); } if (Version::compare($version, '2.1.0', '>=') === true && $component->getFormat() !== TextFormat::PLAIN) { self::setDOMElementAttribute($element, 'format', TextFormat::getNameByConstant($component->getFormat())); } if ($component->hasPrompt() === true) { $element->appendChild($this->getMarshallerFactory()->createMarshaller($component->getPrompt())->marshall($component->getPrompt())); } } $this->fillElement($element, $component); return $element; }
/** * Marshall an Img object into a DOMElement object. * * @param QtiComponent $component An Img object. * @return DOMElement The according DOMElement object. * @throws MarshallingException */ protected function marshall(QtiComponent $component) { $element = self::getDOMCradle()->createElement('img'); self::setDOMElementAttribute($element, 'src', $component->getSrc()); self::setDOMElementAttribute($element, 'alt', $component->getAlt()); if ($component->hasWidth() === true) { self::setDOMElementAttribute($element, 'width', $component->getWidth()); } if ($component->hasHeight() === true) { self::setDOMElementAttribute($element, 'height', $component->getHeight()); } if ($component->hasLongdesc() === true) { self::setDOMElementAttribute($element, 'longdesc', $component->getLongdesc()); } if ($component->hasXmlBase() === true) { self::setXmlBase($element, $component->setXmlBase()); } self::fillElement($element, $component); return $element; }