/**
  * Marshall a Weight object into a DOMElement object.
  * 
  * @param QtiComponent $component A Weight 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, 'value', $component->getValue());
     return $element;
 }
 protected function marshall(QtiComponent $component)
 {
     $element = static::getDOMCradle()->createElement($component->getQtiClassName());
     self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     self::setDOMElementAttribute($element, 'navigationMode', NavigationMode::getNameByConstant($component->getNavigationMode()));
     self::setDOMElementAttribute($element, 'submissionMode', SubmissionMode::getNameByConstant($component->getSubmissionMode()));
     foreach ($component->getPreConditions() as $preCondition) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($preCondition);
         $element->appendChild($marshaller->marshall($preCondition));
     }
     foreach ($component->getBranchRules() as $branchRule) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($branchRule);
         $element->appendChild($marshaller->marshall($branchRule));
     }
     $itemSessionControl = $component->getItemSessionControl();
     if (!empty($itemSessionControl)) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($itemSessionControl);
         $element->appendChild($marshaller->marshall($itemSessionControl));
     }
     $timeLimits = $component->getTimeLimits();
     if (!empty($timeLimits)) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($timeLimits);
         $element->appendChild($marshaller->marshall($timeLimits));
     }
     foreach ($component->getAssessmentSections() as $assessmentSection) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($assessmentSection);
         $element->appendChild($marshaller->marshall($assessmentSection));
     }
     foreach ($component->getTestFeedbacks() as $testFeedback) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($testFeedback);
         $element->appendChild($marshaller->marshall($testFeedback));
     }
     return $element;
 }
 /**
  * Marshall a RubricBlockRef object to its XML counterpart.
  * 
  * @return DOMElement
  */
 public function marshall(QtiComponent $component)
 {
     $element = self::getDOMCradle()->createElement('rubricBlockRef');
     self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     self::setDOMElementAttribute($element, 'href', $component->getHref());
     return $element;
 }
예제 #4
0
 /**
  * Marshall a Gap object into a DOMElement object.
  *
  * @param \qtism\data\QtiComponent $component A Gap object.
  * @return \DOMElement The according DOMElement object.
  * @throws \qtism\data\storage\xml\marshalling\MarshallingException
  */
 protected function marshall(QtiComponent $component)
 {
     $version = $this->getVersion();
     $element = self::getDOMCradle()->createElement('gap');
     self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     if ($component->isFixed() === true) {
         self::setDOMElementAttribute($element, 'fixed', true);
     }
     if (Version::compare($version, '2.1.0', '>=') === true && $component->hasTemplateIdentifier() === true) {
         self::setDOMElementAttribute($element, 'templateIdentifier', $component->getTemplateIdentifier());
     }
     if (Version::compare($version, '2.1.0', '>=') === true && $component->getShowHide() === ShowHide::HIDE) {
         self::setDOMElementAttribute($element, 'showHide', ShowHide::getNameByConstant(ShowHide::HIDE));
     }
     if (Version::compare($version, '2.1.0', '>=') === true && $component->isRequired() === true) {
         self::setDOMElementAttribute($element, 'required', true);
     }
     if (Version::compare($version, '2.1.0', '<') === true) {
         $matchGroup = $component->getMatchGroup();
         if (count($matchGroup) > 0) {
             self::setDOMElementAttribute($element, 'matchGroup', implode(' ', $matchGroup->getArrayCopy()));
         }
     }
     $this->fillElement($element, $component);
     return $element;
 }
 /**
  * Marshall a HotspotChoice/AssociableHotspot object into a DOMElement object.
  * 
  * @param QtiComponent $component A HotspotChoice/AssociableHotspot object.
  * @return DOMElement The according DOMElement object.
  * @throws MarshallingException
  */
 protected function marshall(QtiComponent $component)
 {
     $element = self::getDOMCradle()->createElement($component->getQtiClassName());
     self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     self::setDOMElementAttribute($element, 'shape', Shape::getNameByConstant($component->getShape()));
     self::setDOMElementAttribute($element, 'coords', $component->getCoords()->__toString());
     if ($component->isFixed() === true) {
         self::setDOMElementAttribute($element, 'fixed', true);
     }
     if ($component->hasTemplateIdentifier() === true) {
         self::setDOMElementAttribute($element, 'templateIdentifier', $component->getTemplateIdentifier());
     }
     if ($component->getShowHide() === ShowHide::HIDE) {
         self::setDOMElementAttribute($element, 'showHide', ShowHide::getNameByConstant($component->getShowHide()));
     }
     if ($component->hasHotspotLabel() === true) {
         self::setDOMElementAttribute($element, 'hotspotLabel', $component->getHotspotLabel());
     }
     if ($component instanceof AssociableHotspot) {
         self::setDOMElementAttribute($element, 'matchMax', $component->getMatchMax());
         if ($component->getMatchMin() !== 0) {
             self::setDOMElementAttribute($element, 'matchMin', $component->getMatchMin());
         }
     }
     self::fillElement($element, $component);
     return $element;
 }
