Public Member Functions | Data Fields

ilQTIParser Class Reference

Inheritance diagram for ilQTIParser:
Collaboration diagram for ilQTIParser:

Public Member Functions

 ilQTIParser ($a_xml_file, $a_mode=IL_MO_PARSE_QTI, $a_qpl_id=0, $a_import_idents="")
 Constructor.
 setTestObject (&$a_tst_object)
 setParserMode ($a_mode=IL_MO_PARSE_QTI)
 setHandlers ($a_xml_parser)
 set event handler should be overwritten by inherited class private
 startParsing ()
 stores xml data in array
 getParent ($a_xml_parser)
 handlerBeginTag ($a_xml_parser, $a_name, $a_attribs)
 handler for begin of element
 handlerParseBeginTag ($a_xml_parser, $a_name, $a_attribs)
 handler for begin of element parser
 handlerEndTag ($a_xml_parser, $a_name)
 handler for end of element
 handlerParseEndTag ($a_xml_parser, $a_name)
 handler for end of element parser
 handlerCharacterData ($a_xml_parser, $a_data)
 handler for character data
 handlerParseCharacterData ($a_xml_parser, $a_data)
 handler for character data
 handlerVerifyBeginTag ($a_xml_parser, $a_name, $a_attribs)
 handler for begin of element verification
 handlerVerifyEndTag ($a_xml_parser, $a_name)
 handler for end of element verification
 handlerVerifyCharacterData ($a_xml_parser, $a_data)
 handler for character data verification
getFoundItems ()
 getImportMapping ()
 get array of new created questions for import id

Data Fields

 $lng
 $hasRootElement
 $path
 $items
 $item
 $depth
 $qti_element
 $in_presentation
 $in_response
 $render_type
 $response_label
 $material
 $matimage
 $response
 $resprocessing
 $outcomes
 $decvar
 $respcondition
 $setvar
 $displayfeedback
 $itemfeedback
 $flow_mat
 $flow
 $presentation
 $mattext
 $sametag
 $characterbuffer
 $conditionvar
 $parser_mode
 $import_idents
 $qpl_id
 $tst_id
 $tst_object
 $do_nothing
 $gap_index
 $assessments
 $assessment
 $assessmentcontrol
 $objectives
 $in_assessment = FALSE
 $section
 $import_mapping
 $question_counter = 1
 $in_itemmetadata
 $in_objectives = FALSE
 $founditems = array()
 $verifyroot = false
 $verifyqticomment = 0
 $verifymetadatafield = 0
 $verifyfieldlabel = 0
 $verifyfieldlabeltext = ""
 $verifyfieldentry = 0
 $verifyfieldentrytext = ""

Detailed Description

Definition at line 38 of file class.ilQTIParser.php.


Member Function Documentation

& ilQTIParser::getFoundItems (  ) 

Definition at line 1609 of file class.ilQTIParser.php.

        {
                return $this->founditems;
        }

ilQTIParser::getImportMapping (  ) 

get array of new created questions for import id

Definition at line 1618 of file class.ilQTIParser.php.

        {
                if (!is_array($this->import_mapping))
                {
                        return array();
                }
                else
                {
                        return $this->import_mapping;
                }
        }

ilQTIParser::getParent ( a_xml_parser  ) 

Definition at line 203 of file class.ilQTIParser.php.

Referenced by handlerParseCharacterData(), and handlerParseEndTag().

        {
                if ($this->depth[$a_xml_parser] > 0)
                {
                        return $this->path[$this->depth[$a_xml_parser]-1];
                }
                else
                {
                        return "";
                }
        }

Here is the caller graph for this function:

ilQTIParser::handlerBeginTag ( a_xml_parser,
a_name,
a_attribs 
)

handler for begin of element

Definition at line 218 of file class.ilQTIParser.php.

References handlerParseBeginTag(), and handlerVerifyBeginTag().

        {
                switch ($this->parser_mode)
                {
                        case IL_MO_PARSE_QTI:
                                $this->handlerParseBeginTag($a_xml_parser, $a_name, $a_attribs);
                                break;
                        case IL_MO_VERIFY_QTI:
                                $this->handlerVerifyBeginTag($a_xml_parser, $a_name, $a_attribs);
                                break;
                }
        }

Here is the call graph for this function:

ilQTIParser::handlerCharacterData ( a_xml_parser,
a_data 
)

handler for character data

Definition at line 1306 of file class.ilQTIParser.php.

References handlerParseCharacterData(), and handlerVerifyCharacterData().

        {
                switch ($this->parser_mode)
                {
                        case IL_MO_PARSE_QTI:
                                $this->handlerParseCharacterData($a_xml_parser, $a_data);
                                break;
                        case IL_MO_VERIFY_QTI:
                                $this->handlerVerifyCharacterData($a_xml_parser, $a_data);
                                break;
                }
        }

Here is the call graph for this function:

ilQTIParser::handlerEndTag ( a_xml_parser,
a_name 
)

handler for end of element

Definition at line 958 of file class.ilQTIParser.php.

References handlerParseEndTag(), and handlerVerifyEndTag().

        {
                switch ($this->parser_mode)
                {
                        case IL_MO_PARSE_QTI:
                                $this->handlerParseEndTag($a_xml_parser, $a_name);
                                break;
                        case IL_MO_VERIFY_QTI:
                                $this->handlerVerifyEndTag($a_xml_parser, $a_name);
                                break;
                }
        }

Here is the call graph for this function:

ilQTIParser::handlerParseBeginTag ( a_xml_parser,
a_name,
a_attribs 
)

handler for begin of element parser

Definition at line 234 of file class.ilQTIParser.php.

