public function processAssessmentItem(AssessmentItem $assessmentItem)
 {
     // TODO: Yea, we ignore rubric but what happen if the rubric is deep inside nested
     $newCollection = new BlockCollection();
     $itemBodyNew = new ItemBody();
     /** @var QtiComponent $component */
     foreach ($assessmentItem->getItemBody()->getContent() as $key => $component) {
         if (!$component instanceof RubricBlock) {
             $newCollection->attach($component);
         } else {
             LogService::log('Does not support <rubricBlock>. Ignoring <rubricBlock>');
         }
     }
     $itemBodyNew->setContent($newCollection);
     $assessmentItem->setItemBody($itemBodyNew);
     return $assessmentItem;
 }
예제 #2
0
 public function processAssessmentItem(AssessmentItem $assessmentItem)
 {
     $itemBody = $assessmentItem->getItemBody();
     foreach ($itemBody->getIterator() as $component) {
         if ($component instanceof Math) {
             $element = $component->getXml()->documentElement;
             // Remove prefix if exists for conversion
             // ie. <m:math> to just <math>
             $element->removeAttributeNS($element->namespaceURI, $element->prefix);
             $component->setXmlString($element->ownerDocument->saveXML());
             // Remove MathML namespace declaration
             $component->setTargetNamespace('');
             $this->hasMathML = true;
         }
     }
     $assessmentItem->setItemBody($itemBody);
     return $assessmentItem;
 }