예제 #6
0
 /**
  * Marshall a PrintedVariable object into a DOMElement object.
  *
  * @param \qtism\data\QtiComponent $component A PrintedVariable object.
  * @return \DOMElement The according DOMElement object.
  * @throws \qtism\data\storage\xml\marshalling\MarshallingException
  */
 protected function marshall(QtiComponent $component)
 {
     $element = self::getDOMCradle()->createElement('printedVariable');
     $version = $this->getVersion();
     self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     self::setDOMElementAttribute($element, 'base', $component->getBase());
     if (Version::compare($version, '2.1.0', '>=') === true) {
         self::setDOMElementAttribute($element, 'powerForm', $component->mustPowerForm());
         self::setDOMElementAttribute($element, 'delimiter', $component->getDelimiter());
         self::setDOMElementAttribute($element, 'mappingIndicator', $component->getMappingIndicator());
     }
     if ($component->hasFormat() === true) {
         self::setDOMElementAttribute($element, 'format', $component->getFormat());
     }
     if ($component->hasIndex() === true) {
         self::setDOMElementAttribute($element, 'index', $component->getIndex());
     }
     if ($component->hasField() === true) {
         self::setDOMElementAttribute($element, 'field', $component->getField());
     }
     if ($component->hasXmlBase() === true) {
         self::setXmlBase($element, $component->getXmlBase());
     }
     $this->fillElement($element, $component);
     return $element;
 }
 /**
  * Marshall a SetDefaultValue object into a DOMElement object.
  * 
  * @param QtiComponent $component A SetDefaultValue object.
  * @return DOMElement The according DOMElement object.
  */
 protected function marshall(QtiComponent $component)
 {
     $element = static::getDOMCradle()->createElement($component->getQtiClassName());
     $marshaller = $this->getMarshallerFactory()->createMarshaller($component->getExpression());
     $element->appendChild($marshaller->marshall($component->getExpression()));
     static::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     return $element;
 }
 /**
  * Marshall a Variable object into a DOMElement object.
  * 
  * @param QtiComponent $component A Variable object.
  * @return DOMElement The according DOMElement object.
  */
 protected function marshall(QtiComponent $component)
 {
     $element = static::getDOMCradle()->createElement($component->getQtiClassName());
     self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     $weightIdentifier = $component->getWeightIdentifier();
     if (!empty($weightIdentifier)) {
         self::setDOMElementAttribute($element, 'weightIdentifier', $weightIdentifier);
     }
     return $element;
 }
