当前位置: 首页>>代码示例>>PHP>>正文


PHP ilXmlWriter::xmlEndTag方法代码示例

本文整理汇总了PHP中ilXmlWriter::xmlEndTag方法的典型用法代码示例。如果您正苦于以下问题:PHP ilXmlWriter::xmlEndTag方法的具体用法?PHP ilXmlWriter::xmlEndTag怎么用?PHP ilXmlWriter::xmlEndTag使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ilXmlWriter的用法示例。


在下文中一共展示了ilXmlWriter::xmlEndTag方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: simpleExport

 public function simpleExport($orgu_ref_id)
 {
     $nodes = $this->getStructure($orgu_ref_id);
     $writer = new ilXmlWriter();
     $writer->xmlStartTag("OrgUnits");
     foreach ($nodes as $orgu_ref_id) {
         $orgu = new ilObjOrgUnit($orgu_ref_id);
         if ($orgu->getRefId() == ilObjOrgUnit::getRootOrgRefId()) {
             continue;
         }
         $attributes = $this->getAttributesForOrgu($orgu);
         $writer->xmlStartTag("OrgUnit", $attributes);
         $writer->xmlElement("external_id", null, $this->buildExternalId($orgu_ref_id));
         $writer->xmlElement("title", null, $orgu->getTitle());
         $writer->xmlElement("description", null, $orgu->getDescription());
         $writer->xmlEndTag("OrgUnit");
     }
     $writer->xmlEndTag("OrgUnits");
     return $writer;
 }
开发者ID:arlendotcn,项目名称:ilias,代码行数:20,代码来源:class.ilOrgUnitExporter.php

