240 $children = $iNode->childNodes;
241 for (
$i = 0;
$i < $children->length;
$i++) {
242 $curNode = $children->item(
$i);
243 if ($curNode->nodeType == XML_ELEMENT_NODE) {
244 if ($curNode->localName ==
"controlMode") {
246 $tempVal = $curNode->getAttribute(
"choice");
248 $ioAct->setControlModeChoice(self::convert_to_bool($tempVal));
251 $tempVal = $curNode->getAttribute(
"choiceExit");
253 $ioAct->setControlModeChoiceExit(self::convert_to_bool($tempVal));
257 $tempVal = $curNode->getAttribute(
"flow");
259 $ioAct->setControlModeFlow(self::convert_to_bool($tempVal));
263 $tempVal = $curNode->getAttribute(
"forwardOnly");
265 $ioAct->setControlForwardOnly(self::convert_to_bool($tempVal));
269 $tempVal = $curNode->getAttribute(
"useCurrentAttemptObjectiveInfo");
271 $ioAct->setUseCurObjective(self::convert_to_bool($tempVal));
275 $tempVal = $curNode->getAttribute(
"useCurrentAttemptProgressInfo");
277 $ioAct->setUseCurProgress(self::convert_to_bool($tempVal));
279 } elseif ($curNode->localName ==
"sequencingRules") {
281 } elseif ($curNode->localName ==
"limitConditions") {
283 $tempVal = $curNode->getAttribute(
"attemptLimit");
285 $ioAct->setAttemptLimit($tempVal);
289 $tempVal = $curNode->getAttribute(
"attemptAbsoluteDurationLimit");
291 $ioAct->setAttemptAbDur($tempVal);
295 $tempVal = $curNode->getAttribute(
"attemptExperiencedDurationLimit");
297 $ioAct->setAttemptExDur($tempVal);
301 $tempVal = $curNode->getAttribute(
"activityAbsoluteDurationLimit");
303 $ioAct->setActivityAbDur($tempVal);
307 $tempVal = $curNode->getAttribute(
"activityExperiencedDurationLimit");
309 $ioAct->setActivityExDur($tempVal);
313 $tempVal = $curNode->getAttribute(
"beginTimeLimit");
315 $ioAct->setBeginTimeLimit($tempVal);
319 $tempVal = $curNode->getAttribute(
"endTimeLimit");
321 $ioAct->setEndTimeLimit($tempVal);
323 } elseif ($curNode->localName ==
"auxiliaryResources") {
324 $ioAct = self::getAuxResources($curNode, $ioAct);
325 } elseif ($curNode->localName ==
"rollupRules") {
326 $ioAct = self::getRollupRules($curNode, $ioAct);
327 } elseif ($curNode->localName ==
"objectives" && $curNode->namespaceURI ==
"http://www.imsglobal.org/xsd/imsss") {
328 $ioAct = self::getObjectives($curNode, $ioAct);
329 } elseif ($curNode->localName ==
"objectives" && $curNode->namespaceURI ==
"http://www.adlnet.org/xsd/adlseq_v1p3") {
330 $ioAct = self::getADLSEQObjectives($curNode, $ioAct);
331 } elseif ($curNode->localName ==
"randomizationControls") {
334 $tempVal = $curNode->getAttribute(
"randomizationTiming");
336 $ioAct->setRandomTiming($tempVal);
340 $tempVal = $curNode->getAttribute(
"selectCount");
342 $ioAct->setSelectCount($tempVal);
346 $tempVal = $curNode->getAttribute(
"reorderChildren");
348 $ioAct->setReorderChildren(self::convert_to_bool($tempVal));
352 $tempVal = $curNode->getAttribute(
"selectionTiming");
354 $ioAct->setSelectionTiming($tempVal);
356 } elseif ($curNode->localName ==
"deliveryControls") {
359 $tempVal = $curNode->getAttribute(
"tracked");
361 $ioAct->setIsTracked(self::convert_to_bool($tempVal));
365 $tempVal = $curNode->getAttribute(
"completionSetByContent");
367 $ioAct->setSetCompletion(self::convert_to_bool($tempVal));
371 $tempVal = $curNode->getAttribute(
"objectiveSetByContent");
373 $ioAct->setSetObjective(self::convert_to_bool($tempVal));
375 } elseif ($curNode->localName ==
"constrainedChoiceConsiderations") {
378 $tempVal = $curNode->getAttribute(
"preventActivation");
380 $ioAct->setPreventActivation(self::convert_to_bool($tempVal));
384 $tempVal = $curNode->getAttribute(
"constrainChoice");
386 $ioAct->setConstrainChoice(self::convert_to_bool($tempVal));
388 } elseif ($curNode->localName ==
"rollupConsiderations") {
391 $tempVal = $curNode->getAttribute(
"requiredForSatisfied");
393 $ioAct->setRequiredForSatisfied($tempVal);
397 $tempVal = $curNode->getAttribute(
"requiredForNotSatisfied");
399 $ioAct->setRequiredForNotSatisfied($tempVal);
403 $tempVal = $curNode->getAttribute(
"requiredForCompleted");
405 $ioAct->setRequiredForCompleted($tempVal);
409 $tempVal = $curNode->getAttribute(
"requiredForIncomplete");
411 $ioAct->setRequiredForIncomplete($tempVal);
415 $tempVal = $curNode->getAttribute(
"measureSatisfactionIfActive");
417 $ioAct->setSatisfactionIfActive(self::convert_to_bool($tempVal));
static getSequencingRules($iNode, $ioAct)