예제 #9
0
 /**
  * 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 ModalFeedbackRule object to its XML counterpart.
  *
  * @param \qtism\data\QtiComponent $component
  * @return \DOMElement
  */
 public function marshall(QtiComponent $component)
 {
     $element = self::getDOMCradle()->createElement('modalFeedbackRule');
     self::setDOMElementAttribute($element, 'outcomeIdentifier', $component->getOutcomeIdentifier());
     self::setDOMElementAttribute($element, 'showHide', ShowHide::getNameByConstant($component->getShowHide()));
     self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     if ($component->hasTitle() === true) {
         self::setDOMElementAttribute($element, 'title', $component->getTitle());
     }
     return $element;
 }
 /**
  * Marshall an AssessmentItem object into a DOMElement object.
  * 
  * @param QtiComponent $component An AssessmentItem 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, 'title', $component->getTitle());
     self::setDOMElementAttribute($element, 'timeDependent', $component->isTimeDependent());
     self::setDOMElementAttribute($element, 'adaptive', $component->isAdaptive());
     if ($component->hasLang() === true) {
         self::setDOMElementAttribute($element, 'lang', $component->getLang());
     }
     if ($component->hasLabel() === true) {
         self::setDOMElementAttribute($element, 'label', $component->getLabel());
     }
     if ($component->hasToolName() === true) {
         self::setDOMElementAttribute($element, 'toolName', $component->getToolName());
     }
     if ($component->hasToolVersion() === true) {
         self::setDOMElementAttribute($element, 'toolVersion', $component->getToolVersion());
     }
     foreach ($component->getResponseDeclarations() as $responseDeclaration) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($responseDeclaration);
         $element->appendChild($marshaller->marshall($responseDeclaration));
     }
     foreach ($component->getOutcomeDeclarations() as $outcomeDeclaration) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($outcomeDeclaration);
         $element->appendChild($marshaller->marshall($outcomeDeclaration));
     }
     foreach ($component->getTemplateDeclarations() as $templateDeclaration) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($templateDeclaration);
         $element->appendChild($marshaller->marshall($templateDeclaration));
     }
     if ($component->hasTemplateProcessing() === true) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($component->getTemplateProcessing());
         $element->appendChild($marshaller->marshall($component->getTemplateProcessing()));
     }
     foreach ($component->getStylesheets() as $stylesheet) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($stylesheet);
         $element->appendChild($marshaller->marshall($stylesheet));
     }
     if ($component->hasItemBody() === true) {
         $itemBody = $component->getItemBody();
         $marshaller = $this->getMarshallerFactory()->createMarshaller($itemBody);
         $element->appendChild($marshaller->marshall($itemBody));
     }
     if ($component->hasResponseProcessing() === true) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($component->getResponseProcessing());
         $element->appendChild($marshaller->marshall($component->getResponseProcessing()));
     }
     foreach ($component->getModalFeedbacks() as $modalFeedback) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($modalFeedback);
         $element->appendChild($marshaller->marshall($modalFeedback));
     }
     return $element;
 }
 protected function marshallChildrenKnown(QtiComponent $component, array $elements)
 {
     $element = self::getDOMCradle()->createElement($component->getQtiClassName());
     self::setDOMElementAttribute($element, 'outcomeIdentifier', $component->getOutcomeIdentifier());
     self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     self::setDOMElementAttribute($element, 'showHide', ShowHide::getNameByConstant($component->getShowHide()));
     if ($component->hasTitle() === true) {
         self::setDOMElementAttribute($element, 'title', $component->getTitle());
     }
     foreach ($elements as $e) {
         $element->appendChild($e);
     }
     return $element;
 }
 /**
  * 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 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;
 }
 /**
  * Marshall a Gap object into a DOMElement object.
  * 
  * @param QtiComponent $component A Gap object.
  * @return DOMElement The according DOMElement object.
  * @throws MarshallingException
  */
 protected function marshall(QtiComponent $component)
 {
     $element = self::getDOMCradle()->createElement('gap');
     self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     if ($component->isFixed() === true) {
         self::setDOMElementAttribute($element, 'fixed', true);
     }
     if ($component->hasTemplateIdentifier() === true) {
         self::setDOMElementAttribute($element, 'templateIdentifier', $component->getTemplateIdentifier());
     }
     if ($component->getShowHide() === ShowHide::HIDE) {
         self::setDOMElementAttribute($element, 'showHide', ShowHide::HIDE);
     }
     if ($component->isRequired() === true) {
         self::setDOMElementAttribute($element, 'required', true);
     }
     self::fillElement($element, $component);
     return $element;
 }
