Diff for /loncom/xml/londefdef.pm between versions 1.6 and 1.17

version 1.6, 2000/10/26 14:01:40 version 1.17, 2001/01/12 20:39:49
Line 2 Line 2
 # Tags Default Definition Module   # Tags Default Definition Module 
 #  #
 # last modified 06/26/00 by Alexander Sakharuk  # last modified 06/26/00 by Alexander Sakharuk
   # 11/6,11/30 Gerd Kortemeyer
   
 package Apache::londefdef;   package Apache::londefdef; 
   
Line 9  use strict; Line 10  use strict;
 use Apache::lonxml;  use Apache::lonxml;
   
 sub BEGIN {  sub BEGIN {
     &Apache::lonxml::register('Apache::londefdef',('m','html','head','map','applet','select','option','input','textarea','form','meta','title','body','center','b','strong','table','dt','h1','h2','h3','h4','h5','h6','cite','i','address','dd','dl','dir','ol','ul','menu','dfn','kbd','tt','code','em','q','p','br','big','small','basefont','font','s','sub','strike','sup','hr','a','li','u'));  
       &Apache::lonxml::register('Apache::londefdef',('m','html','head','map','applet','select','option','input','textarea','form','meta','title','body','center','b','strong','table','dt','h1','h2','h3','h4','h5','h6','cite','i','address','dd','dl','dir','ol','ul','menu','dfn','kbd','tt','code','em','q','p','br','big','small','basefont','font','s','sub','strike','sup','hr','a','li','u','output','param','applet','img','embed','tr','td'));
   
 }  }
   
 #===================================================================== TAG SUBROUTINES  #===================================================================== TAG SUBROUTINES
   #-- <output>
           sub start_output {
        my ($target,$token) = @_;
               $Apache::lonxml::textredirection = 1; 
               my $result = '';
               return $result;
    }
           sub end_output {
        my ($target,$token) = @_;
               $Apache::lonxml::textredirection = 0;             
               my $result = '';
               return $result;
    }
 #-- <m> tag  #-- <m> tag
         sub start_m {          sub start_m {
     my ($target,$token,$parstack,$parser) = @_;      my ($target,$token,$parstack,$parser) = @_;
             my $currentstring = '';              my $currentstring = '';
             if ($target eq 'meta') {  
               my $inside = &Apache::lonxml::get_all_text("/m",$$parser[$#$parser]);   
       $currentstring ='';  
     }  
             if ($target eq 'web') {              if ($target eq 'web') {
  my $inside = &Apache::lonxml::get_all_text("/m",$$parser[$#$parser]);    my $inside = &Apache::lonxml::get_all_text("/m",$$parser[$#$parser]); 
                 $inside ='\\documentstyle{article}'.$inside;                  $inside ='\\documentstyle{article}'.$inside;
Line 29  sub BEGIN { Line 41  sub BEGIN {
 #          &Apache::lonxml::debug($currentstring);  #          &Apache::lonxml::debug($currentstring);
   
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
               $currentstring = "\$";                $currentstring = "";
             }              }
    return $currentstring;     return $currentstring;
  }   }
Line 38  sub BEGIN { Line 50  sub BEGIN {
             my $currentstring = '';              my $currentstring = '';
             if ($target eq 'web') {              if ($target eq 'web') {
             } elsif ($target eq 'tex') {              } elsif ($target eq 'tex') {
               $currentstring = "\$";                $currentstring = "";
     } elsif ($target eq 'meta') {      } elsif ($target eq 'meta') {
             }              }
    return $currentstring;     return $currentstring;
Line 203  sub BEGIN { Line 215  sub BEGIN {
             if ($target eq 'web') {              if ($target eq 'web') {
               $currentstring = $token->[4];                     $currentstring = $token->[4];     
     }      }
               if ($target eq 'meta') {
    $currentstring='<title>';
                   &start_output();
               }
    return $currentstring;     return $currentstring;
  }   }
         sub end_title {          sub end_title {
Line 210  sub BEGIN { Line 226  sub BEGIN {
             my $currentstring = '';              my $currentstring = '';
             if ($target eq 'web') {              if ($target eq 'web') {
               $currentstring = $token->[2];                    $currentstring = $token->[2];    
               }
               if ($target eq 'meta') {
                  &end_output();
                  $currentstring='</title>';
             }               } 
    return $currentstring;     return $currentstring;
  }   }
Line 220  sub BEGIN { Line 240  sub BEGIN {
             if ($target eq 'web') {              if ($target eq 'web') {
               $currentstring = $token->[4];                     $currentstring = $token->[4];     
     }      }
               if ($target eq 'meta') {
    unless ($token->[2]->{'http-equiv'}) {
       my $name=$token->[2]->{'name'};
                       $name=~tr/A-Z/a-z/;
                       $name=~s/\s/\_/g;
                       if ($name) {
                          $currentstring='<'.$name.'>'.
                                            $token->[2]->{'content'}.
                 '</'.$name.'>';
       }
                   }
       }
    return $currentstring;     return $currentstring;
  }   }
         sub end_meta {          sub end_meta {
Line 323  sub BEGIN { Line 355  sub BEGIN {
        $currentstring .= $token->[4];         $currentstring .= $token->[4];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  $currentstring .= "\\chapter{ ";   $currentstring .= "\\chapter{ ";
     }       } elsif ($target eq 'meta') {
    $currentstring='<subject>';
                   &start_output();
               }
            return $currentstring;             return $currentstring;
  }   }
         sub end_h1 {          sub end_h1 {
Line 333  sub BEGIN { Line 368  sub BEGIN {
        $currentstring .= $token->[2];         $currentstring .= $token->[2];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  $currentstring .= "}";   $currentstring .= "}";
     }       } elsif ($target eq 'meta') {
                   &end_output();
    $currentstring='</subject>';
               } 
            return $currentstring;             return $currentstring;
  }   }
 #---------------------------------------------------------------------------- <h2> tag  #---------------------------------------------------------------------------- <h2> tag
Line 595  sub BEGIN { Line 633  sub BEGIN {
             if ($target eq 'web') {              if ($target eq 'web') {
        $currentstring .= $token->[4];         $currentstring .= $token->[4];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  $currentstring .= "{ \\emph ";   $currentstring .= "\\emph{";
     }       } 
            return $currentstring;             return $currentstring;
  }   }
Line 714  sub BEGIN { Line 752  sub BEGIN {
  }   }
 #---------------------------------------------------------------------- <basefont> tag  #---------------------------------------------------------------------- <basefont> tag
       sub start_basefont {        sub start_basefont {
     my ($target,$token) = @_;   my ($target,$token) = @_;
             my $currentstring = '';   my $currentstring = '';
             if ($target eq 'web') {   if ($target eq 'web') {
               $currentstring = $token->[4];         $currentstring = $token->[4];     
     }    } 
    return $currentstring;   return $currentstring;
  }        }
         sub end_basefont {
    my ($target,$token) = @_;
    my $currentstring = '';
    if ($target eq 'web') {
     $currentstring = $token->[4];     
    } 
    return $currentstring;
         }
 #-------------------------------------------------------------------------- <font> tag  #-------------------------------------------------------------------------- <font> tag
          sub start_font {           sub start_font {
     my ($target,$token) = @_;      my ($target,$token) = @_;
Line 861  sub BEGIN { Line 907  sub BEGIN {
                 my  $tempor_var = $stackref->[$#$stackref];                  my  $tempor_var = $stackref->[$#$stackref];
  if (index($tempor_var,'name') != -1 ) {   if (index($tempor_var,'name') != -1 ) {
     $tempor_var =~ s/name=([^,]*),/$1/g;      $tempor_var =~ s/name=([^,]*),/$1/g;
         $currentstring .= " \\label{$tempor_var}";  #        $currentstring .= " \\label{$tempor_var}";
         } elsif (index($tempor_var,'href') != -1 ) {          } elsif (index($tempor_var,'href') != -1 ) {
     $tempor_var =~ s/href=([^,]*),/$1/g;      $tempor_var =~ s/href=([^,]*),/$1/g;
         $currentstring .= " \\ref{$tempor_var}";          $currentstring .= " \\ref{$tempor_var}";
Line 876  sub BEGIN { Line 922  sub BEGIN {
             if ($target eq 'web') {              if ($target eq 'web') {
               $currentstring = $token->[4];                     $currentstring = $token->[4];     
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
                 my  $tempor_var = $stackref->[$#$stackref-1];                  my  $tempor_var = $stackref->[$#$stackref];
                 if (index($tempor_var,'circle') != -1 ) {                  if (index($tempor_var,'circle') != -1 ) {
           $currentstring .= " \\item[o] ";            $currentstring .= " \\item[o] ";
         } elsif (index($tempor_var,'square') != -1 ) {          } elsif (index($tempor_var,'square') != -1 ) {
                $currentstring .= " \\item[$\Box$] ";                 $currentstring .= " \\item[$\Box$] ";
         } else {          } elsif ($tempor_var ne '') { 
          $_ = $tempor_var;
                          m/my\s*([^=]*)=/;
          $currentstring .= " \\item[$1] ";
    } else {
     $currentstring .= " \\item ";      $currentstring .= " \\item ";
         }            }  
     }       } 
Line 1066  sub BEGIN { Line 1116  sub BEGIN {
             if ($target eq 'web') {              if ($target eq 'web') {
               $currentstring = $token->[4];                     $currentstring = $token->[4];     
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
               $currentstring = " \\begin{tabular} ";                  $currentstring = "";  
     }       } 
    return $currentstring;     return $currentstring;
  }   }
Line 1076  sub BEGIN { Line 1126  sub BEGIN {
             if ($target eq 'web') {              if ($target eq 'web') {
               $currentstring = $token->[2];                     $currentstring = $token->[2];     
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
               $currentstring = " \\end{tabular}";                  $currentstring = "";  
       } 
      return $currentstring;
    }
   #------------------------------------------------------------------------- <tr> tag
           sub start_tr {
       my ($target,$token) = @_;
               my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[4];     
       } elsif ($target eq 'tex') {
         $currentstring = '';
       } 
      return $currentstring;
    }
           sub end_tr {
       my ($target,$token) = @_;
               my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[2];     
       } elsif ($target eq 'tex') {
                 $currentstring = "";  
       } 
      return $currentstring;
    }
   #------------------------------------------------------------------------- <td> tag
           sub start_td {
       my ($target,$token) = @_;
               my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[4];     
       } elsif ($target eq 'tex') {
         $currentstring = '';
       } 
      return $currentstring;
    }
           sub end_td {
       my ($target,$token) = @_;
               my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[2];     
       } elsif ($target eq 'tex') {
                 $currentstring = "";  
       } 
      return $currentstring;
    }
   # -------------------------------------------------------------------------- <img> tag
   
           sub start_img {
       my ($target,$token) = @_;
               $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
                                           $token->[2]->{'src'};
               my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[4];     
       } elsif ($target eq 'tex') {
                 $currentstring = " \\begin{figure} ";  
       } 
      return $currentstring;
    }
           sub end_img {
       my ($target,$token) = @_;
               my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[2];     
       } elsif ($target eq 'tex') {
                 $currentstring = " \\end{figure}";  
       } 
      return $currentstring;
    }
   # ----------------------------------------------------------------------- <applet> tag
   
           sub start_applet {
       my ($target,$token) = @_;
                 $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
                                           $token->[2]->{'code'};
                 $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
                                           $token->[2]->{'archive'};
               my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[4];     
       } elsif ($target eq 'tex') {
                 $currentstring = " \\begin{figure} ";  
       } 
      return $currentstring;
    }
           sub end_applet {
       my ($target,$token) = @_;
               my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[2];     
       } elsif ($target eq 'tex') {
                 $currentstring = " \\end{figure}";  
       } 
      return $currentstring;
    }
   
   # ------------------------------------------------------------------------ <embed> tag
   
           sub start_embed {
       my ($target,$token) = @_;
               $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
                                           $token->[2]->{'src'};
              my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[4];     
       } elsif ($target eq 'tex') {
                 $currentstring = " \\begin{figure} ";  
     }       } 
    return $currentstring;     return $currentstring;
  }   }
           sub end_embed {
       my ($target,$token) = @_;
               my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[2];     
       } elsif ($target eq 'tex') {
                 $currentstring = " \\end{figure}";  
       } 
      return $currentstring;
    }
   
   # ------------------------------------------------------------------------ <param> tag
   
           sub start_param {
       my ($target,$token) = @_;
       if ($token->[2]->{'name'} eq 'cabbase') {
                         $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=
        $token->[2]->{'value'};
               }   
               $Apache::lonxml::extlinks[$Apache::lonxml::extlinks+1]=   
                                           $token->[2]->{'src'};
               my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[4];     
       } elsif ($target eq 'tex') {
                 $currentstring = " \\begin{figure} ";  
       } 
      return $currentstring;
    }
           sub end_param {
       my ($target,$token) = @_;
               my $currentstring = '';
               if ($target eq 'web') {
                 $currentstring = $token->[2];     
       } elsif ($target eq 'tex') {
                 $currentstring = " \\end{figure}";  
       } 
      return $currentstring;
    }
   
   # ------------------------------------------------------------------------ <allow> tag
   
           sub start_allow {
       my ($target,$token) = @_;
   
               $Apache::lonxml::extlinks[$Apache::lonxml::extlinks+1]=   
                                           $token->[2]->{'src'};
   
      return '';
    }
           sub end_allow {
      return '';
    }
   
   
 1;  1;
 __END__  __END__

Removed from v.1.6  
changed lines
  Added in v.1.17


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