protected function add_response_declaration(ImsQtiWriter $item, $question)
 {
     //main response
     $cardinality = ImsQtiWriter::CARDINALITY_SINGLE;
     $base_type = ImsQtiWriter::BASETYPE_FLOAT;
     $result = $item->add_responseDeclaration(ImsQtiWriter::RESPONSE, $cardinality, $base_type);
     $this->add_unit_declaration($item, $question);
     return $result;
 }
 protected function add_response_declaration(ImsQtiWriter $item, $question)
 {
     $id = ImsQtiWriter::RESPONSE;
     $cardinality = ImsQtiWriter::CARDINALITY_MULTIPLE;
     $type = ImsQtiWriter::BASETYPE_DIRECTEDPAIR;
     $result = $item->add_responseDeclaration($id, $cardinality, $type);
     $this->correct_response = $result->add_correctResponse();
     $this->mapping = $result->add_mapping('', '', 0);
     return $result;
 }
 protected function add_unit_declaration(ImsQtiWriter $item, $question)
 {
     //units response
     $show_units = $question->options->showunits;
     if ($show_units == self::UNIT_TEXTBOX || $show_units == self::UNIT_RADIO) {
         $cardinality = ImsQtiWriter::CARDINALITY_SINGLE;
         $base_type = ImsQtiWriter::BASETYPE_STRING;
         $result = $item->add_responseDeclaration(self::UNIT, $cardinality, $base_type);
         $mapping = $result->add_mapping('', '', 1);
         foreach ($question->options->units as $unit) {
             $mapping->add_mapEntry($unit->unit, empty($unit->multiplier) ? 0 : $unit->multiplier);
         }
     } else {
         $result = null;
     }
     return $result;
 }
 protected function add_response_declaration(ImsQtiWriter $item, $question)
 {
     //main response
     $cardinality = $question->options->single ? ImsQtiWriter::CARDINALITY_SINGLE : ImsQtiWriter::CARDINALITY_MULTIPLE;
     $base_type = ImsQtiWriter::BASETYPE_IDENTIFIER;
     $result = $item->add_responseDeclaration(ImsQtiWriter::RESPONSE, $cardinality, $base_type);
     $correct_response = $result->add_correctResponse();
     $this->mapping = $result->add_mapping();
     $count = 0;
     foreach ($question->options->answers as $answer) {
         $identifier = 'ID_' . ++$count;
         if ($answer->fraction == 1) {
             $correct_response->add_value($identifier);
         }
         $this->mapping->add_mapEntry($identifier, $answer->fraction * $question->defaultgrade);
     }
     return $result;
 }
 protected function add_response_declaration(ImsQtiWriter $item, $question)
 {
     return $this->response = $item->add_responseDeclaration(ImsQtiWriter::RESPONSE, ImsQtiWriter::CARDINALITY_SINGLE, ImsQtiWriter::BASETYPE_IDENTIFIER);
 }
 public function add_response_declaration(ImsQtiWriter $item, $question)
 {
     $cardinality = $question->options->single ? ImsQtiWriter::CARDINALITY_SINGLE : ImsQtiWriter::CARDINALITY_MULTIPLE;
     $response_id = $this->response_id($question);
     $result = $item->add_responseDeclaration($response_id, $cardinality, ImsQtiWriter::BASETYPE_IDENTIFIER);
     $correct_response = $result->add_correctResponse();
     $mapping = $result->add_mapping();
     foreach ($question->options->answers as $answer) {
         $answer_id = $this->answer_id($answer);
         if ($is_correct = $answer->fraction == 1) {
             $correct_response->add_value($answer_id);
         }
         $mapping->add_mapEntry($answer_id, $answer->fraction * $question->defaultgrade);
     }
     return $result;
 }
 public function add_response_declaration(ImsQtiWriter $item, $question)
 {
     $id = $this->response_id($question);
     $cardinality = ImsQtiWriter::CARDINALITY_SINGLE;
     $type = ImsQtiWriter::BASETYPE_STRING;
     $result = $item->add_responseDeclaration($id, $cardinality, $type);
     $correct_response = $result->add_correctResponse();
     foreach ($question->options->answers as $answer) {
         if ($answer->fraction == 1.0 && !ShortanswerUtil::is_regex($answer->answer)) {
             $correct_response->add_value($answer->answer);
         }
     }
     return $result;
 }
 public function add_response_declaration(ImsQtiWriter $item, $question)
 {
     $cardinality = ImsQtiWriter::CARDINALITY_SINGLE;
     $identity = $this->response_id($question);
     $result = $item->add_responseDeclaration($identity, $cardinality, ImsQtiWriter::BASETYPE_FLOAT);
     $correct_response = $result->add_correctResponse();
     foreach ($question->options->answers as $answer) {
         $answer_id = $this->answer_id($answer);
         if ($is_correct = $answer->fraction == 1) {
             $correct_response->add_value($answer->answer);
         }
     }
     return $result;
 }
 public function add_response_declaration(ImsQtiWriter $item, $question)
 {
     $cardinality = ImsQtiWriter::CARDINALITY_SINGLE;
     $identity = $this->response_id($question);
     $result = $item->add_responseDeclaration($identity, $cardinality, ImsQtiWriter::BASETYPE_STRING);
     return $result;
 }