示例2: toXML

 /**
  * Returns a QTI xml representation of the question
  *
  * Returns a QTI xml representation of the question and sets the internal
  * domxml variable with the DOM XML representation of the QTI xml representation
  *
  * @return string The QTI xml representation of the question
  * @access public
  */
 function toXML($a_include_header = true, $a_include_binary = true, $a_shuffle = false, $test_output = false, $force_image_references = false)
 {
     global $ilias;
     include_once "./Services/Xml/classes/class.ilXmlWriter.php";
     $a_xml_writer = new ilXmlWriter();
     // set xml header
     $a_xml_writer->xmlHeader();
     $a_xml_writer->xmlStartTag("questestinterop");
     $attrs = array("ident" => "il_" . IL_INST_ID . "_qst_" . $this->object->getId(), "title" => $this->object->getTitle(), "maxattempts" => $this->object->getNrOfTries());
     $a_xml_writer->xmlStartTag("item", $attrs);
     // add question description
     $a_xml_writer->xmlElement("qticomment", NULL, $this->object->getComment());
     // add estimated working time
     $workingtime = $this->object->getEstimatedWorkingTime();
     $duration = sprintf("P0Y0M0DT%dH%dM%dS", $workingtime["h"], $workingtime["m"], $workingtime["s"]);
     $a_xml_writer->xmlElement("duration", NULL, $duration);
     // add ILIAS specific metadata
     $a_xml_writer->xmlStartTag("itemmetadata");
     $a_xml_writer->xmlStartTag("qtimetadata");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "ILIAS_VERSION");
     $a_xml_writer->xmlElement("fieldentry", NULL, $ilias->getSetting("ilias_version"));
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "QUESTIONTYPE");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getQuestionType());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "AUTHOR");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getAuthor());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "points");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getPoints());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     // save the accounts definition
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "accounts_content");
     $a_xml_writer->xmlElement("fieldentry", NULL, base64_encode($this->object->getAccountsXML()));
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     // save the question parts
     $parts = array();
     foreach ($this->object->getParts() as $part_obj) {
         $part = array("part_id" => $part_obj->getPartId(), "position" => $part_obj->getPosition(), "text" => $part_obj->getText(), "max_points" => $part_obj->getMaxPoints(), "max_lines" => $part_obj->getMaxLines(), "booking_def" => base64_encode($part_obj->getBookingXML()));
         $parts[] = $part;
     }
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "booking_parts");
     $a_xml_writer->xmlElement("fieldentry", NULL, serialize($parts));
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     // additional content editing information
     $this->addAdditionalContentEditingModeInformation($a_xml_writer);
     $this->addGeneralMetadata($a_xml_writer);
     $a_xml_writer->xmlEndTag("qtimetadata");
     $a_xml_writer->xmlEndTag("itemmetadata");
     // PART I: qti presentation
     $attrs = array("label" => $this->object->getTitle());
     $a_xml_writer->xmlStartTag("presentation", $attrs);
     // add flow to presentation
     $a_xml_writer->xmlStartTag("flow");
     // add material with question text to presentation
     $this->object->addQTIMaterial($a_xml_writer, $this->object->getQuestion());
     // add material with text of question parts to presentation
     foreach ($this->object->getParts() as $part_obj) {
         $this->object->addQTIMaterial($a_xml_writer, $part_obj->getText());
     }
     $a_xml_writer->xmlEndTag("flow");
     $a_xml_writer->xmlEndTag("presentation");
     // PART III: qti itemfeedback
     $feedback_allcorrect = $this->object->feedbackOBJ->getGenericFeedbackExportPresentation($this->object->getId(), true);
     $feedback_onenotcorrect = $this->object->feedbackOBJ->getGenericFeedbackExportPresentation($this->object->getId(), false);
     $attrs = array("ident" => "Correct", "view" => "All");
     $a_xml_writer->xmlStartTag("itemfeedback", $attrs);
     // qti flow_mat
     $a_xml_writer->xmlStartTag("flow_mat");
     $a_xml_writer->xmlStartTag("material");
     $a_xml_writer->xmlElement("mattext");
     $a_xml_writer->xmlEndTag("material");
     $a_xml_writer->xmlEndTag("flow_mat");
     $a_xml_writer->xmlEndTag("itemfeedback");
     if (strlen($feedback_allcorrect)) {
         $attrs = array("ident" => "response_allcorrect", "view" => "All");
         $a_xml_writer->xmlStartTag("itemfeedback", $attrs);
         // qti flow_mat
         $a_xml_writer->xmlStartTag("flow_mat");
         $this->object->addQTIMaterial($a_xml_writer, $feedback_allcorrect);
         $a_xml_writer->xmlEndTag("flow_mat");
         $a_xml_writer->xmlEndTag("itemfeedback");
     }
     if (strlen($feedback_onenotcorrect)) {
         $attrs = array("ident" => "response_onenotcorrect", "view" => "All");
//.........这里部分代码省略.........
开发者ID:ilifau,项目名称:assAccountingQuestion,代码行数:101,代码来源:class.assAccountingQuestionExport.php

示例3: toXML

 /**
  * export questions to xml
  */
 function toXML($questions)
 {
     if (!is_array($questions)) {
         $questions =& $this->getQuestions();
     }
     if (count($questions) == 0) {
         $questions =& $this->getQuestions();
     }
     $xml = "";
     include_once "./Services/Xml/classes/class.ilXmlWriter.php";
     $a_xml_writer = new ilXmlWriter();
     // set xml header
     $a_xml_writer->xmlHeader();
     $attrs = array("xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance", "xsi:noNamespaceSchemaLocation" => "http://www.ilias.de/download/xsd/ilias_survey_4_2.xsd");
     $a_xml_writer->xmlStartTag("surveyobject", $attrs);
     $attrs = array("id" => "qpl_" . $this->getId(), "label" => $this->getTitle(), "online" => $this->getOnline());
     $a_xml_writer->xmlStartTag("surveyquestions", $attrs);
     $a_xml_writer->xmlElement("dummy", NULL, "dummy");
     // add ILIAS specific metadata
     $a_xml_writer->xmlStartTag("metadata");
     $a_xml_writer->xmlStartTag("metadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "SCORM");
     include_once "./Services/MetaData/classes/class.ilMD.php";
     $md = new ilMD($this->getId(), 0, $this->getType());
     $writer = new ilXmlWriter();
     $md->toXml($writer);
     $metadata = $writer->xmlDumpMem();
     $a_xml_writer->xmlElement("fieldentry", NULL, $metadata);
     $a_xml_writer->xmlEndTag("metadatafield");
     $a_xml_writer->xmlEndTag("metadata");
     $a_xml_writer->xmlEndTag("surveyquestions");
     $a_xml_writer->xmlEndTag("surveyobject");
     $xml = $a_xml_writer->xmlDumpMem(FALSE);
     $questionxml = "";
     foreach ($questions as $key => $value) {
         $questiontype = $this->getQuestiontype($value);
         include_once "./Modules/SurveyQuestionPool/classes/class.SurveyQuestion.php";
         SurveyQuestion::_includeClass($questiontype);
         $question = new $questiontype();
         $question->loadFromDb($value);
         $questionxml .= $question->toXML(false);
     }
     $xml = str_replace("<dummy>dummy</dummy>", $questionxml, $xml);
     return $xml;
 }
开发者ID:arlendotcn,项目名称:ilias,代码行数:48,代码来源:class.ilObjSurveyQuestionPool.php

示例4: toXML

 /**
  * Returns a QTI xml representation of the question
  *
  * Returns a QTI xml representation of the question and sets the internal
  * domxml variable with the DOM XML representation of the QTI xml representation
  *
  * @return string The QTI xml representation of the question
  * @access public
  */
 function toXML($a_include_header = true, $a_include_binary = true, $a_shuffle = false, $test_output = false, $force_image_references = false)
 {
     global $ilias;
     include_once "./Services/Xml/classes/class.ilXmlWriter.php";
     $a_xml_writer = new ilXmlWriter();
     // set xml header
     $a_xml_writer->xmlHeader();
     $a_xml_writer->xmlStartTag("questestinterop");
     $attrs = array("ident" => "il_" . IL_INST_ID . "_qst_" . $this->object->getId(), "title" => $this->object->getTitle(), "maxattempts" => $this->object->getNrOfTries());
     $a_xml_writer->xmlStartTag("item", $attrs);
     // add question description
     $a_xml_writer->xmlElement("qticomment", NULL, $this->object->getComment());
     // add estimated working time
     $workingtime = $this->object->getEstimatedWorkingTime();
     $duration = sprintf("P0Y0M0DT%dH%dM%dS", $workingtime["h"], $workingtime["m"], $workingtime["s"]);
     $a_xml_writer->xmlElement("duration", NULL, $duration);
     // add ILIAS specific metadata
     $a_xml_writer->xmlStartTag("itemmetadata");
     $a_xml_writer->xmlStartTag("qtimetadata");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "ILIAS_VERSION");
     $a_xml_writer->xmlElement("fieldentry", NULL, $ilias->getSetting("ilias_version"));
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "QUESTIONTYPE");
     $a_xml_writer->xmlElement("fieldentry", NULL, IMAGEMAP_QUESTION_IDENTIFIER);
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "AUTHOR");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getAuthor());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlEndTag("qtimetadata");
     $a_xml_writer->xmlEndTag("itemmetadata");
     // PART I: qti presentation
     $attrs = array("label" => $this->object->getTitle());
     $a_xml_writer->xmlStartTag("presentation", $attrs);
     // add flow to presentation
     $a_xml_writer->xmlStartTag("flow");
     // add material with question text to presentation
     $this->object->addQTIMaterial($a_xml_writer, $this->object->getQuestion());
     // add answers to presentation
     $attrs = array("ident" => "IM", "rcardinality" => "Single");
     $a_xml_writer->xmlStartTag("response_xy", $attrs);
     $solution = $this->object->getSuggestedSolution(0);
     if (count($solution)) {
         if (preg_match("/il_(\\d*?)_(\\w+)_(\\d+)/", $solution["internal_link"], $matches)) {
             $a_xml_writer->xmlStartTag("material");
             $intlink = "il_" . IL_INST_ID . "_" . $matches[2] . "_" . $matches[3];
             if (strcmp($matches[1], "") != 0) {
                 $intlink = $solution["internal_link"];
             }
             $attrs = array("label" => "suggested_solution");
             $a_xml_writer->xmlElement("mattext", $attrs, $intlink);
             $a_xml_writer->xmlEndTag("material");
         }
     }
     $a_xml_writer->xmlStartTag("render_hotspot");
     $a_xml_writer->xmlStartTag("material");
     $imagetype = "image/jpeg";
     if (preg_match("/.*\\.(png|gif)\$/", $this->object->getImageFilename(), $matches)) {
         $imagetype = "image/" . $matches[1];
     }
     $attrs = array("imagtype" => $imagetype, "label" => $this->object->getImageFilename());
     if ($a_include_binary) {
         if ($force_image_references) {
             $attrs["uri"] = $this->object->getImagePathWeb() . $this->object->getImageFilename();
             $a_xml_writer->xmlElement("matimage", $attrs);
         } else {
             $attrs["embedded"] = "base64";
             $imagepath = $this->object->getImagePath() . $this->object->getImageFilename();
             $fh = fopen($imagepath, "rb");
             if ($fh == false) {
                 global $ilErr;
                 $ilErr->raiseError($this->object->lng->txt("error_open_image_file"), $ilErr->MESSAGE);
                 return;
             }
             $imagefile = fread($fh, filesize($imagepath));
             fclose($fh);
             $base64 = base64_encode($imagefile);
             $a_xml_writer->xmlElement("matimage", $attrs, $base64, FALSE, FALSE);
         }
     } else {
         $a_xml_writer->xmlElement("matimage", $attrs);
     }
     $a_xml_writer->xmlEndTag("material");
     // add answers
     foreach ($this->object->getAnswers() as $index => $answer) {
         $rared = "";
         switch ($answer->getArea()) {
             case "rect":
                 $rarea = "Rectangle";
//.........这里部分代码省略.........
开发者ID:khanhnnvn,项目名称:ilias_E-learning,代码行数:101,代码来源:class.assImagemapQuestionExport.php

示例5: addQtiMetaDataField

 /**
  * adds a qti meta data field with given name and value to the passed xml writer
  * (xml writer must be in context of opened "qtimetadata" tag)
  * 
  * @final
  * @access protected
  * @param ilXmlWriter $a_xml_writer
  * @param string $fieldLabel
  * @param string $fieldValue
  */
 protected final function addQtiMetaDataField(ilXmlWriter $a_xml_writer, $fieldLabel, $fieldValue)
 {
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, $fieldLabel);
     $a_xml_writer->xmlElement("fieldentry", NULL, $fieldValue);
     $a_xml_writer->xmlEndTag("qtimetadatafield");
 }
开发者ID:arlendotcn,项目名称:ilias,代码行数:17,代码来源:class.assQuestionExport.php

示例6: toXML

 /**
  * Returns a QTI xml representation of the question and sets the internal
  * domxml variable with the DOM XML representation of the QTI xml representation
  *
  * @return string The QTI xml representation of the question
  * @access public
  */
 function toXML($a_include_header = true, $a_include_binary = true, $a_shuffle = false, $test_output = false, $force_image_references = false)
 {
     global $ilias;
     include_once "./Services/Xml/classes/class.ilXmlWriter.php";
     $a_xml_writer = new ilXmlWriter();
     // set xml header
     $a_xml_writer->xmlHeader();
     $a_xml_writer->xmlStartTag("questestinterop");
     $attrs = array("ident" => "il_" . IL_INST_ID . "_qst_" . $this->object->getId(), "title" => $this->object->getTitle(), "maxattempts" => $this->object->getNrOfTries());
     $a_xml_writer->xmlStartTag("item", $attrs);
     // add question description
     $a_xml_writer->xmlElement("qticomment", NULL, $this->object->getComment());
     // add estimated working time
     $workingtime = $this->object->getEstimatedWorkingTime();
     $duration = sprintf("P0Y0M0DT%dH%dM%dS", $workingtime["h"], $workingtime["m"], $workingtime["s"]);
     $a_xml_writer->xmlElement("duration", NULL, $duration);
     // add ILIAS specific metadata
     $a_xml_writer->xmlStartTag("itemmetadata");
     $a_xml_writer->xmlStartTag("qtimetadata");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "ILIAS_VERSION");
     $a_xml_writer->xmlElement("fieldentry", NULL, $ilias->getSetting("ilias_version"));
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "QUESTIONTYPE");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getQuestionType());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "AUTHOR");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getAuthor());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     // additional content editing information
     $this->addAdditionalContentEditingModeInformation($a_xml_writer);
     $this->addGeneralMetadata($a_xml_writer);
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "points_wrong");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getPointsWrong());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "errortext");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getErrorText());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "textsize");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getTextSize());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "errordata");
     $serialized = array();
     foreach ($this->object->getErrorData() as $data) {
         array_push($serialized, array($data->text_correct, $data->text_wrong, $data->points));
     }
     $a_xml_writer->xmlElement("fieldentry", NULL, serialize($serialized));
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlEndTag("qtimetadata");
     $a_xml_writer->xmlEndTag("itemmetadata");
     // PART I: qti presentation
     $attrs = array("label" => $this->object->getTitle());
     $a_xml_writer->xmlStartTag("presentation", $attrs);
     // add flow to presentation
     $a_xml_writer->xmlStartTag("flow");
     // add material with question text to presentation
     $this->object->addQTIMaterial($a_xml_writer, $this->object->getQuestion());
     // add answers to presentation
     $a_xml_writer->xmlEndTag("flow");
     $a_xml_writer->xmlEndTag("presentation");
     $a_xml_writer->xmlEndTag("item");
     $a_xml_writer->xmlEndTag("questestinterop");
     $xml = $a_xml_writer->xmlDumpMem(FALSE);
     if (!$a_include_header) {
         $pos = strpos($xml, "?>");
         $xml = substr($xml, $pos + 2);
     }
     return $xml;
 }
开发者ID:arlendotcn,项目名称:ilias,代码行数:82,代码来源:class.assErrorTextExport.php

示例7: toXML

 /**
  * Returns a QTI xml representation of the question
  *
  * Returns a QTI xml representation of the question and sets the internal
  * domxml variable with the DOM XML representation of the QTI xml representation
  *
  * @return string The QTI xml representation of the question
  * @access public
  */
 function toXML($a_include_header = true, $a_include_binary = true, $a_shuffle = false, $test_output = false, $force_image_references = false)
 {
     global $ilias;
     include_once "./Services/Math/classes/class.EvalMath.php";
     $eval = new EvalMath();
     $eval->suppress_errors = TRUE;
     include_once "./Services/Xml/classes/class.ilXmlWriter.php";
     $a_xml_writer = new ilXmlWriter();
     // set xml header
     $a_xml_writer->xmlHeader();
     $a_xml_writer->xmlStartTag("questestinterop");
     $attrs = array("ident" => "il_" . IL_INST_ID . "_qst_" . $this->object->getId(), "title" => $this->object->getTitle(), "maxattempts" => $this->object->getNrOfTries());
     $a_xml_writer->xmlStartTag("item", $attrs);
     // add question description
     $a_xml_writer->xmlElement("qticomment", NULL, $this->object->getComment());
     // add estimated working time
     $workingtime = $this->object->getEstimatedWorkingTime();
     $duration = sprintf("P0Y0M0DT%dH%dM%dS", $workingtime["h"], $workingtime["m"], $workingtime["s"]);
     $a_xml_writer->xmlElement("duration", NULL, $duration);
     // add ILIAS specific metadata
     $a_xml_writer->xmlStartTag("itemmetadata");
     $a_xml_writer->xmlStartTag("qtimetadata");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "ILIAS_VERSION");
     $a_xml_writer->xmlElement("fieldentry", NULL, $ilias->getSetting("ilias_version"));
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "QUESTIONTYPE");
     $a_xml_writer->xmlElement("fieldentry", NULL, CLOZE_TEST_IDENTIFIER);
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "AUTHOR");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getAuthor());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     // additional content editing information
     $this->addAdditionalContentEditingModeInformation($a_xml_writer);
     $this->addGeneralMetadata($a_xml_writer);
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "textgaprating");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getTextgapRating());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "fixedTextLength");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getFixedTextLength());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "identicalScoring");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getIdenticalScoring());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "combinations");
     $a_xml_writer->xmlElement("fieldentry", NULL, base64_encode(json_encode($this->object->getGapCombinations())));
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlEndTag("qtimetadata");
     $a_xml_writer->xmlEndTag("itemmetadata");
     // PART I: qti presentation
     $attrs = array("label" => $this->object->getTitle());
     $a_xml_writer->xmlStartTag("presentation", $attrs);
     // add flow to presentation
     $a_xml_writer->xmlStartTag("flow");
     $questionText = $this->object->getQuestion() ? $this->object->getQuestion() : '&nbsp;';
     $this->object->addQTIMaterial($a_xml_writer, $questionText);
     $text_parts = preg_split("/\\[gap.*?\\[\\/gap\\]/", $this->object->getClozeText());
     // add material with question text to presentation
     for ($i = 0; $i <= $this->object->getGapCount(); $i++) {
         $this->object->addQTIMaterial($a_xml_writer, $text_parts[$i]);
         if ($i < $this->object->getGapCount()) {
             // add gap
             $gap = $this->object->getGap($i);
             switch ($gap->getType()) {
                 case CLOZE_SELECT:
                     // comboboxes
                     $attrs = array("ident" => "gap_{$i}", "rcardinality" => "Single");
                     $a_xml_writer->xmlStartTag("response_str", $attrs);
                     $solution = $this->object->getSuggestedSolution($i);
                     if (count($solution)) {
                         if (preg_match("/il_(\\d*?)_(\\w+)_(\\d+)/", $solution["internal_link"], $matches)) {
                             $attrs = array("label" => "suggested_solution");
                             $a_xml_writer->xmlStartTag("material", $attrs);
                             $intlink = "il_" . IL_INST_ID . "_" . $matches[2] . "_" . $matches[3];
                             if (strcmp($matches[1], "") != 0) {
                                 $intlink = $solution["internal_link"];
                             }
                             $a_xml_writer->xmlElement("mattext", NULL, $intlink);
                             $a_xml_writer->xmlEndTag("material");
                         }
                     }
                     $attrs = array("shuffle" => $gap->getShuffle() ? "Yes" : "No");
                     $a_xml_writer->xmlStartTag("render_choice", $attrs);
                     // add answers
                     foreach ($gap->getItems() as $answeritem) {
//.........这里部分代码省略.........
开发者ID:arlendotcn,项目名称:ilias,代码行数:101,代码来源:class.assClozeTestExport.php

示例8: _appendXMLByObjId

 /**
  * Get xml of object values
  *
  * @param ilXmlWriter $a_xml_writer 
  * @param int $a_obj_id
  */
 public static function _appendXMLByObjId(ilXmlWriter $a_xml_writer, $a_obj_id)
 {
     $a_xml_writer->xmlStartTag('AdvancedMetaData');
     self::preloadByObjIds(array($a_obj_id));
     $values_records = self::preloadedRead(ilObject::_lookupType($a_obj_id), $a_obj_id);
     foreach ($values_records as $values_record) {
         $defs = $values_record->getDefinitions();
         foreach ($values_record->getADTGroup()->getElements() as $element_id => $element) {
             $def = $defs[$element_id];
             $value = null;
             if (!$element->isNull()) {
                 $value = $def->getValueForXML($element);
             }
             $a_xml_writer->xmlElement('Value', array('id' => $def->getImportId()), $value);
         }
     }
     $a_xml_writer->xmlEndTag('AdvancedMetaData');
 }
开发者ID:bheyser,项目名称:qplskl,代码行数:24,代码来源:class.ilAdvancedMDValues.php

示例9: toXML

 /**
  * Returns a QTI xml representation of the question
  *
  * Returns a QTI xml representation of the question and sets the internal
  * domxml variable with the DOM XML representation of the QTI xml representation
  *
  * @return string The QTI xml representation of the question
  * @access public
  */
 function toXML($a_include_header = true, $a_include_binary = true, $a_shuffle = false, $test_output = false, $force_image_references = false)
 {
     global $ilias;
     include_once 'Services/Xml/classes/class.ilXmlWriter.php';
     $a_xml_writer = new ilXmlWriter();
     // set xml header
     $a_xml_writer->xmlHeader();
     $a_xml_writer->xmlStartTag("questestinterop");
     $attrs = array("ident" => "il_" . IL_INST_ID . "_qst_" . $this->object->getId(), "title" => $this->object->getTitle());
     $a_xml_writer->xmlStartTag("item", $attrs);
     // add question description
     $a_xml_writer->xmlElement("qticomment", NULL, $this->object->getComment());
     // add estimated working time
     $workingtime = $this->object->getEstimatedWorkingTime();
     $duration = sprintf("P0Y0M0DT%dH%dM%dS", $workingtime["h"], $workingtime["m"], $workingtime["s"]);
     $a_xml_writer->xmlElement("duration", NULL, $duration);
     // add ILIAS specific metadata
     $a_xml_writer->xmlStartTag("itemmetadata");
     $a_xml_writer->xmlStartTag("qtimetadata");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "ILIAS_VERSION");
     $a_xml_writer->xmlElement("fieldentry", NULL, $ilias->getSetting("ilias_version"));
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "QUESTIONTYPE");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getQuestionType());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "AUTHOR");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getAuthor());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "points");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getPoints());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     foreach ($this->object->getVariables() as $variable) {
         $var = array("precision" => $variable->getPrecision(), "intprecision" => $variable->getIntprecision(), "rangemin" => $variable->getRangeMin(), "rangemax" => $variable->getRangeMax(), "unit" => is_object($variable->getUnit()) ? $variable->getUnit()->getUnit() : "", "unitvalue" => is_object($variable->getUnit()) ? $variable->getUnit()->getId() : "");
         $a_xml_writer->xmlStartTag("qtimetadatafield");
         $a_xml_writer->xmlElement("fieldlabel", NULL, $variable->getVariable());
         $a_xml_writer->xmlElement("fieldentry", NULL, serialize($var));
         $a_xml_writer->xmlEndTag("qtimetadatafield");
     }
     foreach ($this->object->getResults() as $result) {
         $resultunits = $this->object->getResultUnits($result);
         $ru = array();
         foreach ($resultunits as $unit) {
             array_push($ru, array("unit" => $unit->getUnit(), "unitvalue" => $unit->getId()));
         }
         $res = array("precision" => $result->getPrecision(), "tolerance" => $result->getTolerance(), "rangemin" => $result->getRangeMin(), "rangemax" => $result->getRangeMax(), "points" => $result->getPoints(), "formula" => $result->getFormula(), "rating" => $result->getRatingSimple() ? "" : array("sign" => $result->getRatingSign(), "value" => $result->getRatingValue(), "unit" => $result->getRatingUnit()), "unit" => is_object($result->getUnit()) ? $result->getUnit()->getUnit() : "", "unitvalue" => is_object($result->getUnit()) ? $result->getUnit()->getId() : "", "resultunits" => $ru);
         $a_xml_writer->xmlStartTag("qtimetadatafield");
         $a_xml_writer->xmlElement("fieldlabel", NULL, $result->getResult());
         $a_xml_writer->xmlElement("fieldentry", NULL, serialize($res));
         $a_xml_writer->xmlEndTag("qtimetadatafield");
     }
     // additional content editing information
     $this->addAdditionalContentEditingModeInformation($a_xml_writer);
     $this->addGeneralMetadata($a_xml_writer);
     $a_xml_writer->xmlEndTag("qtimetadata");
     $a_xml_writer->xmlEndTag("itemmetadata");
     // PART I: qti presentation
     $attrs = array("label" => $this->object->getTitle());
     $a_xml_writer->xmlStartTag("presentation", $attrs);
     // add flow to presentation
     $a_xml_writer->xmlStartTag("flow");
     // add material with question text to presentation
     $this->object->addQTIMaterial($a_xml_writer, $this->object->getQuestion());
     // add answers to presentation
     $a_xml_writer->xmlEndTag("flow");
     $a_xml_writer->xmlEndTag("presentation");
     $a_xml_writer->xmlEndTag("item");
     $a_xml_writer->xmlEndTag("questestinterop");
     $xml = $a_xml_writer->xmlDumpMem(FALSE);
     if (!$a_include_header) {
         $pos = strpos($xml, "?>");
         $xml = substr($xml, $pos + 2);
     }
     return $xml;
 }
开发者ID:arlendotcn,项目名称:ilias,代码行数:87,代码来源:class.assFormulaQuestionExport.php

示例10: toXML

 public function toXML($a_include_header = true, $a_include_binary = true, $a_shuffle = false, $test_output = false, $force_image_references = false)
 {
     global $ilias;
     include_once "./Services/Xml/classes/class.ilXmlWriter.php";
     $xml = new ilXmlWriter();
     // set xml header
     $xml->xmlHeader();
     $xml->xmlStartTag("questestinterop");
     $attrs = array("ident" => "il_" . IL_INST_ID . "_qst_" . $this->object->getId(), "title" => $this->object->getTitle(), "maxattempts" => $this->object->getNrOfTries());
     $xml->xmlStartTag("item", $attrs);
     // add question description
     $xml->xmlElement("qticomment", NULL, $this->object->getComment());
     // add estimated working time
     $workingtime = $this->object->getEstimatedWorkingTime();
     $duration = sprintf("P0Y0M0DT%dH%dM%dS", $workingtime["h"], $workingtime["m"], $workingtime["s"]);
     $xml->xmlElement("duration", NULL, $duration);
     // add ILIAS specific metadata
     $xml->xmlStartTag("itemmetadata");
     $xml->xmlStartTag("qtimetadata");
     $xml->xmlStartTag("qtimetadatafield");
     $xml->xmlElement("fieldlabel", NULL, "ILIAS_VERSION");
     $xml->xmlElement("fieldentry", NULL, $ilias->getSetting("ilias_version"));
     $xml->xmlEndTag("qtimetadatafield");
     $xml->xmlStartTag("qtimetadatafield");
     $xml->xmlElement("fieldlabel", NULL, "QUESTIONTYPE");
     $xml->xmlElement("fieldentry", NULL, KPRIM_CHOICE_QUESTION_IDENTIFIER);
     $xml->xmlEndTag("qtimetadatafield");
     $xml->xmlStartTag("qtimetadatafield");
     $xml->xmlElement("fieldlabel", NULL, "AUTHOR");
     $xml->xmlElement("fieldentry", NULL, $this->object->getAuthor());
     $xml->xmlEndTag("qtimetadatafield");
     // additional content editing information
     $this->addAdditionalContentEditingModeInformation($xml);
     $this->addGeneralMetadata($xml);
     $xml->xmlStartTag("qtimetadatafield");
     $xml->xmlElement("fieldlabel", NULL, "answer_type");
     $xml->xmlElement("fieldentry", NULL, $this->object->getAnswerType());
     $xml->xmlEndTag("qtimetadatafield");
     $xml->xmlStartTag("qtimetadatafield");
     $xml->xmlElement("fieldlabel", NULL, "thumb_size");
     $xml->xmlElement("fieldentry", NULL, $this->object->getThumbSize());
     $xml->xmlEndTag("qtimetadatafield");
     $xml->xmlStartTag("qtimetadatafield");
     $xml->xmlElement("fieldlabel", NULL, "option_label_setting");
     $xml->xmlElement("fieldentry", NULL, $this->object->getOptionLabel());
     $xml->xmlEndTag("qtimetadatafield");
     $xml->xmlStartTag("qtimetadatafield");
     $xml->xmlElement("fieldlabel", NULL, "custom_true_option_label");
     $xml->xmlElement("fieldentry", NULL, $this->object->getCustomTrueOptionLabel());
     $xml->xmlEndTag("qtimetadatafield");
     $xml->xmlStartTag("qtimetadatafield");
     $xml->xmlElement("fieldlabel", NULL, "custom_false_option_label");
     $xml->xmlElement("fieldentry", NULL, $this->object->getCustomFalseOptionLabel());
     $xml->xmlEndTag("qtimetadatafield");
     $xml->xmlStartTag("qtimetadatafield");
     $xml->xmlElement("fieldlabel", NULL, "feedback_setting");
     $xml->xmlElement("fieldentry", NULL, $this->object->getSpecificFeedbackSetting());
     $xml->xmlEndTag("qtimetadatafield");
     $xml->xmlEndTag("qtimetadata");
     $xml->xmlEndTag("itemmetadata");
     // PART I: qti presentation
     $attrs = array("label" => $this->object->getTitle());
     $xml->xmlStartTag("presentation", $attrs);
     // add flow to presentation
     $xml->xmlStartTag("flow");
     // add material with question text to presentation
     $this->object->addQTIMaterial($xml, $this->object->getQuestion());
     // add answers to presentation
     $attrs = array("ident" => "MCMR", "rcardinality" => "Multiple");
     $xml->xmlStartTag("response_lid", $attrs);
     $solution = $this->object->getSuggestedSolution(0);
     if (count($solution)) {
         if (preg_match("/il_(\\d*?)_(\\w+)_(\\d+)/", $solution["internal_link"], $matches)) {
             $xml->xmlStartTag("material");
             $intlink = "il_" . IL_INST_ID . "_" . $matches[2] . "_" . $matches[3];
             if (strcmp($matches[1], "") != 0) {
                 $intlink = $solution["internal_link"];
             }
             $attrs = array("label" => "suggested_solution");
             $xml->xmlElement("mattext", $attrs, $intlink);
             $xml->xmlEndTag("material");
         }
     }
     // shuffle output
     $attrs = array();
     if ($this->object->isShuffleAnswersEnabled()) {
         $attrs = array("shuffle" => "Yes");
     } else {
         $attrs = array("shuffle" => "No");
     }
     $xml->xmlStartTag("render_choice", $attrs);
     // add answers
     $answers =& $this->object->getAnswers();
     $akeys = array_keys($answers);
     foreach ($akeys as $index) {
         $answer = $this->object->getAnswer($index);
         $xml->xmlStartTag('response_label', array('ident' => $answer->getPosition()));
         if (strlen($answer->getImageFile())) {
             $this->object->addQTIMaterial($xml, $answer->getAnswertext(), FALSE, FALSE);
             $imagetype = "image/jpeg";
//.........这里部分代码省略.........
开发者ID:arlendotcn,项目名称:ilias,代码行数:101,代码来源:class.assKprimChoiceExport.php

示例11: processExporter

 /**
  * Process exporter
  *
  * @param
  * @return
  */
 function processExporter($a_comp, $a_class, $a_entity, $a_target_release, $a_id)
 {
     $success = true;
     if (!is_array($a_id)) {
         if ($a_id == "") {
             return;
         }
         $a_id = array($a_id);
     }
     // get exporter object
     $export_class_file = "./" . $a_comp . "/classes/class." . $a_class . ".php";
     //echo "1-".$export_class_file."-"; exit;
     if (!is_file($export_class_file)) {
         echo "1-not found:" . $export_class_file . "-";
         exit;
         return false;
     }
     include_once $export_class_file;
     $exp = new $a_class();
     if (!isset($this->cnt[$a_comp])) {
         $this->cnt[$a_comp] = 1;
     } else {
         $this->cnt[$a_comp]++;
     }
     $set_dir_relative = $a_comp . "/set_" . $this->cnt[$a_comp];
     $set_dir_absolute = $this->export_run_dir . "/" . $set_dir_relative;
     ilUtil::makeDirParents($set_dir_absolute);
     $exp->init();
     $sv = $exp->determineSchemaVersion($a_entity, $a_target_release);
     // process head dependencies
     $sequence = $exp->getXmlExportHeadDependencies($a_entity, $a_target_release, $a_id);
     foreach ($sequence as $s) {
         $comp = explode("/", $s["component"]);
         $exp_class = "il" . $comp[1] . "Exporter";
         $s = $this->processExporter($s["component"], $exp_class, $s["entity"], $a_target_release, $s["ids"]);
         if (!$s) {
             $success = false;
         }
     }
     // write export.xml file
     $export_writer = new ilXmlWriter();
     $export_writer->xmlHeader();
     $attribs = array("InstallationId" => IL_INST_ID, "InstallationUrl" => ILIAS_HTTP_PATH, "Entity" => $a_entity, "SchemaVersion" => $sv["schema_version"], "TargetRelease" => $a_target_release, "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance", "xmlns:exp" => "http://www.ilias.de/Services/Export/exp/4_1", "xsi:schemaLocation" => "http://www.ilias.de/Services/Export/exp/4_1 " . ILIAS_HTTP_PATH . "/xml/ilias_export_4_1.xsd");
     if ($sv["namespace"] != "" && $sv["xsd_file"] != "") {
         $attribs["xsi:schemaLocation"] .= " " . $sv["namespace"] . " " . ILIAS_HTTP_PATH . "/xml/" . $sv["xsd_file"];
         $attribs["xmlns"] = $sv["namespace"];
     }
     if ($sv["uses_dataset"]) {
         $attribs["xsi:schemaLocation"] .= " " . "http://www.ilias.de/Services/DataSet/ds/4_3 " . ILIAS_HTTP_PATH . "/xml/ilias_ds_4_3.xsd";
         $attribs["xmlns:ds"] = "http://www.ilias.de/Services/DataSet/ds/4_3";
     }
     $export_writer->xmlStartTag('exp:Export', $attribs);
     $dir_cnt = 1;
     foreach ($a_id as $id) {
         $exp->setExportDirectories($set_dir_relative . "/expDir_" . $dir_cnt, $set_dir_absolute . "/expDir_" . $dir_cnt);
         $export_writer->xmlStartTag('exp:ExportItem', array("Id" => $id));
         //$xml = $exp->getXmlRepresentation($a_entity, $a_target_release, $id);
         $xml = $exp->getXmlRepresentation($a_entity, $sv["schema_version"], $id);
         $export_writer->appendXml($xml);
         $export_writer->xmlEndTag('exp:ExportItem');
         $dir_cnt++;
     }
     $export_writer->xmlEndTag('exp:Export');
     $export_writer->xmlDumpFile($set_dir_absolute . "/export.xml", false);
     $this->manifest_writer->xmlElement("ExportFile", array("Component" => $a_comp, "Path" => $set_dir_relative . "/export.xml"));
     // process tail dependencies
     $sequence = $exp->getXmlExportTailDependencies($a_entity, $a_target_release, $a_id);
     foreach ($sequence as $s) {
         $comp = explode("/", $s["component"]);
         $exp_class = "il" . $comp[1] . "Exporter";
         $s = $this->processExporter($s["component"], $exp_class, $s["entity"], $a_target_release, $s["ids"]);
         if (!$s) {
             $success = false;
         }
     }
     return $success;
 }
开发者ID:arlendotcn,项目名称:ilias,代码行数:83,代码来源:class.ilExport.php

示例12: toXML

 /**
  * Returns a QTI xml representation of the question
  *
  * Returns a QTI xml representation of the question and sets the internal
  * domxml variable with the DOM XML representation of the QTI xml representation
  *
  * @return string The QTI xml representation of the question
  * @access public
  */
 function toXML($a_include_header = true, $a_include_binary = true, $a_shuffle = false, $test_output = false, $force_image_references = false)
 {
     global $ilias;
     include_once "./Services/Xml/classes/class.ilXmlWriter.php";
     $a_xml_writer = new ilXmlWriter();
     // set xml header
     $a_xml_writer->xmlHeader();
     $a_xml_writer->xmlStartTag("questestinterop");
     $attrs = array("ident" => "il_" . IL_INST_ID . "_qst_" . $this->object->getId(), "title" => $this->object->getTitle(), "maxattempts" => $this->object->getNrOfTries());
     $a_xml_writer->xmlStartTag("item", $attrs);
     // add question description
     $a_xml_writer->xmlElement("qticomment", NULL, $this->object->getComment());
     // add estimated working time
     $workingtime = $this->object->getEstimatedWorkingTime();
     $duration = sprintf("P0Y0M0DT%dH%dM%dS", $workingtime["h"], $workingtime["m"], $workingtime["s"]);
     $a_xml_writer->xmlElement("duration", NULL, $duration);
     // add ILIAS specific metadata
     $a_xml_writer->xmlStartTag("itemmetadata");
     $a_xml_writer->xmlStartTag("qtimetadata");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "ILIAS_VERSION");
     $a_xml_writer->xmlElement("fieldentry", NULL, $ilias->getSetting("ilias_version"));
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "QUESTIONTYPE");
     $a_xml_writer->xmlElement("fieldentry", NULL, NUMERIC_QUESTION_IDENTIFIER);
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "AUTHOR");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getAuthor());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     // additional content editing information
     $this->addAdditionalContentEditingModeInformation($a_xml_writer);
     $this->addGeneralMetadata($a_xml_writer);
     $a_xml_writer->xmlEndTag("qtimetadata");
     $a_xml_writer->xmlEndTag("itemmetadata");
     // PART I: qti presentation
     $attrs = array("label" => $this->object->getTitle());
     $a_xml_writer->xmlStartTag("presentation", $attrs);
     // add flow to presentation
     $a_xml_writer->xmlStartTag("flow");
     // add material with question text to presentation
     $this->object->addQTIMaterial($a_xml_writer, $this->object->getQuestion());
     // add answers to presentation
     $attrs = array("ident" => "NUM", "rcardinality" => "Single", "numtype" => "Decimal");
     $a_xml_writer->xmlStartTag("response_num", $attrs);
     $solution = $this->object->getSuggestedSolution(0);
     if (count($solution)) {
         if (preg_match("/il_(\\d*?)_(\\w+)_(\\d+)/", $solution["internal_link"], $matches)) {
             $a_xml_writer->xmlStartTag("material");
             $intlink = "il_" . IL_INST_ID . "_" . $matches[2] . "_" . $matches[3];
             if (strcmp($matches[1], "") != 0) {
                 $intlink = $solution["internal_link"];
             }
             $attrs = array("label" => "suggested_solution");
             $a_xml_writer->xmlElement("mattext", $attrs, $intlink);
             $a_xml_writer->xmlEndTag("material");
         }
     }
     // shuffle output
     $attrs = array("fibtype" => "Decimal", "maxchars" => $this->object->getMaxChars());
     $a_xml_writer->xmlStartTag("render_fib", $attrs);
     $a_xml_writer->xmlEndTag("render_fib");
     $a_xml_writer->xmlEndTag("response_num");
     $a_xml_writer->xmlEndTag("flow");
     $a_xml_writer->xmlEndTag("presentation");
     // PART II: qti resprocessing
     $a_xml_writer->xmlStartTag("resprocessing");
     $a_xml_writer->xmlStartTag("outcomes");
     $a_xml_writer->xmlStartTag("decvar");
     $a_xml_writer->xmlEndTag("decvar");
     $a_xml_writer->xmlEndTag("outcomes");
     // add response conditions
     $a_xml_writer->xmlStartTag("respcondition");
     // qti conditionvar
     $a_xml_writer->xmlStartTag("conditionvar");
     $attrs = array("respident" => "NUM");
     $a_xml_writer->xmlElement("vargte", $attrs, $this->object->getLowerLimit());
     $a_xml_writer->xmlElement("varlte", $attrs, $this->object->getUpperLimit());
     $a_xml_writer->xmlEndTag("conditionvar");
     // qti setvar
     $attrs = array("action" => "Add");
     $a_xml_writer->xmlElement("setvar", $attrs, $this->object->getPoints());
     // qti displayfeedback
     $attrs = array("feedbacktype" => "Response", "linkrefid" => "Correct");
     $a_xml_writer->xmlElement("displayfeedback", $attrs);
     $a_xml_writer->xmlEndTag("respcondition");
     $feedback_allcorrect = $this->object->feedbackOBJ->getGenericFeedbackExportPresentation($this->object->getId(), true);
     if (strlen($feedback_allcorrect)) {
         $attrs = array("continue" => "Yes");
         $a_xml_writer->xmlStartTag("respcondition", $attrs);
//.........这里部分代码省略.........
开发者ID:arlendotcn,项目名称:ilias,代码行数:101,代码来源:class.assNumericExport.php

示例13: getXmlRepresentation

 /**
  * Get xml representation
  *
  * @param	string		entity
  * @param	string		schema version
  * @param	string		id
  * @return	string		xml string
  */
 public function getXmlRepresentation($a_entity, $a_schema_version, $a_id)
 {
     $parts = explode(":", $a_id);
     if (sizeof($parts) != 2) {
         return;
     }
     $obj_id = $parts[0];
     $rec_id = $parts[1];
     // any data for current record and object?
     include_once 'Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php';
     $raw = ilAdvancedMDValues::findByObjectId($obj_id);
     if (!$raw) {
         return;
     }
     // gather sub-item data from value entries
     $sub_items = array();
     foreach ($raw as $item) {
         $sub_items[$item["sub_type"]][] = $item["sub_id"];
     }
     // gather all relevant data
     $items = array();
     foreach ($sub_items as $sub_type => $sub_ids) {
         foreach (array_unique($sub_ids) as $sub_id) {
             $values_record = new ilAdvancedMDValues($rec_id, $obj_id, $sub_type, $sub_id);
             $defs = $values_record->getDefinitions();
             $values_record->read();
             foreach ($values_record->getADTGroup()->getElements() as $element_id => $element) {
                 if (!$element->isNull()) {
                     $def = $defs[$element_id];
                     $items[$rec_id][] = array('id' => $def->getImportId(), 'sub_type' => $sub_type, 'sub_id' => $sub_id, 'value' => $def->getValueForXML($element));
                 }
             }
         }
     }
     // we only want non-empty fields
     if (sizeof($items)) {
         $xml = new ilXmlWriter();
         foreach ($items as $record_id => $record_items) {
             // no need to state record id here
             $xml->xmlStartTag('AdvancedMetaData');
             foreach ($record_items as $item) {
                 $xml->xmlElement('Value', array('id' => $item['id'], 'sub_type' => $item['sub_type'], 'sub_id' => $item['sub_id']), $item['value']);
             }
             $xml->xmlEndTag('AdvancedMetaData');
         }
         return $xml->xmlDumpMem(false);
     }
 }
开发者ID:arlendotcn,项目名称:ilias,代码行数:56,代码来源:class.ilAdvancedMetaDataExporter.php

示例14: toXml

 /**
  * Write xml of template action
  * @param ilXmlWriter $writer
  */
 public function toXml(ilXmlWriter $writer)
 {
     $writer->xmlStartTag('localRoleAction');
     $il_id = 'il_' . IL_INST_ID . '_' . ilObject::_lookupType($this->getRoleTemplateId()) . '_' . $this->getRoleTemplateId();
     $writer->xmlStartTag('roleTemplate', array('id' => $il_id));
     include_once './Services/AccessControl/classes/class.ilRoleXmlExport.php';
     $exp = new ilRoleXmlExport();
     $exp->setMode(ilRoleXmlExport::MODE_DTPL);
     $exp->addRole($this->getRoleTemplateId(), ROLE_FOLDER_ID);
     $exp->write();
     $writer->appendXML($exp->xmlDumpMem(FALSE));
     $writer->xmlEndTag('roleTemplate');
     $writer->xmlEndTag('localRoleAction');
 }
开发者ID:Walid-Synakene,项目名称:ilias,代码行数:18,代码来源:class.ilDidacticTemplateLocalRoleAction.php

示例15: toXML

 /**
  * Returns a QTI xml representation of the question
  *
  * Returns a QTI xml representation of the question and sets the internal
  * domxml variable with the DOM XML representation of the QTI xml representation
  *
  * @return string The QTI xml representation of the question
  * @access public
  */
 function toXML($a_include_header = true, $a_include_binary = true, $a_shuffle = false, $test_output = false, $force_image_references = false)
 {
     global $ilias;
     include_once "./Services/Xml/classes/class.ilXmlWriter.php";
     $a_xml_writer = new ilXmlWriter();
     // set xml header
     $a_xml_writer->xmlHeader();
     $a_xml_writer->xmlStartTag("questestinterop");
     $attrs = array("ident" => "il_" . IL_INST_ID . "_qst_" . $this->object->getId(), "title" => $this->object->getTitle(), "maxattempts" => $this->object->getNrOfTries());
     $a_xml_writer->xmlStartTag("item", $attrs);
     // add question description
     $a_xml_writer->xmlElement("qticomment", NULL, $this->object->getComment());
     // add estimated working time
     $workingtime = $this->object->getEstimatedWorkingTime();
     $duration = sprintf("P0Y0M0DT%dH%dM%dS", $workingtime["h"], $workingtime["m"], $workingtime["s"]);
     $a_xml_writer->xmlElement("duration", NULL, $duration);
     // add ILIAS specific metadata
     $a_xml_writer->xmlStartTag("itemmetadata");
     $a_xml_writer->xmlStartTag("qtimetadata");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "ILIAS_VERSION");
     $a_xml_writer->xmlElement("fieldentry", NULL, $ilias->getSetting("ilias_version"));
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "QUESTIONTYPE");
     $a_xml_writer->xmlElement("fieldentry", NULL, SINGLE_CHOICE_QUESTION_IDENTIFIER);
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "AUTHOR");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getAuthor());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     // additional content editing information
     $this->addAdditionalContentEditingModeInformation($a_xml_writer);
     $this->addGeneralMetadata($a_xml_writer);
     $a_xml_writer->xmlStartTag("qtimetadatafield");
     $a_xml_writer->xmlElement("fieldlabel", NULL, "thumb_size");
     $a_xml_writer->xmlElement("fieldentry", NULL, $this->object->getThumbSize());
     $a_xml_writer->xmlEndTag("qtimetadatafield");
     $a_xml_writer->xmlEndTag("qtimetadata");
     $a_xml_writer->xmlEndTag("itemmetadata");
     // PART I: qti presentation
     $attrs = array("label" => $this->object->getTitle());
     $a_xml_writer->xmlStartTag("presentation", $attrs);
     // add flow to presentation
     $a_xml_writer->xmlStartTag("flow");
     // add material with question text to presentation
     $this->object->addQTIMaterial($a_xml_writer, $this->object->getQuestion());
     // add answers to presentation
     $attrs = array();
     $attrs = array("ident" => "MCSR", "rcardinality" => "Single");
     $a_xml_writer->xmlStartTag("response_lid", $attrs);
     $solution = $this->object->getSuggestedSolution(0);
     if (count($solution)) {
         if (preg_match("/il_(\\d*?)_(\\w+)_(\\d+)/", $solution["internal_link"], $matches)) {
             $a_xml_writer->xmlStartTag("material");
             $intlink = "il_" . IL_INST_ID . "_" . $matches[2] . "_" . $matches[3];
             if (strcmp($matches[1], "") != 0) {
                 $intlink = $solution["internal_link"];
             }
             $attrs = array("label" => "suggested_solution");
             $a_xml_writer->xmlElement("mattext", $attrs, $intlink);
             $a_xml_writer->xmlEndTag("material");
         }
     }
     // shuffle output
     $attrs = array();
     if ($this->object->getShuffle()) {
         $attrs = array("shuffle" => "Yes");
     } else {
         $attrs = array("shuffle" => "No");
     }
     $a_xml_writer->xmlStartTag("render_choice", $attrs);
     $answers =& $this->object->getAnswers();
     $akeys = array_keys($answers);
     if ($this->object->getShuffle() && $a_shuffle) {
         $akeys = $this->object->pcArrayShuffle($akeys);
     }
     // add answers
     foreach ($akeys as $index) {
         $answer = $answers[$index];
         $attrs = array("ident" => $index);
         $a_xml_writer->xmlStartTag("response_label", $attrs);
         if (strlen($answer->getImage())) {
             $this->object->addQTIMaterial($a_xml_writer, $answer->getAnswertext(), FALSE, FALSE);
             $imagetype = "image/jpeg";
             if (preg_match("/.*\\.(png|gif)\$/", $answer->getImage(), $matches)) {
                 $imagetype = "image/" . $matches[1];
             }
             if ($force_image_references) {
                 $attrs = array("imagtype" => $imagetype, "label" => $answer->getImage(), "uri" => $this->object->getImagePathWeb() . $answer->getImage());
                 $a_xml_writer->xmlElement("matimage", $attrs);
//.........这里部分代码省略.........
开发者ID:Walid-Synakene,项目名称:ilias,代码行数:101,代码来源:class.assSingleChoiceExport.php


注:本文中的ilXmlWriter::xmlEndTag方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。