Diff for /loncom/homework/cleanxml/post_xml.pm between versions 1.11 and 1.12

version 1.11, 2016/11/10 21:53:56 version 1.12, 2017/01/17 20:29:06
Line 430  sub replace_m { Line 430  sub replace_m {
     my $var_key1 = 'dfhg3df54hg65hg4';      my $var_key1 = 'dfhg3df54hg65hg4';
     my $var_key2 = 'dfhg654d6f5g4h5f';      my $var_key2 = 'dfhg654d6f5g4h5f';
     my $eval = defined $m->getAttribute('eval') && $m->getAttribute('eval') eq 'on';      my $eval = defined $m->getAttribute('eval') && $m->getAttribute('eval') eq 'on';
       my $display = $m->getAttribute('display');
       if (defined $display) {
           if ($display eq '') {
               $display = undef;
           }
           if (lc($display) eq 'jsmath') {
               $display = 'mathjax';
           }
       }
     if ($eval) {      if ($eval) {
       # replace variables        # replace variables
       foreach my $variable (@variables) {        foreach my $variable (@variables) {
Line 467  sub replace_m { Line 476  sub replace_m {
       if ($eval) {        if ($eval) {
         $new_node->setAttribute('eval', 'on');          $new_node->setAttribute('eval', 'on');
       }        }
         if (defined $display) {
           $new_node->setAttribute('display', $display);
         }
       $new_node->appendChild($doc->createTextNode($new_text));        $new_node->appendChild($doc->createTextNode($new_text));
       $m->parentNode->replaceChild($new_node, $m);        $m->parentNode->replaceChild($new_node, $m);
       next;        next;
Line 497  sub replace_m { Line 509  sub replace_m {
     # there are math separators inside, even after hiding variables, or there was no math symbol      # there are math separators inside, even after hiding variables, or there was no math symbol
           
     # hide math parts inside before running tth      # hide math parts inside before running tth
     my $math_key1 = '#ghjgdh5hg45gf';      my $math_key1 = '#5752398247516385';
     my $math_key2 = '#';      my $math_key2 = '#';
     my @maths = ();      my @maths = ();
     my @separators = (['$$','$$'], ['\\(','\\)'], ['\\[','\\]'], ['$','$']);      my @separators = (['$$','$$'], ['\\(','\\)'], ['\\[','\\]'], ['$','$']);
Line 528  sub replace_m { Line 540  sub replace_m {
       $math =~ s/&/&/g;        $math =~ s/&/&/g;
       $math =~ s/</&lt;/g;        $math =~ s/</&lt;/g;
       $math =~ s/>/&gt;/g;        $math =~ s/>/&gt;/g;
         my ($mel, $inside);
       if ($math =~ /^\$\$(.*)\$\$$/s) {        if ($math =~ /^\$\$(.*)\$\$$/s) {
         $math = '<dtm>'.$1.'</dtm>';          $mel = 'dtm';
           $inside = $1;
       } elsif ($math =~ /^\\\[(.*)\\\]$/s) {        } elsif ($math =~ /^\\\[(.*)\\\]$/s) {
         $math = '<dtm>'.$1.'</dtm>';          $mel = 'dtm';
           $inside = $1;
       } elsif ($math =~ /^\\\((.*)\\\)$/s) {        } elsif ($math =~ /^\\\((.*)\\\)$/s) {
         $math = '<tm>'.$1.'</tm>';          $mel = 'tm';
           $inside = $1;
       } elsif ($math =~ /^\$(.*)\$$/s) {        } elsif ($math =~ /^\$(.*)\$$/s) {
         $math = '<tm>'.$1.'</tm>';          $mel = 'tm';
           $inside = $1;
         }
         if (defined $inside) {
           if ($inside =~ /^\s*$/) {
             $math = '';
           } else {
             $math = '<'.$mel;
             if ($eval && $inside =~ /$var_key1/) {
               $math .= ' eval="on"';
             }
             $math .= '>'.$inside.'</'.$mel.'>';
           }
       }        }
       my $replace = $math_key1.($i+1).$math_key2;        my $replace = $math_key1.($i+1).$math_key2;
       $html_text =~ s/$replace/$math/;        $html_text =~ s/$replace/$math/;

Removed from v.1.11  
changed lines
  Added in v.1.12


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