Referenced by handlerBeginTag().

        {
                if ($this->do_nothing) return;
                $this->sametag = FALSE;
                $this->characterbuffer = "";
                $this->depth[$a_xml_parser]++;
                $this->path[$this->depth[$a_xml_parser]] = strtolower($a_name);
                $this->qti_element = $a_name;
                
                switch (strtolower($a_name))
                {
                        case "assessment":
                                include_once ("./assessment/classes/QTI/class.ilQTIAssessment.php");
                                $this->assessment =& $this->assessments[array_push($this->assessments, new ilQTIAssessment())-1];
                                $this->in_assessment = TRUE;
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "title":
                                                                $this->assessment->setTitle($value);
                                                                break;
                                                        case "ident":
                                                                $this->assessment->setIdent($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "assessmentcontrol":
                                include_once ("./assessment/classes/QTI/class.ilQTIAssessmentcontrol.php");
                                $this->assessmentcontrol = new ilQTIAssessmentcontrol();
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "solutionswitch":
                                                                $this->assessmentcontrol->setSolutionswitch($value);
                                                                break;
                                                        case "hintswitch":
                                                                $this->assessmentcontrol->setHintswitch($value);
                                                                break;
                                                        case "feedbackswitch":
                                                                $this->assessmentcontrol->setFeedbackswitch($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "objectives":
                                include_once ("./assessment/classes/QTI/class.ilQTIObjectives.php");
                                $this->objectives = new ilQTIObjectives();
                                $this->in_objectives = TRUE;
                                break;
                        case "section":
                                include_once ("./assessment/classes/QTI/class.ilQTISection.php");
                                $this->section = new ilQTISection();
                                break;
                        case "itemmetadata":
                                $this->in_itemmetadata = TRUE;
                                break;
                        case "qtimetadatafield":
                                $this->metadata = array("label" => "", "entry" => "");
                                break;
                        case "flow":
                                include_once ("./assessment/classes/QTI/class.ilQTIFlow.php");
                                $this->flow++;
                                break;
                        case "flow_mat":
                                include_once ("./assessment/classes/QTI/class.ilQTIFlowMat.php");
                                array_push($this->flow_mat, new ilQTIFlowMat());
                                break;
                        case "itemfeedback":
                                include_once ("./assessment/classes/QTI/class.ilQTIItemfeedback.php");
                                $this->itemfeedback = new ilQTIItemfeedback();
                                break;
                        case "displayfeedback":
                                include_once ("./assessment/classes/QTI/class.ilQTIDisplayfeedback.php");
                                $this->displayfeedback = new ilQTIDisplayfeedback();
                                break;
                        case "setvar":
                                include_once ("./assessment/classes/QTI/class.ilQTISetvar.php");
                                $this->setvar = new ilQTISetvar();
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "action":
                                                                $this->setvar->setAction($value);
                                                                break;
                                                        case "varname":
                                                                $this->setvar->setVarname($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "conditionvar":
                                include_once ("./assessment/classes/QTI/class.ilQTIConditionvar.php");
                                $this->conditionvar = new ilQTIConditionvar();
                                break;
                        case "not":
                                if ($this->conditionvar != NULL)
                                {
                                        $this->conditionvar->addNot();
                                }
                                break;
                        case "and":
                                if ($this->conditionvar != NULL)
                                {
                                        $this->conditionvar->addAnd();
                                }
                                break;
                        case "or":
                                if ($this->conditionvar != NULL)
                                {
                                        $this->conditionvar->addOr();
                                }
                                break;
                        case "varequal":
                                include_once("./assessment/classes/QTI/class.ilQTIResponseVar.php");
                                $this->responsevar = new ilQTIResponseVar(RESPONSEVAR_EQUAL);
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "case":
                                                                $this->responsevar->setCase($value);
                                                                break;
                                                        case "respident":
                                                                $this->responsevar->setRespident($value);
                                                                break;
                                                        case "index":
                                                                $this->responsevar->setIndex($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "varlt":
                                include_once("./assessment/classes/QTI/class.ilQTIResponseVar.php");
                                $this->responsevar = new ilQTIResponseVar(RESPONSEVAR_LT);
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "respident":
                                                                $this->responsevar->setRespident($value);
                                                                break;
                                                        case "index":
                                                                $this->responsevar->setIndex($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "varlte":
                                include_once("./assessment/classes/QTI/class.ilQTIResponseVar.php");
                                $this->responsevar = new ilQTIResponseVar(RESPONSEVAR_LTE);
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "respident":
                                                                $this->responsevar->setRespident($value);
                                                                break;
                                                        case "index":
                                                                $this->responsevar->setIndex($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "vargt":
                                include_once("./assessment/classes/QTI/class.ilQTIResponseVar.php");
                                $this->responsevar = new ilQTIResponseVar(RESPONSEVAR_GT);
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "respident":
                                                                $this->responsevar->setRespident($value);
                                                                break;
                                                        case "index":
                                                                $this->responsevar->setIndex($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "vargte":
                                include_once("./assessment/classes/QTI/class.ilQTIResponseVar.php");
                                $this->responsevar = new ilQTIResponseVar(RESPONSEVAR_GTE);
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "respident":
                                                                $this->responsevar->setRespident($value);
                                                                break;
                                                        case "index":
                                                                $this->responsevar->setIndex($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "varsubset":
                                include_once("./assessment/classes/QTI/class.ilQTIResponseVar.php");
                                $this->responsevar = new ilQTIResponseVar(RESPONSEVAR_SUBSET);
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "respident":
                                                                $this->responsevar->setRespident($value);
                                                                break;
                                                        case "setmatch":
                                                                $this->responsevar->setSetmatch($value);
                                                                break;
                                                        case "index":
                                                                $this->responsevar->setIndex($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "varinside":
                                include_once("./assessment/classes/QTI/class.ilQTIResponseVar.php");
                                $this->responsevar = new ilQTIResponseVar(RESPONSEVAR_INSIDE);
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "respident":
                                                                $this->responsevar->setRespident($value);
                                                                break;
                                                        case "areatype":
                                                                $this->responsevar->setAreatype($value);
                                                                break;
                                                        case "index":
                                                                $this->responsevar->setIndex($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "varsubstring":
                                include_once("./assessment/classes/QTI/class.ilQTIResponseVar.php");
                                $this->responsevar = new ilQTIResponseVar(RESPONSEVAR_SUBSTRING);
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "case":
                                                                $this->responsevar->setCase($value);
                                                                break;
                                                        case "respident":
                                                                $this->responsevar->setRespident($value);
                                                                break;
                                                        case "index":
                                                                $this->responsevar->setIndex($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "respcondition":
                                include_once("./assessment/classes/QTI/class.ilQTIRespcondition.php");
                                $this->respcondition = new ilQTIRespcondition();
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "continue":
                                                                $this->respcondition->setContinue($value);
                                                                break;
                                                        case "title":
                                                                $this->respcondition->setTitle($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "outcomes":
                                include_once("./assessment/classes/QTI/class.ilQTIOutcomes.php");
                                $this->outcomes = new ilQTIOutcomes();
                                break;
                        case "decvar":
                                include_once("./assessment/classes/QTI/class.ilQTIDecvar.php");
                                $this->decvar = new ilQTIDecvar();
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "varname":
                                                                $this->decvar->setVarname($value);
                                                                break;
                                                        case "vartype":
                                                                $this->decvar->setVartype($value);
                                                                break;
                                                        case "defaultval":
                                                                $this->decvar->setDefaultval($value);
                                                                break;
                                                        case "minvalue":
                                                                $this->decvar->setMinvalue($value);
                                                                break;
                                                        case "maxvalue":
                                                                $this->decvar->setMaxvalue($value);
                                                                break;
                                                        case "members":
                                                                $this->decvar->setMembers($value);
                                                                break;
                                                        case "cutvalue":
                                                                $this->decvar->setCutvalue($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "matimage":
                                include_once("./assessment/classes/QTI/class.ilQTIMatimage.php");
                                $this->matimage = new ilQTIMatimage();
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "imagtype":
                                                                $this->matimage->setImagetype($value);
                                                                break;
                                                        case "label":
                                                                $this->matimage->setLabel($value);
                                                                break;
                                                        case "height":
                                                                $this->matimage->setHeight($value);
                                                                break;
                                                        case "width":
                                                                $this->matimage->setWidth($value);
                                                                break;
                                                        case "uri":
                                                                $this->matimage->setUri($value);
                                                                break;
                                                        case "embedded":
                                                                $this->matimage->setEmbedded($value);
                                                                break;
                                                        case "x0":
                                                                $this->matimage->setX0($value);
                                                                break;
                                                        case "y0":
                                                                $this->matimage->setY0($value);
                                                                break;
                                                        case "entityref":
                                                                $this->matimage->setEntityref($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "material":
                                include_once("./assessment/classes/QTI/class.ilQTIMaterial.php");
                                $this->material = new ilQTIMaterial();
                                $this->material->setFlow($this->flow);
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "label":
                                                                $this->material->setLabel($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "mattext":
                                include_once ("./assessment/classes/QTI/class.ilQTIMattext.php");
                                $this->mattext = new ilQTIMattext();
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "texttype":
                                                                $this->mattext->setTexttype($value);
                                                                break;
                                                        case "label":
                                                                $this->mattext->setLabel($value);
                                                                break;
                                                        case "charset":
                                                                $this->mattext->setCharset($value);
                                                                break;
                                                        case "uri":
                                                                $this->mattext->setUri($value);
                                                                break;
                                                        case "xml:space":
                                                                $this->mattext->setXmlspace($value);
                                                                break;
                                                        case "xml:lang":
                                                                $this->mattext->setXmllang($value);
                                                                break;
                                                        case "entityref":
                                                                $this->mattext->setEntityref($value);
                                                                break;
                                                        case "height":
                                                                $this->mattext->setHeight($value);
                                                                break;
                                                        case "width":
                                                                $this->mattext->setWidth($value);
                                                                break;
                                                        case "x0":
                                                                $this->mattext->setX0($value);
                                                                break;
                                                        case "y0":
                                                                $this->mattext->setY0($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "matapplet":
                                include_once ("./assessment/classes/QTI/class.ilQTIMatapplet.php");
                                $this->matapplet = New ilQTIMatapplet();
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "label":
                                                                $this->matapplet->setLabel($value);
                                                                break;
                                                        case "uri":
                                                                $this->matapplet->setUri($value);
                                                                break;
                                                        case "y0":
                                                                $this->matapplet->setY0($value);
                                                                break;
                                                        case "height":
                                                                $this->matapplet->setHeight($value);
                                                                break;
                                                        case "width":
                                                                $this->matapplet->setWidth($value);
                                                                break;
                                                        case "x0":
                                                                $this->matapplet->setX0($value);
                                                                break;
                                                        case "embedded":
                                                                $this->matapplet->setEmbedded($value);
                                                                break;
                                                        case "entityref":
                                                                $this->matapplet->setEntityref($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "questestinterop":
                                $this->hasRootElement = TRUE;
                                break;
                        case "qticomment":
                                break;
                        case "objectbank":
                                // not implemented yet
                                break;
                        case "section":
                                if ($this->assessment != NULL)
                                {
                                        $this->assessment->addSection($this->section);
                                }
                                $this->section = NULL;
                                break;
                        case "presentation":
                                $this->in_presentation = TRUE;
                                include_once ("./assessment/classes/QTI/class.ilQTIPresentation.php");
                                $this->presentation = new ilQTIPresentation();
                                break;
                        case "response_label":
                                if ($this->render_type != NULL)
                                {
                                include_once("./assessment/classes/QTI/class.ilQTIResponseLabel.php");
                                        $this->response_label = new ilQTIResponseLabel();
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "rshuffle":
                                                                $this->response_label->setRshuffle($value);
                                                                break;
                                                        case "rarea":
                                                                $this->response_label->setRarea($value);
                                                                break;
                                                        case "rrange":
                                                                $this->response_label->setRrange($value);
                                                                break;
                                                        case "labelrefid":
                                                                $this->response_label->setLabelrefid($value);
                                                                break;
                                                        case "ident":
                                                                $this->response_label->setIdent($value);
                                                                break;
                                                        case "match_group":
                                                                $this->response_label->setMatchGroup($value);
                                                                break;
                                                        case "match_max":
                                                                $this->response_label->setMatchMax($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "render_choice":
                                if ($this->in_response)
                                {
                                        include_once("./assessment/classes/QTI/class.ilQTIRenderChoice.php");
                                        $this->render_type = new ilQTIRenderChoice();
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "shuffle":
                                                                $this->render_type->setShuffle($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "render_hotspot":
                                if ($this->in_response)
                                {
                                        include_once("./assessment/classes/QTI/class.ilQTIRenderHotspot.php");
                                        $this->render_type = new ilQTIRenderHotspot();
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "showdraw":
                                                                $this->render_type->setShuffle($value);
                                                                break;
                                                        case "minnumber":
                                                                $this->render_type->setMinnumber($value);
                                                                break;
                                                        case "maxnumber":
                                                                $this->render_type->setMaxnumber($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "render_fib":
                                if ($this->in_response)
                                {
                                        include_once("./assessment/classes/QTI/class.ilQTIRenderFib.php");
                                        $this->render_type = new ilQTIRenderFib();
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "encoding":
                                                                $this->render_type->setEncoding($value);
                                                                break;
                                                        case "fibtype":
                                                                $this->render_type->setFibtype($value);
                                                                break;
                                                        case "rows":
                                                                $this->render_type->setRows($value);
                                                                break;
                                                        case "maxchars":
                                                                $this->render_type->setMaxchars($value);
                                                                break;
                                                        case "prompt":
                                                                $this->render_type->setPrompt($value);
                                                                break;
                                                        case "columns":
                                                                $this->render_type->setColumns($value);
                                                                break;
                                                        case "charset":
                                                                $this->render_type->setCharset($value);
                                                                break;
                                                        case "maxnumber":
                                                                $this->render_type->setMaxnumber($value);
                                                                break;
                                                        case "minnumber":
                                                                $this->render_type->setMinnumber($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "response_lid":
                                // Ordering Terms and Definitions    or
                                // Ordering Terms and Pictures       or
                                // Multiple choice single response   or
                                // Multiple choice multiple response
                        case "response_xy":
                                // Imagemap question
                        case "response_str":
                                // Close question
                        case "response_num":
                        case "response_grp":
                                // Matching terms and definitions
                                // Matching terms and images
                                include_once "./assessment/classes/QTI/class.ilQTIResponse.php";
                                switch (strtolower($a_name))
                                {
                                        case "response_lid":
                                                $response_type = RT_RESPONSE_LID;
                                                break;
                                        case "response_xy":
                                                $response_type = RT_RESPONSE_XY;
                                                break;
                                        case "response_str":
                                                $response_type = RT_RESPONSE_STR;
                                                break;
                                        case "response_num":
                                                $response_type = RT_RESPONSE_NUM;
                                                break;
                                        case "response_grp":
                                                $response_type = RT_RESPONSE_GRP;
                                                break;
                                }
                                $this->in_response = TRUE;
                                $this->response = new ilQTIResponse($response_type);
                                $this->response->setFlow($this->flow);
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "ident":
                                                                $this->response->setIdent($value);
                                                                break;
                                                        case "rtiming":
                                                                $this->response->setRTiming($value);
                                                                break;
                                                        case "rcardinality":
                                                                $this->response->setRCardinality($value);
                                                                break;
                                                        case "numtype":
                                                                $this->response->setNumtype($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "item":
                                include_once("./assessment/classes/QTI/class.ilQTIItem.php");
                                $this->gap_index = 0;
                                $this->item =& $this->items[array_push($this->items, new ilQTIItem())-1];
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "ident":
                                                                $this->item->setIdent($value);
                                                                if (count($this->import_idents) > 0)
                                                                {
                                                                        if (!in_array($value, $this->import_idents))
                                                                        {
                                                                                $this->do_nothing = TRUE;
                                                                        }
                                                                }
                                                                break;
                                                        case "title":
                                                                $this->item->setTitle($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                        case "resprocessing":
                                include_once("./assessment/classes/QTI/class.ilQTIResprocessing.php");
                                $this->resprocessing = new ilQTIResprocessing();
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "scoremodel":
                                                                $this->resprocessing->setScoremodel($value);
                                                                break;
                                                }
                                        }
                                }
                                break;
                }
        }

Here is the caller graph for this function:

ilQTIParser::handlerParseCharacterData ( a_xml_parser,
a_data 
)

handler for character data

Definition at line 1322 of file class.ilQTIParser.php.

References getParent().

Referenced by handlerCharacterData().

        {
                if ($this->do_nothing) return;
                $this->characterbuffer .= $a_data;
                $a_data = $this->characterbuffer;
                switch ($this->qti_element)
                {
                        case "fieldlabel":
                                $this->metadata["label"] = $a_data;
                                break;
                        case "fieldentry":
                                $this->metadata["entry"] = $a_data;
                                break;
                        case "response_label":
                                if ($this->response_label != NULL)
                                {
                                        $this->response_label->setContent($a_data);
                                }
                                break;
                        case "setvar":
                                if ($this->setvar != NULL)
                                {
                                        $this->setvar->setContent($a_data);
                                }
                                break;
                        case "displayfeedback":
                                if ($this->displayfeedback != NULL)
                                {
                                        $this->displayfeedback->setContent($a_data);
                                }
                                break;
                        case "varequal":
                        case "varlt":
                        case "varlte":
                        case "vargt":
                        case "vargte":
                        case "varsubset":
                        case "varinside":
                        case "varsubstring":
                                if ($this->responsevar != NULL)
                                {
                                        $this->responsevar->setContent($a_data);
                                }
                                break;
                        case "decvar":
                                if (strlen($a_data))
                                {
                                        if ($this->decvar != NULL)
                                        {
                                                $this->decvar->setContent($a_data);
                                        }
                                }
                                break;
                        case "mattext":
                                if ($this->mattext != NULL)
                                {
                                        $this->mattext->setContent($a_data);
                                }
                                break;
                        case "matapplet":
                                if ($this->matapplet != NULL)
                                {
                                        $this->matapplet->setContent($a_data);
                                }
                                break;
                        case "matimage":
                                if ($this->matimage != NULL)
                                {
                                        $this->matimage->setContent($a_data);
                                }
                                break;
                        case "duration":
                                switch ($this->getParent($a_xml_parser))
                                {
                                        case "assessment":
                                                // to be done
                                                break;
                                        case "section":
                                                // to be done
                                                break;
                                        case "item":
                                                $this->item->setDuration($a_data);
                                                break;
                                }
                                break;
                        case "qticomment":
                                switch ($this->getParent($a_xml_parser))
                                {
                                        case "item":
                                                $this->item->setComment($a_data);
                                                break;
                                        case "assessment":
                                                $this->assessment->setComment($a_data);
                                                break;
                                        default:
                                                break;
                                }
                                break;
                }
                $this->sametag = TRUE;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilQTIParser::handlerParseEndTag ( a_xml_parser,
a_name 
)

handler for end of element parser

Definition at line 974 of file class.ilQTIParser.php.

References $flow_mat, $presentation, and getParent().

Referenced by handlerEndTag().

        {
                if (($this->do_nothing) && (strcmp(strtolower($a_name), "item") != 0)) return;
                switch (strtolower($a_name))
                {
                        case "assessment":
                                if (is_object($this->tst_object))
                                {
                                        $this->tst_object->fromXML($this->assessment);
                                }
                                $this->in_assessment = FALSE;
                                break;
                        case "assessmentcontrol":
                                $this->assessment->addAssessmentcontrol($this->assessmentcontrol);
                                $this->assessmentcontrol = NULL;
                                break;
                        case "objectives":
                                if (strcmp(strtolower($this->getParent($a_xml_parser)), "assessment") == 0)
                                {
                                        $this->assessment->addObjectives($this->objectives);
                                }
                                $this->in_objectives = FALSE;
                                break;
                        case "itemmetadata":
                                $this->in_itemmetadata = FALSE;
                                break;
                        case "qtimetadatafield":
                                // handle only specific ILIAS metadata
                                switch ($this->metadata["label"])
                                {
                                        case "ILIAS_VERSION":
                                                break;
                                        case "QUESTIONTYPE":
                                                if ($this->item != NULL)
                                                {
                                                        $this->item->setQuestiontype($this->metadata["entry"]);
                                                }
                                                break;
                                        case "AUTHOR":
                                                if ($this->item != NULL)
                                                {
                                                        $this->item->setAuthor($this->metadata["entry"]);
                                                }
                                        default:
                                                if ($this->item != NULL)
                                                {
                                                        $this->item->addMetadata($this->metadata);
                                                }
                                                break;
                                }
                                if ($this->in_assessment)
                                {
                                        $this->assessment->addQtiMetadata($this->metadata);
                                }
                                $this->metadata = array("label" => "", "entry" => "");
                                break;
                        case "flow":
                                $this->flow--;
                                break;
                        case "flow_mat":
                                if (count($this->flow_mat))
                                {
                                        $flow_mat = array_pop($this->flow_mat);
                                        if (count($this->flow_mat))
                                        {
                                                $this->flow_mat[count($this->flow_mat)-1]->addFlow_mat($flow_mat);
                                        }
                                        else if ($this->itemfeedback != NULL)
                                        {
                                                $this->itemfeedback->addFlow_mat($flow_mat);
                                        }
                                        else if ($this->response_label != NULL)
                                        {
                                                $this->response_label->addFlow_mat($flow_mat);
                                        }
                                }
                                break;
                        case "itemfeedback":
                                if ($this->item != NULL)
                                {
                                        if ($this->itemfeedback != NULL)
                                        {
                                                $this->item->addItemfeedback($this->itemfeedback);
                                        }
                                }
                                $this->itemfeedback = NULL;
                                break;
                        case "displayfeedback":
                                if ($this->respcondition != NULL)
                                {
                                        if ($this->displayfeedback != NULL)
                                        {
                                                $this->respcondition->addDisplayfeedback($this->displayfeedback);
                                        }
                                }
                                $this->displayfeedback = NULL;
                                break;
                        case "setvar":
                                if ($this->respcondition != NULL)
                                {
                                        if ($this->setvar != NULL)
                                        {
                                                $this->respcondition->addSetvar($this->setvar);
                                        }
                                }
                                $this->setvar = NULL;
                                break;
                        case "conditionvar":
                                if ($this->respcondition != NULL)
                                {
                                        $this->respcondition->setConditionvar($this->conditionvar);
                                }
                                $this->conditionvar = NULL;
                                break;
                        case "varequal":
                        case "varlt":
                        case "varlte":
                        case "vargt":
                        case "vargte":
                        case "varsubset":
                        case "varinside":
                        case "varsubstring":
                                if ($this->conditionvar != NULL)
                                {
                                        if ($this->responsevar != NULL)
                                        {
                                                $this->conditionvar->addResponseVar($this->responsevar);
                                        }
                                }
                                $this->responsevar = NULL;
                                break;
                        case "respcondition":
                                if ($this->resprocessing != NULL)
                                {
                                        $this->resprocessing->addRespcondition($this->respcondition);
                                }
                                $this->respcondition = NULL;
                                break;
                        case "outcomes":
                                if ($this->resprocessing != NULL)
                                {
                                        $this->resprocessing->setOutcomes($this->outcomes);
                                }
                                $this->outcomes = NULL;
                                break;
                        case "decvar":
                                if ($this->outcomes != NULL)
                                {
                                        $this->outcomes->addDecvar($this->decvar);
                                }
                                $this->decvar = NULL;
                                break;
                        case "presentation":
                                $this->in_presentation = FALSE;
                                if ($this->presentation != NULL)
                                {
                                        if ($this->item != NULL)
                                        {
                                                $this->item->setPresentation($this->presentation);
                                        }
                                }
                                $this->presentation = NULL;
                                break;
                        case "response_label":
                                if ($this->render_type != NULL)
                                {
                                        $this->render_type->addResponseLabel($this->response_label);
                                        $this->response_label = NULL;
                                }
                                break;
                        case "render_choice":
                        case "render_hotspot":
                        case "render_fib":
                                if ($this->in_response)
                                {
                                        if ($this->response != NULL)
                                        {
                                                if ($this->render_type != NULL)
                                                {
                                                        $this->response->setRenderType($this->render_type);
                                                        $this->render_type = NULL;
                                                }
                                        }
                                }
                                break;
                        case "response_lid":
                        case "response_xy":
                        case "response_str":
                        case "response_num":
                        case "response_grp":
                                $this->gap_index++;
                                if ($this->presentation != NULL)
                                {
                                        if ($this->response != NULL)
                                        {
                                                $this->presentation->addResponse($this->response);
                                                if ($this->item != NULL)
                                                {
                                                        $this->item->addPresentationitem($this->response);
                                                }
                                        }
                                }
                                $this->response = NULL;
                                $this->in_response = FALSE;
                                break;
                        case "item":
                                if ($this->do_nothing)
                                {
                                        $this->do_nothing = FALSE;
                                        return;
                                }
                                if (strlen($this->item->getQuestionType()))
                                {
                                        // this is an ILIAS QTI question
                                }
                                else
                                {
                                        // this is a QTI question which wasn't generated by ILIAS
                                }
                                global $ilDB;
                                global $ilUser;
                                // save the item directly to save memory
                                // the database id's of the created items are exported. if the import fails
                                // ILIAS can delete the already imported items
                                
                                // problems: the object id of the parent questionpool is not yet known. must be set later
                                //           the complete flag must be calculated?
                                $qt = $this->item->determineQuestionType();
                                $presentation = $this->item->getPresentation(); 
                                if (file_exists("./assessment/classes/class.$qt.php"))
                                {
                                        include_once "./assessment/classes/class.$qt.php";
                                        $question = new $qt();
                                        $question->fromXML($this->item, $this->qpl_id, $this->tst_id, $this->tst_object, $this->question_counter, $this->import_mapping);
                                }
                                break;
                        case "material":
                                if ($this->material)
                                {
                                        if (strcmp($this->material->getLabel(), "suggested_solution") == 0)
                                        {
                                                $mat = $this->material->getMaterial(0);
                                                $this->item->addSuggestedSolution($mat["material"], $this->gap_index);
                                        }
                                        if ($this->in_objectives)
                                        {
                                                $this->objectives->addMaterial($this->material);
                                        }
                                        else if (($this->render_type != NULL) && (strcmp(strtolower($this->getParent($a_xml_parser)), "render_hotspot") == 0))
                                        {
                                                $this->render_type->addMaterial($this->material);
                                        }
                                        else if (count($this->flow_mat) && (strcmp(strtolower($this->getParent($a_xml_parser)), "flow_mat") == 0))
                                        {
                                                $this->flow_mat[count($this->flow_mat)-1]->addMaterial($this->material);
                                        }
                                        else if ($this->itemfeedback != NULL)
                                        {
                                                $this->itemfeedback->addMaterial($this->material);
                                        }
                                        else if ($this->response_label != NULL)
                                        {
                                                $this->response_label->addMaterial($this->material);
                                        }
                                        else if ($this->response != NULL)
                                        {
                                                if ($this->response->hasRendering())
                                                {
                                                        $this->response->setMaterial2($this->material);
                                                }
                                                else
                                                {
                                                        $this->response->setMaterial1($this->material);
                                                }
                                        }
                                        elseif (($this->in_presentation) && (!$this->in_response))
                                        {
                                                if (!is_object($this->item->getQuestiontext()))
                                                {
                                                        $this->item->setQuestiontext($this->material);
                                                }
                                                $this->presentation->addMaterial($this->material);
                                        }
                                        else if ($this->presentation != NULL)
                                        {
                                                $this->presentation->addMaterial($this->material);
                                                if ($this->item != NULL)
                                                {
                                                        $this->item->addPresentationitem($this->material);
                                                }
                                        }
                                }
                                $this->material = NULL;
                                break;
                        case "matimage";
                                if ($this->material != NULL)
                                {
                                        if ($this->matimage != NULL)
                                        {
                                                $this->material->addMatimage($this->matimage);
                                        }
                                }
                                $this->matimage = NULL;
                                break;
                        case "resprocessing":
                                if ($this->item != NULL)
                                {
                                        $this->item->addResprocessing($this->resprocessing);
                                }
                                $this->resprocessing = NULL;
                                break;
                        case "mattext":
                                if ($this->material != NULL)
                                {
                                        $this->material->addMattext($this->mattext);
                                }
                                $this->mattext = NULL;
                                break;
                        case "matapplet":
                                if ($this->material != NULL)
                                {
                                        $this->material->addMatapplet($this->matapplet);
                                }
                                $this->matapplet = NULL;
                                break;
                }
                $this->depth[$a_xml_parser]--;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilQTIParser::handlerVerifyBeginTag ( a_xml_parser,
a_name,
a_attribs 
)

handler for begin of element verification

Definition at line 1427 of file class.ilQTIParser.php.

References $title.

Referenced by handlerBeginTag().

        {
                switch (strtolower($a_name))
                {
                        case "questestinterop":
                                $this->verifyroot = true;
                                break;
                        case "qtimetadatafield":
                                $this->verifymetadatafield = 1;
                                break;
                        case "fieldlabel":
                                $this->verifyfieldlabeltext = "";
                                if ($this->verifymetadatafield == 1) $this->verifyfieldlabel = 1;
                                break;
                        case "fieldentry":
                                $this->verifyfieldentrytext = "";
                                if ($this->verifymetadatafield == 1) $this->verifyfieldentry = 1;
                                break;
                        case "item":
                                $title = "";
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "title":
                                                                $title = $value;
                                                                break;
                                                }
                                        }
                                }
                                array_push($this->founditems, array("title" => "$title", "type" => "", "ident" => $a_attribs["ident"]));
                                break;
                        case "response_lid":
                                if (strlen($this->founditems[count($this->founditems)-1]["type"]) == 0)
                                {
                                        // test for non ILIAS generated question types
                                        if (is_array($a_attribs))
                                        {
                                                foreach ($a_attribs as $attribute => $value)
                                                {
                                                        switch (strtolower($attribute))
                                                        {
                                                                case "rcardinality":
                                                                        include_once "./assessment/classes/QTI/class.ilQTIItem.php";
                                                                        switch (strtolower($value))
                                                                        {
                                                                                case "single":
                                                                                        $this->founditems[count($this->founditems)-1]["type"] = QT_MULTIPLE_CHOICE_SR;
                                                                                        break;
                                                                                case "multiple":
                                                                                        $this->founditems[count($this->founditems)-1]["type"] = QT_MULTIPLE_CHOICE_MR;
                                                                                        break;
                                                                                case "ordered":
                                                                                        $this->founditems[count($this->founditems)-1]["type"] = QT_ORDERING;
                                                                                        break;
                                                                        }
                                                                        break;
                                                        }
                                                }
                                        }
                                }
                                break;
                        case "response_str":
                                if (strlen($this->founditems[count($this->founditems)-1]["type"]) == 0)
                                {
                                        // test for non ILIAS generated question types
                                        if (is_array($a_attribs))
                                        {
                                                foreach ($a_attribs as $attribute => $value)
                                                {
                                                        switch (strtolower($attribute))
                                                        {
                                                                case "rcardinality":
                                                                        include_once "./assessment/classes/QTI/class.ilQTIItem.php";
                                                                        switch (strtolower($value))
                                                                        {
                                                                                case "single":
                                                                                        $this->founditems[count($this->founditems)-1]["type"] = QT_CLOZE;
                                                                                        break;
                                                                                case "ordered":
                                                                                        $this->founditems[count($this->founditems)-1]["type"] = QT_TEXT;
                                                                                        break;
                                                                        }
                                                                        break;
                                                        }
                                                }
                                        }
                                }
                                break;
                        case "response_xy":
                                if (strlen($this->founditems[count($this->founditems)-1]["type"]) == 0)
                                {
                                        $this->founditems[count($this->founditems)-1]["type"] = QT_IMAGEMAP;
                                }
                                break;
                        case "response_num":
                                if (strlen($this->founditems[count($this->founditems)-1]["type"]) == 0)
                                {
                                        $this->founditems[count($this->founditems)-1]["type"] = QT_NUMERIC;
                                }
                                break;
                        case "response_grp":
                                if (strlen($this->founditems[count($this->founditems)-1]["type"]) == 0)
                                {
                                        $this->founditems[count($this->founditems)-1]["type"] = QT_MATCHING;
                                }
                                break;
                        case "qticomment":
                                // check for "old" ILIAS qti format (not well formed)
                                $this->verifyqticomment = 1;
                                break;
                        case "presentation":
                                if (is_array($a_attribs))
                                {
                                        foreach ($a_attribs as $attribute => $value)
                                        {
                                                switch (strtolower($attribute))
                                                {
                                                        case "label":
                                                                $this->founditems[count($this->founditems)-1]["title"] = $value;
                                                                break;
                                                }
                                        }
                                }
                                break;
                }
        }

Here is the caller graph for this function:

ilQTIParser::handlerVerifyCharacterData ( a_xml_parser,
a_data 
)

handler for character data verification

Definition at line 1587 of file class.ilQTIParser.php.

Referenced by handlerCharacterData().

        {
                if ($this->verifyqticomment == 1)
                {
                        if (preg_match("/Questiontype\=(.*)/", $a_data, $matches))
                        {
                                if (count($this->founditems))
                                {
                                        $this->founditems[count($this->founditems)-1]["type"] = $matches[1];
                                }
                        }
                }
                else if ($this->verifyfieldlabel == 1)
                {
                        $this->verifyfieldlabeltext = $a_data;
                }
                else if ($this->verifyfieldentry == 1)
                {
                        $this->verifyfieldentrytext = $a_data;
                }
        }

Here is the caller graph for this function:

ilQTIParser::handlerVerifyEndTag ( a_xml_parser,
a_name 
)

handler for end of element verification

Definition at line 1560 of file class.ilQTIParser.php.

Referenced by handlerEndTag().

        {
                switch (strtolower($a_name))
                {
                        case "qticomment":
                                // check for "old" ILIAS qti format (not well formed)
                                $this->verifyqticomment = 0;
                                break;
                        case "qtimetadatafield":
                                $this->verifymetadatafield = 0;
                                if (strcmp($this->verifyfieldlabeltext, "QUESTIONTYPE") == 0)
                                {
                                        $this->founditems[count($this->founditems)-1]["type"] = $this->verifyfieldentrytext;
                                }
                                break;
                        case "fieldlabel":
                                $this->verifyfieldlabel = 0;
                                break;
                        case "fieldentry":
                                $this->verifyfieldentry = 0;
                                break;
                }
        }

Here is the caller graph for this function:

ilQTIParser::ilQTIParser ( a_xml_file,
a_mode = IL_MO_PARSE_QTI,
a_qpl_id = 0,
a_import_idents = "" 
)

Constructor.

Parameters:
string $a_xml_file xml file
integer $a_mode Parser mode IL_MO_PARSE_QTI | IL_MO_VERIFY_QTI public

Definition at line 103 of file class.ilQTIParser.php.

References $lng, ilSaxParser::ilSaxParser(), and setParserMode().

        {
                global $lng;

                $this->setParserMode($a_mode);

                parent::ilSaxParser($a_xml_file);

                $this->qpl_id = $a_qpl_id;
                $this->import_idents = array();
                if (is_array($a_import_idents))
                {
                        $this->import_idents =& $a_import_idents;
                }
                
                $this->lng =& $lng;
                $this->hasRootElement = FALSE;
                $this->import_mapping = array();
                $this->assessments = array();
                $this->assessment = NULL;
                $this->section = NULL;
                $this->path = array();
                $this->items = array();
                $this->item = NULL;
                $this->depth = array();
                $this->do_nothing = FALSE;
                $this->qti_element = "";
                $this->in_presentation = FALSE;
                $this->in_objectives = FALSE;
                $this->in_reponse = FALSE;
                $this->render_type = NULL;
                $this->render_hotspot = NULL;
                $this->response_label = NULL;
                $this->material = NULL;
                $this->response = NULL;
                $this->assessmentcontrol = NULL;
                $this->objectives = NULL;
                $this->matimage = NULL;
                $this->resprocessing = NULL;
                $this->outcomes = NULL;
                $this->decvar = NULL;
                $this->respcondition = NULL;
                $this->setvar = NULL;
                $this->displayfeedback = NULL;
                $this->itemfeedback = NULL;
                $this->flow_mat = array();
                $this->question_counter = 1;
                $this->flow = 0;
                $this->gap_index = 0;
                $this->presentation = NULL;
                $this->mattext = NULL;
                $this->matapplet = NULL;
                $this->sametag = FALSE;
                $this->in_assessment = FALSE;
                $this->characterbuffer = "";
                $this->metadata = array("label" => "", "entry" => "");
        }

Here is the call graph for this function:

ilQTIParser::setHandlers ( a_xml_parser  ) 

set event handler should be overwritten by inherited class private

Reimplemented from ilSaxParser.

Definition at line 189 of file class.ilQTIParser.php.

        {
                xml_set_object($a_xml_parser,$this);
                xml_set_element_handler($a_xml_parser,'handlerBeginTag','handlerEndTag');
                xml_set_character_data_handler($a_xml_parser,'handlerCharacterData');
        }

ilQTIParser::setParserMode ( a_mode = IL_MO_PARSE_QTI  ) 

Definition at line 170 of file class.ilQTIParser.php.

Referenced by ilQTIParser().

        {
                $this->parser_mode = $a_mode;
                $this->founditems = array();
                $this->verifyroot = false;
                $this->verifyqticomment = 0;
                $this->verifymetadatafield = 0;
                $this->verifyfieldlabel = 0;
                $this->verifyfieldentry = 0;
                $this->verifyfieldlabeltext = "";
                $this->verifyfieldentrytext = "";
                $this->question_counter = 1;
        }

Here is the caller graph for this function:

ilQTIParser::setTestObject ( &$  a_tst_object  ) 

Definition at line 161 of file class.ilQTIParser.php.

        {
                $this->tst_object =& $a_tst_object;
                if (is_object($a_tst_object))
                {
                        $this->tst_id = $this->tst_object->getId();
                }
        }

ilQTIParser::startParsing (  ) 

stores xml data in array

private

Reimplemented from ilSaxParser.

Definition at line 196 of file class.ilQTIParser.php.

        {
                $this->question_counter = 1;
                parent::startParsing();
                return FALSE;
        }


Field Documentation

ilQTIParser::$assessment

Definition at line 76 of file class.ilQTIParser.php.

ilQTIParser::$assessmentcontrol

Definition at line 77 of file class.ilQTIParser.php.

ilQTIParser::$assessments

Definition at line 75 of file class.ilQTIParser.php.

ilQTIParser::$characterbuffer

Definition at line 66 of file class.ilQTIParser.php.

ilQTIParser::$conditionvar

Definition at line 67 of file class.ilQTIParser.php.

ilQTIParser::$decvar

Definition at line 56 of file class.ilQTIParser.php.

ilQTIParser::$depth

Definition at line 45 of file class.ilQTIParser.php.

ilQTIParser::$displayfeedback

Definition at line 59 of file class.ilQTIParser.php.

ilQTIParser::$do_nothing

Definition at line 73 of file class.ilQTIParser.php.

ilQTIParser::$flow

Definition at line 62 of file class.ilQTIParser.php.

ilQTIParser::$flow_mat

Definition at line 61 of file class.ilQTIParser.php.

Referenced by handlerParseEndTag().

ilQTIParser::$founditems = array()

Definition at line 86 of file class.ilQTIParser.php.

ilQTIParser::$gap_index

Definition at line 74 of file class.ilQTIParser.php.

ilQTIParser::$hasRootElement

Definition at line 41 of file class.ilQTIParser.php.

ilQTIParser::$import_idents

Definition at line 69 of file class.ilQTIParser.php.

ilQTIParser::$import_mapping

Definition at line 81 of file class.ilQTIParser.php.

ilQTIParser::$in_assessment = FALSE

Definition at line 79 of file class.ilQTIParser.php.

ilQTIParser::$in_itemmetadata

Definition at line 83 of file class.ilQTIParser.php.

ilQTIParser::$in_objectives = FALSE

Definition at line 84 of file class.ilQTIParser.php.

ilQTIParser::$in_presentation

Definition at line 47 of file class.ilQTIParser.php.

ilQTIParser::$in_response

Definition at line 48 of file class.ilQTIParser.php.

ilQTIParser::$item

Definition at line 44 of file class.ilQTIParser.php.

ilQTIParser::$itemfeedback

Definition at line 60 of file class.ilQTIParser.php.

ilQTIParser::$items

Definition at line 43 of file class.ilQTIParser.php.

ilQTIParser::$lng

Reimplemented from ilSaxParser.

Definition at line 40 of file class.ilQTIParser.php.

Referenced by ilQTIParser().

ilQTIParser::$material

Definition at line 51 of file class.ilQTIParser.php.

ilQTIParser::$matimage

Definition at line 52 of file class.ilQTIParser.php.

ilQTIParser::$mattext

Definition at line 64 of file class.ilQTIParser.php.

ilQTIParser::$objectives

Definition at line 78 of file class.ilQTIParser.php.

ilQTIParser::$outcomes

Definition at line 55 of file class.ilQTIParser.php.

ilQTIParser::$parser_mode

Definition at line 68 of file class.ilQTIParser.php.

ilQTIParser::$path

Definition at line 42 of file class.ilQTIParser.php.

ilQTIParser::$presentation

Definition at line 63 of file class.ilQTIParser.php.

Referenced by handlerParseEndTag().

ilQTIParser::$qpl_id

Definition at line 70 of file class.ilQTIParser.php.

ilQTIParser::$qti_element

Definition at line 46 of file class.ilQTIParser.php.

ilQTIParser::$question_counter = 1

Definition at line 82 of file class.ilQTIParser.php.

ilQTIParser::$render_type

Definition at line 49 of file class.ilQTIParser.php.

ilQTIParser::$respcondition

Definition at line 57 of file class.ilQTIParser.php.

ilQTIParser::$response

Definition at line 53 of file class.ilQTIParser.php.

ilQTIParser::$response_label

Definition at line 50 of file class.ilQTIParser.php.

ilQTIParser::$resprocessing

Definition at line 54 of file class.ilQTIParser.php.

ilQTIParser::$sametag

Definition at line 65 of file class.ilQTIParser.php.

ilQTIParser::$section

Definition at line 80 of file class.ilQTIParser.php.

ilQTIParser::$setvar

Definition at line 58 of file class.ilQTIParser.php.

ilQTIParser::$tst_id

Definition at line 71 of file class.ilQTIParser.php.

ilQTIParser::$tst_object

Definition at line 72 of file class.ilQTIParser.php.

ilQTIParser::$verifyfieldentry = 0

Definition at line 92 of file class.ilQTIParser.php.

ilQTIParser::$verifyfieldentrytext = ""

Definition at line 93 of file class.ilQTIParser.php.

ilQTIParser::$verifyfieldlabel = 0

Definition at line 90 of file class.ilQTIParser.php.

ilQTIParser::$verifyfieldlabeltext = ""

Definition at line 91 of file class.ilQTIParser.php.

ilQTIParser::$verifymetadatafield = 0

Definition at line 89 of file class.ilQTIParser.php.

ilQTIParser::$verifyqticomment = 0

Definition at line 88 of file class.ilQTIParser.php.

ilQTIParser::$verifyroot = false

Definition at line 87 of file class.ilQTIParser.php.


The documentation for this class was generated from the following file: