Diff for /loncom/imspackages/imsprocessor.pm between versions 1.28 and 1.29

version 1.28, 2005/10/12 22:54:20 version 1.29, 2005/10/14 22:28:56
Line 1832  sub parse_bb6_assessment { Line 1832  sub parse_bb6_assessment {
     my @state = ();      my @state = ();
     my $id; # the current question ID      my $id; # the current question ID
     my $list; # the current list ID for multiple choice questions      my $list; # the current list ID for multiple choice questions
       my $response; # the current response ID
     my $currtexttype;      my $currtexttype;
     my $curr_outer_block;      my @curr_block = ();
     my $curr_inner_block;  
     my $curr_shuffle;      my $curr_shuffle;
     my $curr_class;      my $curr_class;
       my $curr_matchitem;
       my $curr_block_type;
     my $curr_feedback_type;      my $curr_feedback_type;
     my $p = HTML::Parser->new      my $p = HTML::Parser->new
     (      (
Line 1848  sub parse_bb6_assessment { Line 1850  sub parse_bb6_assessment {
         if ("@state" eq "questestinterop assessment") {          if ("@state" eq "questestinterop assessment") {
             $$settings{title} = $attr->{title};              $$settings{title} = $attr->{title};
         }          }
           if ("@state" eq "questestinterop assessment rubric flow_mat material mat_extension mat_formattedtext") {
               $currtexttype = $attr->{type};
           }
           if ("@state" eq "questestinterop section item presentation flow") {
               $curr_block[0] = $attr->{class};
               if ($curr_block[0] eq 'RESPONSE_BLOCK') {
                   $curr_block_type = 'response';
               } elsif ($curr_block[0] eq 'RIGHT_MATCH_BLOCK') {
                   $curr_block_type = 'rightmatch';
               } 
           }
         if ("@state" eq "questestinterop section item presentation flow flow") {          if ("@state" eq "questestinterop section item presentation flow flow") {
             $curr_outer_block = $attr->{class};              $curr_block[1] = $attr->{class};
               if ($curr_block[1] eq 'QUESTION_BLOCK') {
                   $curr_block_type = 'question';
               }
         }          }
         if ("@state" eq "questestinterop section item presentation flow flow flow") {          if ("@state" eq "questestinterop section item presentation flow flow flow") {
             $curr_inner_block = $attr->{class};              $curr_block[2] = $attr->{class};
         }          }
         if ("@state" eq "questestinterop section item presentation flow flow flow material mat_extension mat_formatted_text") {          if ("@state" eq "questestinterop section item presentation flow flow flow material mat_extension mat_formatted_text") {
             $$settings{$id}{texttype} = $attr->{texttype};              $$settings{$id}{$curr_block_type}{texttype} = $attr->{texttype};
             $currtexttype = $attr->{texttype};              $currtexttype = $attr->{texttype};
             $curr_inner_block = $attr->{class};  
         }          }
         if ("@state" eq "questestinterop section item presentation flow flow flow material matapplication") {          if ("@state" eq "questestinterop section item presentation flow flow flow material matapplication") {
             $$settings{$id}{image} = $attr->{uri};              $$settings{$id}{$curr_block_type}{image} = $attr->{uri};
             $$settings{$id}{style} = $attr->{embedded};              $$settings{$id}{$curr_block_type}{style} = $attr->{embedded};
             $$settings{$id}{label} = $attr->{label};              $$settings{$id}{$curr_block_type}{label} = $attr->{label};
         }          }
         if ("@state" eq "questestinterop section item presentation flow flow flow material mattext") {          if ("@state" eq "questestinterop section item presentation flow flow flow material mattext") {
             $$settings{$id}{link} = $attr->{uri};              $$settings{$id}{$curr_block_type}{link} = $attr->{uri};
         }          }
         if ("@state" eq "questestinterop section item presentation flow response_lid render_choice") {          if ("@state" eq "questestinterop section item presentation flow response_lid render_choice") {
             $curr_shuffle = $attr->{shuffle};              $curr_shuffle = $attr->{shuffle};
         }          }
         if ("@state" eq "questestinterop section item presentation flow flow flow response_lid render_choice flow response_label") {          if ("@state" eq "questestinterop section item presentation flow response_lid") {            $response = $attr->{ident};
             if ($$settings{$id}{class} eq 'Multiple Choice') {              if ($curr_class eq 'Matching') {
                 $curr_class = 'Multiple Choice';                    %{$$settings{$id}{$response}} = ();
                   foreach my $key (keys(%{$$settings{$id}{$curr_block_type}})) {
                       $$settings{$id}{$response}{$key} = $$settings{$id}{$curr_block_type}{$key};
                   }
                   %{$$settings{$id}{$curr_block_type}} = ();
               }
           }
           if ("@state" eq "questestinterop section item presentation flow response_lid render_choice flow response_label") {
               if (($curr_class eq 'Multiple Choice') || ($curr_class eq 'Multiple Answer') || ($curr_class eq 'Order')) {
                 $list = $attr->{ident};                  $list = $attr->{ident};
                 push(@{$$settings{$id}{lists}},$list);                  push(@{$$settings{$id}{lists}},$list);
                 $$settings{$id}{$list}{randomize} = $curr_shuffle;                  $$settings{$id}{$list}{randomize} = $curr_shuffle;
                 %{$$settings{$id}{$list}} = ();                  %{$$settings{$id}{$list}} = ();
                 @{$$allanswers{$id}{$list}} = ();                  @{$$allanswers{$id}{$list}} = ();
                 @{$$settings{$id}{$list}{correctanswer}} = ();                  @{$$settings{$id}{$list}{correctanswer}} = ();
               } elsif ($curr_class eq 'Matching') {
                   push(@{$$settings{$id}{$response}{items}},$list);
               }
           }
           if ("@state" eq "questestinterop section item presentation flow response_lid render_choice flow response_label flow_mat material matapplication") {
               $$settings{$id}{$list}{filetype} = $attr->{embedded};
               $$settings{$id}{$list}{label} = $attr->{label};
               $$settings{$id}{$list}{uri} = $attr->{uri};
           }
           if ("@state" eq "questestinterop section item presentation flow response_lid render_choice flow response_label flow_mat material mattext") {
               $$settings{$id}{$list}{link} = $attr->{uri};
           }
           if ("@state" eq "questestinterop section item resprocessing respcondition conditionvar varequal") {
               if ($curr_class eq 'Matching') { 
                   $curr_matchitem = $attr->{respident};
             }              }
         }          }
         if ("@state" eq "questestinterop section item itemfeedback") {          if ("@state" eq "questestinterop section item itemfeedback") {
Line 1908  sub parse_bb6_assessment { Line 1946  sub parse_bb6_assessment {
             push @{$allids}, $id;              push @{$allids}, $id;
             %{$$settings{$id}} = ();              %{$$settings{$id}} = ();
             @{$$settings{$id}{lists}} = ();              @{$$settings{$id}{lists}} = ();
               %{$$settings{$id}{question}} = ();
             %{$$settings{$id}{correctfeedback}} = ();              %{$$settings{$id}{correctfeedback}} = ();
             %{$$settings{$id}{incorrectfeedback}} = ();              %{$$settings{$id}{incorrectfeedback}} = ();
               %{$$settings{$id}{solutionfeedback}} = ();
               %{$$settings{$id}{question}} = ();
               %{$$settings{$id}{response}} = ();
         }          }
         if ("@state" eq "questestinterop assessment section item itemmetadata bbmd_questiontype") {          if ("@state" eq "questestinterop assessment section item itemmetadata bbmd_questiontype") {
             $$settings{$id}{class} = $text;              $$settings{$id}{class} = $text;
               $curr_class = $text;
         }          }
         if ("@state" eq "questestinterop assessment section item presentation flow flow flow material mat_extension mat_formatted_text") {          if ("@state" eq "questestinterop assessment section item presentation flow flow flow material mat_extension mat_formatted_text") {
             $$settings{$id}{text} = $text;              $$settings{$id}{$curr_block_type}{text} = $text;
         }          }
         if ("@state" eq "questestinterop section item presentation flow flow flow material mattext") {          if ("@state" eq "questestinterop section item presentation flow flow flow material mattext") {
             $$settings{$id}{linktext} = $text;              $$settings{$id}{$curr_block_type}{linktext} = $text;
         }          }
         if ("@state" eq "questestinterop section item presentation flow flow flow response_lid render_choice flow response_label flow_mat material mat_extension mat_formatted_text") {          if ("@state" eq "questestinterop section item presentation flow response_lid render_choice flow response_label flow_mat material mat_extension mat_formatted_text") {
             $$settings{$id}{$list}{text} = $text;              $$settings{$id}{$list}{text} = $text;
         }          }
           if ("@state" eq "questestinterop section item presentation flow response_lid render_choice flow response_label flow_mat material mattext") {
               $$settings{$id}{$list}{linktext} = $text;
           }
         if ("@state" eq "questestinterop section item resprocessing respcondition conditionvar varequal") {          if ("@state" eq "questestinterop section item resprocessing respcondition conditionvar varequal") {
             if ($curr_class eq 'Multiple Choice') {              if ($curr_class eq 'Multiple Choice') {
                 $$settings{$id}{$list}{correctanswer} = $text;                  $$settings{$id}{$list}{correctanswer}[0] = $text;
               } elsif ($curr_class eq 'True/False') {
                   $$settings{$id}{correctanswer} = $text;
               } elsif ($curr_class eq 'Matching') {
                   $$settings{$id}{$curr_matchitem}{correctanswer} = $text;
               } elsif ($curr_class eq 'Fill in the Blank') {
                   push(@{$$settings{$id}{$list}{correctanswer}},$text);
             }              }
         }          }
           if ("@state" eq "questestinterop section item resprocessing respcondition conditionvar and varequal") {
               push(@{$$settings{$id}{$list}{correctanswer}},$text);
           }
         if ("@state" eq "questestinterop section item itemfeedback flow_mat flow_mat material mat_extension mat_formattedtext") {          if ("@state" eq "questestinterop section item itemfeedback flow_mat flow_mat material mat_extension mat_formattedtext") {
             $$settings{$id}{$curr_feedback_type.'feedback'}{text} = $text;              $$settings{$id}{$curr_feedback_type.'feedback'}{text} = $text;
         }          }

Removed from v.1.28  
changed lines
  Added in v.1.29


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>