protected function add_penalty_declaration(ImsQtiWriter $item, $question) { if (!$this->has_penalty($question)) { return null; } $cardinality = ImsQtiWriter::CARDINALITY_SINGLE; $name = self::PENALTY; $base_type = ImsQtiWriter::BASETYPE_FLOAT; $score_outcome = $item->add_outcomeDeclaration($name, $cardinality, $base_type); $score_outcome->add_defaultValue()->add_value(0); return $score_outcome; }
public function add_score_declaration(ImsQtiWriter $item, $question) { $score = $question->defaultgrade; $cardinality = ImsQtiWriter::CARDINALITY_SINGLE; $id = $this->score_id($question); $base_type = is_int($score) ? ImsQtiWriter::BASETYPE_INTEGER : ImsQtiWriter::BASETYPE_FLOAT; $result = $item->add_outcomeDeclaration($id, $cardinality, $base_type, $score); $result->add_defaultValue()->add_value(0); return $result; }