예제 #16
0
 /**
  * Marshall a HotspotChoice/AssociableHotspot object into a DOMElement object.
  *
  * @param \qtism\data\QtiComponent $component A HotspotChoice/AssociableHotspot object.
  * @return \DOMElement The according DOMElement object.
  * @throws \qtism\data\storage\xml\marshalling\MarshallingException
  */
 protected function marshall(QtiComponent $component)
 {
     $version = $this->getVersion();
     $element = self::getDOMCradle()->createElement($component->getQtiClassName());
     self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     self::setDOMElementAttribute($element, 'shape', QtiShape::getNameByConstant($component->getShape()));
     self::setDOMElementAttribute($element, 'coords', $component->getCoords()->__toString());
     if ($component->isFixed() === true) {
         self::setDOMElementAttribute($element, 'fixed', true);
     }
     if (Version::compare($version, '2.1.0', '>=') === true && $component->hasTemplateIdentifier() === true) {
         self::setDOMElementAttribute($element, 'templateIdentifier', $component->getTemplateIdentifier());
     }
     if (Version::compare($version, '2.1.0', '>=') === true && $component->getShowHide() === ShowHide::HIDE) {
         self::setDOMElementAttribute($element, 'showHide', ShowHide::getNameByConstant($component->getShowHide()));
     }
     if ($component->hasHotspotLabel() === true) {
         self::setDOMElementAttribute($element, 'hotspotLabel', $component->getHotspotLabel());
     }
     if ($component instanceof AssociableHotspot) {
         if (Version::compare($version, '2.1.0', '<') === true) {
             $matchGroup = $component->getMatchGroup();
             if (count($matchGroup) > 0) {
                 self::setDOMElementAttribute($element, 'matchGroup', implode(' ', $matchGroup->getArrayCopy()));
             }
         }
         if (Version::compare($version, '2.1.0', '>=') === true) {
             if ($component->getMatchMin() !== 0) {
                 self::setDOMElementAttribute($element, 'matchMin', $component->getMatchMin());
             }
         }
     }
     if ($component instanceof AssociableHotspot) {
         self::setDOMElementAttribute($element, 'matchMax', $component->getMatchMax());
     }
     $this->fillElement($element, $component);
     return $element;
 }
 /**
  * Marshall a SectionPart object into a DOMElement object.
  * 
  * @param QtiComponent $component A SectionPart 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, 'required', $component->isRequired());
     self::setDOMElementAttribute($element, 'fixed', $component->isFixed());
     foreach ($component->getPreConditions() as $preCondition) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($preCondition);
         $element->appendChild($marshaller->marshall($preCondition));
     }
     foreach ($component->getBranchRules() as $branchRule) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($branchRule);
         $element->appendChild($marshaller->marshall($branchRule));
     }
     if ($component->getItemSessionControl() != null) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($component->getItemSessionControl());
         $element->appendChild($marshaller->marshall($component->getItemSessionControl()));
     }
     if ($component->getTimeLimits() != null) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($component->getTimeLimits());
         $element->appendChild($marshaller->marshall($component->getTimeLimits()));
     }
     return $element;
 }
 /**
  * Marshall an AssessmentTest object into a DOMElement object.
  * 
  * @param QtiComponent $component An AssessmentTest object.
  * @return DOMElement The according DOMElement object.
  * @throws MarshallingException
  */
 protected function marshall(QtiComponent $component)
 {
     $element = self::getDOMCradle()->createElement($component->getQtiClassName());
     self::setDOMElementAttribute($element, 'identifier', $component->getIdentifier());
     self::setDOMElementAttribute($element, 'title', $component->getTitle());
     $toolName = $component->getToolName();
     if (!empty($toolName)) {
         self::setDOMElementAttribute($element, 'toolName', $component->getToolName());
     }
     $toolVersion = $component->getToolVersion();
     if (!empty($toolVersion)) {
         self::setDOMElementAttribute($element, 'toolVersion', $component->getToolVersion());
     }
     if ($component->hasTimeLimits() === true) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($component->getTimeLimits());
         $element->appendChild($marshaller->marshall($component->getTimeLimits()));
     }
     foreach ($component->getOutcomeDeclarations() as $outcomeDeclaration) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($outcomeDeclaration);
         $element->appendChild($marshaller->marshall($outcomeDeclaration));
     }
     foreach ($component->getTestParts() as $part) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($part);
         $element->appendChild($marshaller->marshall($part));
     }
     $outcomeProcessing = $component->getOutcomeProcessing();
     if (!empty($outcomeProcessing)) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($outcomeProcessing);
         $element->appendChild($marshaller->marshall($outcomeProcessing));
     }
     foreach ($component->getTestFeedbacks() as $feedback) {
         $marshaller = $this->getMarshallerFactory()->createMarshaller($feedback);
         $element->appendChild($marshaller->marshall($feedback));
     }
     return $element;
 }
 protected function includeChoiceComponent(QtiComponent $component, DOMDocumentFragment $rendering)
 {
     $choiceIndex = $this->choiceCounter;
     $choiceIdentifier = PhpUtils::doubleQuotedPhpString($component->getIdentifier());
     $interactionIndex = $this->interactionCounter;
     $stateName = $this->getStateName();
     $includeStmtCmt = $rendering->ownerDocument->createComment(' qtism-include($' . "{$stateName}, {$interactionIndex}, {$choiceIdentifier}, {$choiceIndex}): ");
     $endIncludeStmtCmt = $rendering->ownerDocument->createComment(' qtism-endinclude ');
     $rendering->insertBefore($includeStmtCmt, $rendering->firstChild);
     $rendering->appendChild($endIncludeStmtCmt);
 }
 /**
  * Whether or not the 'outcomeIdentifier'/'templateIdentifier' set on a templateElement/feedbackElement/choice
  * matches its 'identifier' attribute.
  * 
  * @param QtiComponent $component A TemplateElement or FeedbackElement or Choice element.
  * @return boolean
  */
 protected function identifierMatches(QtiComponent $component)
 {
     $variableIdentifier = $component instanceof FeedbackElement || $component instanceof ModalFeedback ? $component->getOutcomeIdentifier() : $component->getTemplateIdentifier();
     $identifier = $component->getIdentifier();
     $showHide = $component->getShowHide();
     $state = $this->getState();
     return ($val = $state[$variableIdentifier]) !== null && $val === $identifier;
 }
예제 #21
0
 /**
  * @see \qtism\runtime\rendering\markup\xhtml\AbstractXhtmlRenderer::appendChildren()
  */
 protected function appendChildren(DOMDocumentFragment $fragment, QtiComponent $component, $base = '')
 {
     $renderingEngine = $this->getRenderingEngine();
     if ($renderingEngine !== null) {
         switch ($renderingEngine->getPrintedVariablePolicy()) {
             case AbstractMarkupRenderingEngine::CONTEXT_AWARE:
                 $value = Utils::printVariable($this->getRenderingEngine()->getState(), $component->getIdentifier(), $component->getFormat(), $component->mustPowerForm(), $component->getBase(), $component->getIndex(), $component->getDelimiter(), $component->getField(), $component->getMappingIndicator());
                 $fragment->firstChild->appendChild($fragment->ownerDocument->createTextNode($value));
                 break;
             case AbstractMarkupRenderingEngine::TEMPLATE_ORIENTED:
                 $base = $component->getBase();
                 $index = $component->getIndex();
                 $params = array('$' . $renderingEngine->getStateName(), PhpUtils::doubleQuotedPhpString($component->getIdentifier()), PhpUtils::doubleQuotedPhpString($component->getFormat()), $component->mustPowerForm() === true ? 'true' : 'false', is_int($base) === true ? $base : PhpUtils::doubleQuotedPhpString($base), is_int($index) === true ? $index : PhpUtils::doubleQuotedPhpString($index), PhpUtils::doubleQuotedPhpString($component->getDelimiter()), PhpUtils::doubleQuotedPhpString($component->getField()), PhpUtils::doubleQuotedPhpString($component->getMappingIndicator()));
                 $value = " qtism-printVariable(" . implode(', ', $params) . ") ";
                 $fragment->firstChild->appendChild($fragment->ownerDocument->createComment($value));
                 break;
         }
     }
 }